diff options
author | nora <nora@b9310e46-f624-0410-8ea1-cfbb3a30dc96> | 2007-04-30 14:48:38 +0000 |
---|---|---|
committer | nora <nora@b9310e46-f624-0410-8ea1-cfbb3a30dc96> | 2007-04-30 14:48:38 +0000 |
commit | aff1bb88f56c9090cb9bcf2982e681019734531c (patch) | |
tree | e75b63fcfa3d48e7343fb12cac2a39db5875d76b /windows/XP/autohotkey/neo20.ahk | |
parent | 06cd0528d27d0df9a8374fa014e738fed5b71381 (diff) |
Autohotkey: Deadkeys sollten funktionieren
git-svn-id: https://svn.neo-layout.org@83 b9310e46-f624-0410-8ea1-cfbb3a30dc96
Diffstat (limited to '')
-rw-r--r-- | windows/XP/autohotkey/neo20.ahk | 703 |
1 files changed, 608 insertions, 95 deletions
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 <!b::send !z
<!n::send !b
<!m::send !m
-<!SC035::send !j
+<!-::send !j
;Win-Ebene
@@ -761,7 +1283,7 @@ return #b::send #z
#n::send #b
#m::send #m
-#SC035::send #j
+#-::send #j
;Strg-Shift-Ebene
;---------
@@ -809,7 +1331,7 @@ return ^+b::send ^+z
^+n::send ^+b
^+m::send ^+m
-^+SC035::send ^+j
+^+-::send ^+j
; -----------------------------------------
@@ -891,7 +1413,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:
|