From aff1bb88f56c9090cb9bcf2982e681019734531c Mon Sep 17 00:00:00 2001 From: nora Date: Mon, 30 Apr 2007 14:48:38 +0000 Subject: Autohotkey: Deadkeys sollten funktionieren git-svn-id: https://svn.neo-layout.org@83 b9310e46-f624-0410-8ea1-cfbb3a30dc96 --- windows/XP/autohotkey/neo20-remap.ahk | 7 +- windows/XP/autohotkey/neo20.ahk | 703 +++++++++++++++++++++++++++++----- 2 files changed, 613 insertions(+), 97 deletions(-) diff --git a/windows/XP/autohotkey/neo20-remap.ahk b/windows/XP/autohotkey/neo20-remap.ahk index 104e192..c702285 100644 --- a/windows/XP/autohotkey/neo20-remap.ahk +++ b/windows/XP/autohotkey/neo20-remap.ahk @@ -1,13 +1,14 @@ /* Umbelegung von AltGr auf CapsLock und #, dafr Mod5 auf AltGr und < + Version vom 30.04.2007 */ ;#InstallKeybdHook #usehook on #singleinstance force -;SendMode InputThenPlay - geht nicht +SendMode Input ;ThenPlay - geht nicht name = NEO-Remap enable = Aktiviere %name% @@ -99,7 +100,9 @@ Send {Control Up} return -;----------------------------------------------- + +; Funktionen des Systray-Mens +; ---------------------------- toggleneo: if state <> diff --git a/windows/XP/autohotkey/neo20.ahk b/windows/XP/autohotkey/neo20.ahk index 4c071f7..987670f 100644 --- a/windows/XP/autohotkey/neo20.ahk +++ b/windows/XP/autohotkey/neo20.ahk @@ -1,6 +1,6 @@ /* NEO-Layout - nach NoAdmin-Svorak von Simon Griph, 2004 + Version vom 30.04.2007 3./4. Ebene funktioniert ber AltGr, 5./6. Ebene ber Win+Ctrl Zur Umbelegung auf CapsLock und AltGr @@ -11,7 +11,8 @@ #usehook on #singleinstance force #LTrim - ; Quelltext kann eingerckt werden, msgbox ist trotzdem linksbndig + ; Quelltext kann eingerckt werden, + ; msgbox ist trotzdem linksbndig SendMode InputThenPlay @@ -77,7 +78,7 @@ menu, tray, tip, %name% ;1. Ebene ;--------- -SC029::send {^} ;tot +^::send {^} ; circumflex, tot 1::send 1 2::send 2 3::send 3 @@ -89,32 +90,268 @@ SC029::send {^} ;tot 9::send 9 0::send 0 ::send - -SC00D::send {} ;tot +::send {} ; akut, tot q::send x w::send v -e::send l -r::send c + +e:: + If A_PriorHotkey = #^+ ; durchgestrichen + { + Send {bs} + MyUTF_String = ł + Gosub Unicode + } + Else send l +Return + +r:: + If A_PriorHotkey = ^ ; circumflex + { + Send {bs} + MyUTF_String = ĉ + Gosub Unicode + } + Else If A_PriorHotkey = +^ ; caron + { + Send {bs} + MyUTF_String = č + Gosub Unicode + } + Else If A_PriorHotkey = ; akut + { + Send {bs} + MyUTF_String = ć + Gosub Unicode + } + Else If A_PriorHotkey = <^>! ; cedilla + { + Send {bs} + MyUTF_String = ç + Gosub Unicode + } + Else + Send c +Return + t::send w z::send k -u::send h -i::send g -o::send f +u:: + If A_PriorHotkey = ^ ; circumflex + { + Send {bs} + MyUTF_String = ĥ + Gosub Unicode + } + Else send h +Return + +i:: + If A_PriorHotkey = ^ ; circumflex + { + Send {bs} + MyUTF_String = ĝ + Gosub Unicode + } + Else send g +Return + +o:: + If A_PriorHotkey = #^+ ; durchgestrichen + { + Send {bs} + MyUTF_String = ƒ + Gosub Unicode + } + Else send f +Return + p::send q ::send -SC01B::send {~} ;soll tot, ist aber nicht -> extra definieren? - -a::send u -s::send i -d::send a -f::send e -g::send o -h::send s -j::send n ++::send ~ ; tilde, soll tot + +a:: + If A_PriorHotkey = <^>!+ ; Diaerese + Send, {bs} + Else If A_PriorHotkey = <^>!++ ; doppelakut + { + Send {bs} + MyUTF_String = ű + Gosub Unicode + } +; Else If A_PriorHotkey = +^ ; caron +; { +; Send {bs} +; MyUTF_String = +; Gosub Unicode +; } + Else If A_PriorHotkey = <^>!^ ; brevis + { + Send {bs} + MyUTF_String = ŭ + Gosub Unicode + } + Else If A_PriorHotkey = ++ ; macron + { + Send {bs} + MyUTF_String = ū + Gosub Unicode + } + Else + send u +Return + +s:: + If A_PriorHotkey = <^>!+ ; Diaerese + Send, {bs} + Else If A_PriorHotkey = ++ ; macron + { + Send {bs} + MyUTF_String = ī + Gosub Unicode + } + Else + Send i +Return + +d:: + If A_PriorHotkey = <^>!+ ; Diaerese + Send {bs} + Else If A_PriorHotkey = #^+ ; Ring drauf + Send {bs} + Else If A_PriorHotkey = + ; tilde + { + Send {bs} + MyUTF_String = ã + Gosub Unicode + } + Else If A_PriorHotkey = <^>!+ ; ogonek + { + Send {bs} + MyUTF_String = ą + Gosub Unicode + } + Else If A_PriorHotkey = ++ ; macron + { + Send {bs} + MyUTF_String = ā + Gosub Unicode + } + Else + Send a +Return + +f:: + If A_PriorHotkey = <^>!+ ; Diaerese + Send, {bs} + Else If A_PriorHotkey = <^>!+ ; ogonek + { + Send {bs} + MyUTF_String = ę + Gosub Unicode + } + Else If A_PriorHotkey = ++ ; macron + { + Send {bs} + MyUTF_String = ē + Gosub Unicode + } + Else + Send e +Return + +g:: + If A_PriorHotkey = <^>!+ ; Diaerese + Send, {bs} + Else If A_PriorHotkey = + ; tilde + { + Send {bs} + MyUTF_String = õ + Gosub Unicode + } + Else If A_PriorHotkey = <^>!++ ; doppel akut + { + Send {bs} + MyUTF_String = ő + Gosub Unicode + } + Else If A_PriorHotkey = #^+ ; durchgestrichen + { + Send {bs} + MyUTF_String = ø + Gosub Unicode + } + Else If A_PriorHotkey = ++ ; macron + { + Send {bs} + MyUTF_String = ō + Gosub Unicode + } + Else + send o +Return + +h:: + If A_PriorHotkey = ^ ; circumflex + { + Send {bs} + MyUTF_String = ŝ + Gosub Unicode + } + Else If A_PriorHotkey = ; akut + { + Send {bs} + MyUTF_String = ś + Gosub Unicode + } + Else If A_PriorHotkey = +^ ; caron + { + Send {bs} + MyUTF_String = š + Gosub Unicode + } + Else + send s +Return + +j:: + If A_PriorHotkey = ; akut + { + Send {bs} + MyUTF_String = ń + Gosub Unicode + } + Else If A_PriorHotkey = + ; tilde + { + Send {bs} + MyUTF_String = ñ + Gosub Unicode + } + Else + send n +Return + k::send r l::send t -::send d -::send y + +:: + If A_PriorHotkey = #^+ ; durchgestrichen + { + Send {bs} + MyUTF_String = ð + Gosub Unicode + } + Else + send d +Return + +:: + If A_PriorHotkey = <^>!+ ; Diaerese + Send {bs} + Else + send Y +Return + ;SC02B (#) wird zu AltGr ;SC056 (<) wird zu Mod5 @@ -122,22 +359,55 @@ y::send x::send c::send v::send p -b::send z + +b:: + If A_PriorHotkey = +^ ; caron + { + Send {bs} + MyUTF_String = ž + Gosub Unicode + } + Else If A_PriorHotkey = ; akut + { + Send {bs} + MyUTF_String = ź + Gosub Unicode + } + Else If A_PriorHotkey = #^ ; punkt drber + { + Send {bs} + MyUTF_String = ż + Gosub Unicode + } + Else + Send z +Return + n::send b m::send m -SC033::send `, -SC034::send . -SC035::send j +,::send `, +.::send . + +-:: + If A_PriorHotkey = ^ ; circumflex + { + Send {bs} + MyUTF_String = ĵ + Gosub Unicode + } + Else + send j +Return ;2. Ebene (Shift) ;--------- -+SC029:: ; soll tot -MyUTF_String = ˇ -Gosub Unicode -return ++^:: ; caron, soll tot + MyUTF_String = ˇ + Gosub Unicode + return +1::send +2::send 2 @@ -150,59 +420,311 @@ return +9::send +0::send -+:: ++:: ; Ged MyUTF_String = – Gosub Unicode return -+SC00D::send `` ;tot ++::send `` ; gravis, tot +q::send X +w::send V +e::send L -+r::send C + ++r:: + If A_PriorHotkey = ^ ; circumflex + { + Send {bs} + MyUTF_String = Ĉ + Gosub Unicode + } + Else If A_PriorHotkey = +^ ; caron + { + Send {bs} + MyUTF_String = Č + Gosub Unicode + } + Else If A_PriorHotkey = ; akut + { + Send {bs} + MyUTF_String = Ć + Gosub Unicode + } + Else If A_PriorHotkey = <^>! ; cedille + { + Send {bs} + MyUTF_String = Ç + Gosub Unicode + } + Else + Send C +Return + +t::send W +z::send K -+u::send H -+i::send G -+o::send F ++u:: + If A_PriorHotkey = ^ ; circumflex + { + Send {bs} + MyUTF_String = Ĥ + Gosub Unicode + } + Else send H +Return + ++i:: + If A_PriorHotkey = ^ ; circumflex + { + Send {bs} + MyUTF_String = Ĝ + Gosub Unicode + } + Else send G +Return + ++o:: + If A_PriorHotkey = #^+ ; durchgestrichen + { + Send {bs} + MyUTF_String = ₣ + Gosub Unicode + } + Else send F +Return + +p::send Q +::send -+SC01B:: ; sollte tot sein... +++:: ; macron, soll tot MyUTF_String = ˉ Gosub Unicode return -+a::send U -+s::send I -+d::send A -+f::send E -+g::send O -+h::send S -+j::send N -+k::send R -+l::send T -+::send D -+::send Y -;SC02B (#) wird zu AltGr ++a:: + If A_PriorHotkey = <^>!+ ; Diaerese + Send, {bs} +; Else If A_PriorHotkey = #^+ ; ring drber +; { +; Send {bs} +; MyUTF_String = Ů +; Gosub Unicode +; } + Else If A_PriorHotkey = <^>!^ ; brevis + { + Send {bs} + MyUTF_String = Ŭ + Gosub Unicode + } + Else If A_PriorHotkey = +^ ; caron + { + Send {bs} + MyUTF_String = Ů + Gosub Unicode + } + Else If A_PriorHotkey = ++ ; macron + { + Send {bs} + MyUTF_String = Ū + Gosub Unicode + } + Else + send U +Return + ++s:: + If A_PriorHotkey = <^>!+ ; Diaerese + Send, {bs} + Else If A_PriorHotkey = ++ ; macron + { + Send {bs} + MyUTF_String = Ī + Gosub Unicode + } + Else + Send I +Return + ++d:: + If A_PriorHotkey = <^>!+ ; Diaerese + Send {bs} + Else If A_PriorHotkey = + ; tilde + { + Send {bs} + MyUTF_String = Ã + Gosub Unicode + } + Else If A_PriorHotkey = #^+ ; Ring drauf + Send {bs} + Else If A_PriorHotkey = ++ ; macron + { + Send {bs} + MyUTF_String = Ā + Gosub Unicode + } + Else + Send A +Return + ++f:: + If A_PriorHotkey = <^>!+ ; Diaerese + Send, {bs} + Else If A_PriorHotkey = +^ ; caron + { + Send {bs} + MyUTF_String = Ě + Gosub Unicode + } + Else If A_PriorHotkey = ++ ; macron + { + Send {bs} + MyUTF_String = Ē + Gosub Unicode + } + Else + Send E +Return + ++g:: + If A_PriorHotkey = #^+ ; durchgestrichen + { + Send {bs} + MyUTF_String = Ø + Gosub Unicode + } + Else If A_PriorHotkey = + ; tilde + { + Send {bs} + MyUTF_String = Õ + Gosub Unicode + } + Else If A_PriorHotkey = <^>!+ ; Diaerese + Send {bs} + Else If A_PriorHotkey = ++ ; macron + { + Send {bs} + MyUTF_String = Ō + Gosub Unicode + } + Else + send O +Return + ++h:: + If A_PriorHotkey = ^ ; circumflex + { + Send {bs} + MyUTF_String = Ŝ + Gosub Unicode + } + Else If A_PriorHotkey = +^ ; caron + { + Send {bs} + MyUTF_String = Š + Gosub Unicode + } + Else + send S +Return + ++j:: + If A_PriorHotkey = +^ ; caron + { + Send {bs} + MyUTF_String = Ň + Gosub Unicode + } + Else If A_PriorHotkey = + ; tilde + { + Send {bs} + MyUTF_String = Ñ + Gosub Unicode + } + Else + send N +Return + ++k:: + If A_PriorHotkey = +^ ; caron + { + Send {bs} + MyUTF_String = Ř + Gosub Unicode + } + Else + send R +Return + ++l:: + If A_PriorHotkey = +^ ; caron + { + Send {bs} + MyUTF_String = Ť + Gosub Unicode + } + Else + send T +Return + + ++:: + If A_PriorHotkey = #^+ ; durchgestrichen + { + Send {bs} + MyUTF_String = Đ + Gosub Unicode + } + Else If A_PriorHotkey = +^ ; caron + { + Send {bs} + MyUTF_String = Ď + Gosub Unicode + } + Else send D +Return + ++:: + If A_PriorHotkey = <^>!+ ; Diaerese + Send {bs} + Else + send Y +Return -;SC056 (<) wird zu Mod5 +y::send +x::send +c::send +v::send P -+b::send Z + ++b:: + If A_PriorHotkey = +^ ; caron + { + Send {bs} + MyUTF_String = Ž + Gosub Unicode + } + Else + send Z +Return + +n::send B +m::send M -+SC033::send `; -+SC034::send : -+SC035::send J ++,::send `; ++.::send : + ++-:: + If A_PriorHotkey = ^ ; circumflex + { + Send {bs} + MyUTF_String = Ĵ + Gosub Unicode + } + Else + send J +Return ;3. Ebene (AltGr) ;--------- -<^>!SC029:: ; soll tot +<^>!^:: ; brevis, soll tot MyUTF_String = ˘ Gosub Unicode return @@ -227,26 +749,26 @@ MyUTF_String = — Gosub Unicode return -<^>!SC00D::send ; soll tot +<^>!::send ; cedillia, soll tot <^>!q::send @ <^>!w::send _ <^>!e::send [ <^>!r::send ] -<^>!t::send {^} ; tot, soll untot sein +<^>!t::send {^}{space} ; untot <^>!z::sendraw ! <^>!u::send < <^>!i::send > <^>!o::send `= <^>!p::send `; -<^>!:: +<^>!:: ;ij MyUTF_String = ij Gosub Unicode return -<^>!SC01B:: ; ?? -MyUTF_String = +<^>!+:: ; Diaerese, soll tot +MyUTF_String = ¨ Gosub Unicode return @@ -268,19 +790,19 @@ return <^>!x::send $ <^>!c::send | <^>!v::send {#} -<^>!b::send `` ; tot, soll untot sein +<^>!b::send ``{space} ; untot <^>!n::send {+} <^>!m::send `% -<^>!SC033::send {&} -<^>!SC034::send " -<^>!SC035::send ' +<^>!,::send {&} +<^>!.::send " +<^>!-::send ' ;4. Ebene (AltGr+Shift) ;--------- -<^>!+SC029::send +<^>!+^::send <^>!+1::send <^>!+2::send <^>!+3::send @@ -293,7 +815,7 @@ return <^>!+0::send <^>!+::send -<^>!+SC00D:: ; nicht tot +<^>!+:: ; ogonek, soll tot MyUTF_String = ˛ Gosub Unicode return @@ -345,7 +867,7 @@ MyUTF_String = IJ Gosub Unicode return -<^>!+SC01B::send " ;soll tot +<^>!++::send " ;doppelakut, soll tot <^>!+a::send u @@ -429,17 +951,17 @@ MyUTF_String = μ Gosub Unicode return -<^>!+SC033:: ;vartheta? +<^>!+,:: ;vartheta? MyUTF_String = Gosub Unicode return -<^>!+SC034:: ;theta +<^>!+.:: ;theta MyUTF_String = θ Gosub Unicode return -<^>!+SC035::send j +<^>!+-::send j @@ -451,7 +973,7 @@ return #^9::Send * #^0::Send - -#^SC00D:: ;soll tot +#^:: ; punkt oben drber, soll tot MyUTF_String = ˙ Gosub Unicode return @@ -472,7 +994,7 @@ MyUTF_String = ə Gosub Unicode return -#^SC01B:: ;soll tot +#^+:: ; durchgestrichen, soll tot MyUTF_String = / Gosub Unicode return @@ -499,9 +1021,9 @@ return #^c::Send {PgDn} ;Next #^n::Send #^m::Send 1 -#^SC033::Send 2 -#^SC034::Send 3 -#^SC035::Send . +#^,::Send 2 +#^.::Send 3 +#^-::Send . ;6. Ebene (Win + Ctrl & Shift) @@ -509,7 +1031,7 @@ return #^+4::Send +{Prev} -#^+SC00D:: ; soll tot +#^+:: ; ring obendrauf, soll tot MyUTF_String = ˚ Gosub Unicode return @@ -548,7 +1070,7 @@ MyUTF_String = Ə Gosub Unicode return -#^+SC01B:: ; soll tot +#^++:: ; komma drunter, soll tot MyUTF_String = ˏ Gosub Unicode return @@ -603,7 +1125,7 @@ MyUTF_String = Ω Gosub Unicode return -#^+SC034:: ; Theta +#^+.:: ; Theta MyUTF_String = Θ Gosub Unicode return @@ -658,7 +1180,7 @@ return ^b::send ^z ^n::send ^b ^m::send ^m -^SC035::send ^j +^-::send ^j ;Alt-Ebene @@ -706,7 +1228,7 @@ return !+NumpadDiv::send / -<^>!+NumpadMult:: ; cdot +<^>!+NumpadMult:: ; cdot {ASC 0183} MyUTF_String = ⋅ Gosub Unicode return @@ -939,10 +1461,10 @@ return ^#NumpadDiv::send / -^#NumpadMult:: ; cdot - MyUTF_String = ⋅ - Gosub Unicode - return +^#NumpadMult:: ; cdot + ; MyUTF_String = · ; ={ASC 0183}, sollte eigentlich ⋅ ?? + ; Gosub Unicode + ; return ^#NumpadSub::send - ; eig. unbelegt ^#NumpadAdd:: ; -+ MyUTF_String = ∓ @@ -979,6 +1501,7 @@ return ; ------------------------------------ + Unicode: ; Place Unicode text onto the clipboard: Transform, Clipboard, Unicode, %MyUTF_String% @@ -1045,16 +1568,6 @@ return reload: Reload - Sleep 1000 - ; If successful, the reload will close this instance - ; during the Sleep, so the line below will never be reached. - MsgBox, 4,, - ( - The script could not be reloaded. - Would you like to open it for editing? - ) - IfMsgBox, Yes, Edit - return return hide: -- cgit v1.2.3