diff options
author | martin_r <martin_r@b9310e46-f624-0410-8ea1-cfbb3a30dc96> | 2008-08-18 19:25:20 +0000 |
---|---|---|
committer | martin_r <martin_r@b9310e46-f624-0410-8ea1-cfbb3a30dc96> | 2008-08-18 19:25:20 +0000 |
commit | c63134e1ac0522b643dffd4c71bcff2b27eab30d (patch) | |
tree | a016dc31193ff9e157f4a1502dee0f56a5ffc290 /windows/autohotkey/Source/Keys-Neo.ahk | |
parent | feb93d6b8ae1a59d0fbe479409906ad6a8f74620 (diff) |
Modularisierung des AHK konsequent weitergeführt.
neo20.txt: Ebenen 7 und 8 ergänzt, Ebenen 2 und 4 des Numpads vertauscht.
Methods-Layers.ahk: Mod3-Lock abgeschafft, CapsLock neu geschrieben.
+ Viele kleine Änderungen.
git-svn-id: https://svn.neo-layout.org@776 b9310e46-f624-0410-8ea1-cfbb3a30dc96
Diffstat (limited to '')
-rw-r--r-- | windows/autohotkey/Source/Keys-Neo.ahk | 792 |
1 files changed, 393 insertions, 399 deletions
diff --git a/windows/autohotkey/Source/Keys-Neo.ahk b/windows/autohotkey/Source/Keys-Neo.ahk index 15a8be1..2c1fd53 100644 --- a/windows/autohotkey/Source/Keys-Neo.ahk +++ b/windows/autohotkey/Source/Keys-Neo.ahk @@ -2,13 +2,13 @@ Die eigentliche NEO-Belegung und der Hauptteil des AHK-Treibers.
Ablauf bei toten Tasten:
- 1. Ebene Aktualisieren
- 2. Abhängig von der Variablen "Ebene" Zeichen ausgeben und die Variable "PriorDeadKey" setzen
+ 1. Ebene Aktualisieren.
+ 2. Abhängig von der Variablen "Ebene" Zeichen ausgeben und die Variable "PriorDeadKey" setzen.
Ablauf bei "untoten" Tasten:
- 1. Ebene Aktualisieren
- 2. Abhängig von den Variablen "Ebene" und "PriorDeadKey" Zeichen ausgeben
- 3. "PriorDeadKey" mit leerem String überschreiben
+ 1. Ebene Aktualisieren.
+ 2. Abhängig von den Variablen "Ebene" und "PriorDeadKey" Zeichen ausgeben.
+ 3. "PriorDeadKey" mit leerem String überschreiben.
Reihe 1
*/
@@ -38,12 +38,12 @@ neo_tot1: }
else if (Ebene = 5)
{
- deadAsc("-") ; Querstrich, tot
+ deadUni(0x002D) ; Querstrich, tot
DeadKey := "c5"
}
else if (Ebene = 6)
{
- deadAsc(".") ; Punkt drunter (Colon), tot
+ deadUni(0x002E) ; Punkt drunter (Colon), tot
DeadKey := "c6"
}
CompKey := PriorCompKey
@@ -72,9 +72,9 @@ neo_1: else if (Ebene = 2)
send °
else if (Ebene = 3)
- SendUnicodeChar(0x00B9) ; 2 Hochgestellte
+ SendUnicodeChar(0x00B9) ; Hochgestellte 2
else if (Ebene = 4)
- SendUnicodeChar(0x2022) ; bullet
+ SendUnicodeChar(0x2022) ; Bullet
else if (Ebene = 5)
SendUnicodeChar(0x2640) ; Piktogramm weiblich
else if (Ebene = 6)
@@ -100,11 +100,11 @@ neo_2: CompKey := "2"
}
else if (Ebene = 2)
- SendUnicodeChar(0x2116) ; numero
+ SendUnicodeChar(0x2116) ; Numero
else if (Ebene = 3)
- SendUnicodeChar(0x00B2) ; 2 Hochgestellte
+ SendUnicodeChar(0x00B2) ; Hochgestellte 2
else if (Ebene = 4)
- SendUnicodeChar(0x2023) ; aufzaehlungspfeil
+ SendUnicodeChar(0x2023) ; Aufzählungspfeil
else if (Ebene = 5)
SendUnicodeChar(0x26A5) ; Piktogramm Zwitter
else if (Ebene = 6)
@@ -132,7 +132,7 @@ neo_3: else if (Ebene = 2)
send §
else if (Ebene = 3)
- SendUnicodeChar(0x00B3) ; 3 Hochgestellte
+ SendUnicodeChar(0x00B3) ; Hochgestellte 3
else if (Ebene = 4)
{
CompKey := PriorCompKey
@@ -161,11 +161,11 @@ neo_4: CompKey := "4"
}
else if (Ebene = 2)
- SendUnicodeChar(0x00BB) ; », Double guillemot right
+ SendUnicodeChar(0x00BB) ; Double guillemot right
else if (Ebene = 3)
Send {blind}› ; Single guillemot right
else if (Ebene = 4)
- Send {blind}{PgUp} ; Prev
+ Send {blind}{PgUp}
else if (Ebene = 5)
SendUnicodeChar(0x2113) ; Script small L
else if (Ebene = 6)
@@ -295,7 +295,7 @@ neo_8: else if (Ebene = 4)
Send {blind}{NumpadDiv}
else if (Ebene = 5)
- SendUnicodeChar(0x27E8) ;bra (öffnende spitze klammer)
+ SendUnicodeChar(0x27E8) ; bra (öffnende spitze Klammer)
else if (Ebene = 6)
SendUnicodeChar(0x2204) ; es existiert nicht
return
@@ -323,7 +323,7 @@ neo_9: else if (Ebene = 4)
Send {blind}{NumpadMult}
else if (Ebene = 5)
- SendUnicodeChar(0x27E9) ;ket (schließende spitze klammer)
+ SendUnicodeChar(0x27E9) ; ket (schließende spitze Klammer)
else if (Ebene = 6)
SendUnicodeChar(0x2226) ; nicht parallel
return
@@ -370,11 +370,11 @@ neo_strich: SendUnicodeChar(0x2013) ; Gedankenstrich
else if (Ebene = 3)
SendUnicodeChar(0x2014) ; Englischer Gedankenstrich (Geviertstrich)
- else if (Ebene = 4)
+ else if (Ebene = 4) ; leer
{
CompKey := PriorCompKey
DeadKey := PriorDeadKey
- } ; leer
+ }
else if (Ebene = 5)
SendUnicodeChar(0x2011) ; geschützter Bindestrich (Bindestrich ohne Zeilenumbruch)
else if (Ebene = 6)
@@ -447,11 +447,11 @@ neo_v: else if (Ebene = 4)
if (not(lernModus) or lernModus_neo_Backspace)
Send {blind}{Backspace}
- else
+ else ; leer
{
CompKey := PriorCompKey
DeadKey := PriorDeadKey
- } ; leer
+ }
else if (Ebene = 6)
SendUnicodeChar(0x2259) ; estimates
return
@@ -461,11 +461,11 @@ return neo_l:
EbeneAktualisieren()
if (Ebene12 and !(CheckDeadUni12("a1",0x013A,0x0139)
- or CheckDeadUni12("a3",0x013C,0x013B)
- or CheckDeadUni12("c2",0x013E,0x013D)
- or CheckDeadUni12("c4",0x0140,0x013F)
- or CheckDeadUni12("c6",0x1E37,0x1E36)
- or CheckDeadUni12("t4",0x0142,0x0141)))
+ or CheckDeadUni12("a3",0x013C,0x013B)
+ or CheckDeadUni12("c2",0x013E,0x013D)
+ or CheckDeadUni12("c4",0x0140,0x013F)
+ or CheckDeadUni12("c6",0x1E37,0x1E36)
+ or CheckDeadUni12("t4",0x0142,0x0141)))
OutputChar("l","L")
else if (Ebene = 3)
send {blind}[
@@ -481,27 +481,26 @@ return neo_c:
EbeneAktualisieren()
if (Ebene12 and !(CheckDeadUni12("a1",0x0107,0x0106)
- or CheckDeadUni12("a3",0x00E7,0x00E6)
- or CheckDeadUni12("a4",0x010B,0x010A)
- or CheckDeadUni12("c1",0x0109,0x0108)
- or CheckDeadUni12("c2",0x010D,0x010C)
- or CheckCompAsc12("o","©","©")
- or CheckCompAsc12("O","©","©")))
+ or CheckDeadUni12("a3",0x00E7,0x00E6)
+ or CheckDeadUni12("a4",0x010B,0x010A)
+ or CheckDeadUni12("c1",0x0109,0x0108)
+ or CheckDeadUni12("c2",0x010D,0x010C)
+ or CheckCompAsc("o","©")))
OutputChar("c","C")
else if (Ebene = 3)
send {blind}]
else if (Ebene = 4)
if (not(lernModus) or lernModus_neo_Entf)
Send {blind}{Del}
- else
+ else ; leer
{
CompKey := PriorCompKey
DeadKey := PriorDeadKey
- } ; leer
+ }
else if (Ebene = 5)
- SendUnicodeChar(0x03C7) ;chi
+ SendUnicodeChar(0x03C7) ; chi
else if (Ebene = 6)
- SendUnicodeChar(0x2102) ; C (Komplexe Zahlen)
+ SendUnicodeChar(0x2102) ; C (Komplexe Zahlen)
return
neo_w:
@@ -509,10 +508,9 @@ neo_w: if (Ebene12 and !(CheckDeadUni12("c1",0x0175,0x0174)))
OutputChar("w","W")
else if (Ebene = 3)
- SendUnicodeChar(0x005E) ; untotes ^ - Unicode-Name: CIRCUMFLEX ACCENT
- ;send {^}{space} ; Funktioniert nicht unter Java-Programmen
+ SendUnicodeChar(0x005E) ; Zirkumflex
else if (Ebene = 4)
- Send {blind}{Insert}
+ Send {blind}{Insert} ; Einfg
else if (Ebene = 5)
SendUnicodeChar(0x03C9) ; omega
else if (Ebene = 6)
@@ -522,7 +520,7 @@ return neo_k:
EbeneAktualisieren()
if (Ebene12 and !(CheckDeadUni12("a3",0x0137,0x0136)
- or CheckDeadUni12("c6",0x1E33,0x1E32)))
+ or CheckDeadUni12("c6",0x1E33,0x1E32)))
OutputChar("k","K")
else if (Ebene = 3)
send {blind}{!}
@@ -537,9 +535,9 @@ return neo_h:
EbeneAktualisieren()
if (Ebene12 and !(CheckDeadUni12("a4",0x1E23,0x1E22)
- or CheckDeadUni12("c1",0x0125,0x0124)
- or CheckDeadUni12("c5",0x0127,0x0126)
- or CheckDeadUni12("c6",0x1E25,0x1E24)))
+ or CheckDeadUni12("c1",0x0125,0x0124)
+ or CheckDeadUni12("c5",0x0127,0x0126)
+ or CheckDeadUni12("c6",0x1E25,0x1E24)))
OutputChar("h","H")
else if ((Ebene = 3) and !(CheckDeadUni("c5",0x2264))) ; kleiner gleich
send {blind}<
@@ -547,27 +545,27 @@ neo_h: or CheckDeadUni("c5",0x2087)))
Send {blind}{NumPad7}
else if (Ebene = 5)
- SendUnicodeChar(0x03C8) ;psi
+ SendUnicodeChar(0x03C8) ; psi
else if (Ebene = 6)
- SendUnicodeChar(0x03A8) ; Psi
+ SendUnicodeChar(0x03A8) ; Psi
return
neo_g:
EbeneAktualisieren()
if (Ebene12 and !(CheckDeadUni12("a3",0x0123,0x0122)
- or CheckDeadUni12("a4",0x0121,0x0120)
- or CheckDeadUni12("c1",0x011D,0x011C)
- or CheckDeadUni12("c3",0x011F,0x011E)))
+ or CheckDeadUni12("a4",0x0121,0x0120)
+ or CheckDeadUni12("c1",0x011D,0x011C)
+ or CheckDeadUni12("c3",0x011F,0x011E)))
OutputChar("g","G")
- else if ((Ebene = 3) and !(CheckDeadUni("c5",0x2265))) ; größer gleich
- send {blind}>
+ else if ((Ebene = 3) and !(CheckDeadUni("c5",0x2265)))
+ send {blind}> ; größer gleich
else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2078)
- or CheckDeadUni("c5",0x2088)))
+ or CheckDeadUni("c5",0x2088)))
Send {blind}{NumPad8}
else if (Ebene = 5)
- SendUnicodeChar(0x03B3) ;gamma
+ SendUnicodeChar(0x03B3) ; gamma
else if (Ebene = 6)
- SendUnicodeChar(0x0393) ; Gamma
+ SendUnicodeChar(0x0393) ; Gamma
return
neo_f:
@@ -576,19 +574,19 @@ neo_f: or CheckDeadUni12("t4",0x0192,0x0191)))
OutputChar("f","F")
else if ((Ebene = 3) and !(CheckDeadUni("a6",0x2257) ; ring equal to
- or CheckDeadUni("c1",0x2259) ; entspricht
- or CheckDeadUni("c2",0x225A) ; EQUIANGULAR TO
- or CheckDeadUni("c5",0x2261) ; identisch
- or CheckDeadUni("t1",0x2245) ; ungefähr gleich
- or CheckDeadUni("t4",0x2260))) ; ungleich
+ or CheckDeadUni("c1",0x2259) ; entspricht
+ or CheckDeadUni("c2",0x225A) ; EQUIANGULAR TO
+ or CheckDeadUni("c5",0x2261) ; identisch
+ or CheckDeadUni("t1",0x2245) ; ungefähr gleich
+ or CheckDeadUni("t4",0x2260))) ; ungleich
send {blind}`=
else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2079)
- or CheckDeadUni("c5",0x2089)))
- Send {blind}{NumPad9}
+ or CheckDeadUni("c5",0x2089)))
+ send {blind}{NumPad9}
else if (Ebene = 5)
SendUnicodeChar(0x03C6) ; phi
else if (Ebene = 6)
- SendUnicodeChar(0x03A6) ; Phi
+ SendUnicodeChar(0x03A6) ; Phi
return
neo_q:
@@ -611,27 +609,27 @@ neo_sz: if (Ebene = 1)
if (GetKeyState("CapsLock","T"))
SendUnicodeChar(0x1E9E) ; versal-ß
- else if (LangSTastatur = 1)
+ else if LangSTastatur
send {blind}s
else
send ß
else if (Ebene = 2)
if (GetKeyState("CapsLock","T"))
- if (LangSTastatur = 1)
+ if LangSTastatur
send {blind}s
else
send ß
else
SendUnicodeChar(0x1E9E) ; versal-ß
else if (Ebene = 3)
- if (LangSTastatur = 1)
+ if LangSTastatur
send ß
else
SendUnicodeChar(0x017F) ; langes s
else if (Ebene = 5)
- SendUnicodeChar(0x03C2) ; varsigma
+ SendUnicodeChar(0x03C2) ; varsigma
else if (Ebene = 6)
- SendUnicodeChar(0x2218) ; Verknüpfungsoperator
+ SendUnicodeChar(0x2218) ; Verknüpfungsoperator
return
@@ -639,7 +637,7 @@ neo_tot3: EbeneAktualisieren()
if (Ebene = 1)
{
- deadUni(0x02DC) ;Tilde, tot
+ deadUni(0x02DC) ; Tilde, tot
DeadKey := "t1"
}
else if (Ebene = 2)
@@ -659,7 +657,7 @@ neo_tot3: }
else if (Ebene = 5)
{
- deadUni(0x02DD) ;Doppelakut
+ deadUni(0x02DD) ; Doppelakut
DeadKey := "t5"
}
else if (Ebene = 6)
@@ -680,26 +678,26 @@ return neo_u:
EbeneAktualisieren()
if (Ebene12 and !(CheckDeadUni12("a1",0x00FA,0x00DA)
- or CheckDeadUni12("a2",0x00F9,0x00D9)
- or CheckDeadUni12("a5",0x0173,0x0172)
- or CheckDeadUni12("a6",0x016F,0x016E)
- or CheckDeadUni12("c1",0x00FB,0x00DB)
- or CheckDeadUni12("c2",0x01D4,0x01D3)
- or CheckDeadUni12("c3",0x016D,0x016C)
- or CheckDeadUni12("t1",0x0169,0x0168)
- or CheckDeadUni12("t2",0x016B,0x016A)
- or CheckDeadAsc12("t3","ü","Ü")
- or CheckDeadUni12("t5",0x0171,0x0170)))
+ or CheckDeadUni12("a2",0x00F9,0x00D9)
+ or CheckDeadUni12("a5",0x0173,0x0172)
+ or CheckDeadUni12("a6",0x016F,0x016E)
+ or CheckDeadUni12("c1",0x00FB,0x00DB)
+ or CheckDeadUni12("c2",0x01D4,0x01D3)
+ or CheckDeadUni12("c3",0x016D,0x016C)
+ or CheckDeadUni12("t1",0x0169,0x0168)
+ or CheckDeadUni12("t2",0x016B,0x016A)
+ or CheckDeadAsc12("t3","ü","Ü")
+ or CheckDeadUni12("t5",0x0171,0x0170)))
OutputChar("u","U")
else if (Ebene = 3)
send {blind}\
else if (Ebene = 4)
Send {blind}{Home}
- else if (Ebene = 5)
+ else if (Ebene = 5) ; leer
{
CompKey := PriorCompKey
DeadKey := PriorDeadKey
- } ; leer
+ }
else if (Ebene = 6)
SendUnicodeChar(0x222E) ; contour integral
return
@@ -707,21 +705,21 @@ return neo_i:
EbeneAktualisieren()
if (Ebene12 and !(CheckDeadUni12("a1",0x00ED,0x00CD)
- or CheckDeadUni12("a2",0x00EC,0x00CC)
- or CheckDeadUni12("a4",0x012F,0x012E)
- or CheckDeadUni12("a5",0x0131,0x0130)
- or CheckDeadUni12("c1",0x00EE,0x00CE)
- or CheckDeadUni12("c2",0x01D0,0x01CF)
- or CheckDeadUni12("c3",0x012D,0x012C)
- or CheckDeadUni12("t1",0x0129,0x0128)
- or CheckDeadUni12("t2",0x012B,0x012A)
- or CheckDeadAsc12("t3","ï","Ï")))
+ or CheckDeadUni12("a2",0x00EC,0x00CC)
+ or CheckDeadUni12("a4",0x012F,0x012E)
+ or CheckDeadUni12("a5",0x0131,0x0130)
+ or CheckDeadUni12("c1",0x00EE,0x00CE)
+ or CheckDeadUni12("c2",0x01D0,0x01CF)
+ or CheckDeadUni12("c3",0x012D,0x012C)
+ or CheckDeadUni12("t1",0x0129,0x0128)
+ or CheckDeadUni12("t2",0x012B,0x012A)
+ or CheckDeadAsc12("t3","ï","Ï")))
OutputChar("i","I")
else if (Ebene = 3)
send {blind}`/
else if (Ebene = 4)
Send {Blind}{Left}
- else if (Ebene = 5 )
+ else if (Ebene = 5)
SendUnicodeChar(0x03B9) ; iota
else if (Ebene = 6)
SendUnicodeChar(0x222B) ; integral
@@ -730,65 +728,65 @@ return neo_a:
EbeneAktualisieren()
if (Ebene12 and !(CheckDeadUni12("a1",0x00E1,0x00C1)
- or CheckDeadUni12("a2",0x00E0,0x00C0)
- or CheckDeadUni12("a5",0x0105,0x0104)
- or CheckDeadAsc12("a6","å","Å")
- or CheckDeadUni12("c1",0x00E2,0x00C2)
- or CheckDeadUni12("c2",0x01CE,0x01CD)
- or CheckDeadUni12("c3",0x0103,0x0102)
- or CheckDeadUni12("t1",0x00E3,0x00C3)
- or CheckDeadUni12("t2",0x0101,0x0100)
- or CheckDeadAsc12("t3","ä","Ä")))
+ or CheckDeadUni12("a2",0x00E0,0x00C0)
+ or CheckDeadUni12("a5",0x0105,0x0104)
+ or CheckDeadAsc12("a6","å","Å")
+ or CheckDeadUni12("c1",0x00E2,0x00C2)
+ or CheckDeadUni12("c2",0x01CE,0x01CD)
+ or CheckDeadUni12("c3",0x0103,0x0102)
+ or CheckDeadUni12("t1",0x00E3,0x00C3)
+ or CheckDeadUni12("t2",0x0101,0x0100)
+ or CheckDeadAsc12("t3","ä","Ä")))
OutputChar("a","A")
else if (Ebene = 3)
send {blind}{{}
else if (Ebene = 4)
Send {Blind}{Down}
else if (Ebene = 5)
- SendUnicodeChar(0x03B1) ;alpha
+ SendUnicodeChar(0x03B1) ; alpha
else if (Ebene = 6)
- SendUnicodeChar(0x2200) ;für alle
+ SendUnicodeChar(0x2200) ; für alle
return
neo_e:
EbeneAktualisieren()
if (Ebene12 and !(CheckDeadUni12("a1",0x00E9,0x00C9)
- or CheckDeadUni12("a2",0x00E8,0x00C8)
- or CheckDeadUni12("a4",0x0117,0x0116)
- or CheckDeadUni12("a5",0x0119,0x0118)
- or CheckDeadUni12("c1",0x00EA,0x00CA)
- or CheckDeadUni12("c2",0x011B,0x011A)
- or CheckDeadUni12("c3",0x0115,0x0114)
- or CheckDeadUni12("t2",0x0113,0x0112)
- or CheckDeadAsc12("t3","ë","Ë")
- or CheckCompAsc12("a","æ","Æ")
- or CheckCompAsc12("A","Æ","Æ")
- or CheckCompAsc12("o","œ","Œ")
- or CheckCompAsc12("O","Œ","Œ")))
+ or CheckDeadUni12("a2",0x00E8,0x00C8)
+ or CheckDeadUni12("a4",0x0117,0x0116)
+ or CheckDeadUni12("a5",0x0119,0x0118)
+ or CheckDeadUni12("c1",0x00EA,0x00CA)
+ or CheckDeadUni12("c2",0x011B,0x011A)
+ or CheckDeadUni12("c3",0x0115,0x0114)
+ or CheckDeadUni12("t2",0x0113,0x0112)
+ or CheckDeadAsc12("t3","ë","Ë")
+ or CheckCompAsc12("a","æ","Æ")
+ or CheckCompAsc12("A","Æ","Æ")
+ or CheckCompAsc12("o","œ","Œ")
+ or CheckCompAsc12("O","Œ","Œ")))
OutputChar("e","E")
- else if (Ebene = 3) ; {
+ else if (Ebene = 3)
send {blind}{}}
else if (Ebene = 4)
Send {Blind}{Right}
else if (Ebene = 5)
- SendUnicodeChar(0x03B5) ;epsilon
+ SendUnicodeChar(0x03B5) ; epsilon
else if (Ebene = 6)
- SendUnicodeChar(0x2203) ;es existiert
+ SendUnicodeChar(0x2203) ; es existiert
return
neo_o:
EbeneAktualisieren()
if (Ebene12 and !(CheckDeadUni12("a1",0x00F3,0x00D3)
- or CheckDeadUni12("a2",0x00F2,0x00D2)
- or CheckDeadUni12("a5",0x01EB,0x01EA)
- or CheckDeadUni12("c1",0x00F4,0x00D4)
- or CheckDeadUni12("c2",0x01D2,0x01D1)
- or CheckDeadUni12("c3",0x014F,0x014E)
- or CheckDeadUni12("t1",0x00F5,0x00D5)
- or CheckDeadUni12("t2",0x014D,0x014C)
- or CheckDeadAsc12("t3","ö","Ö")
- or CheckDeadUni12("t4",0x00F8,0x00D8)
- or CheckDeadUni12("t5",0x0151,0x0150)))
+ or CheckDeadUni12("a2",0x00F2,0x00D2)
+ or CheckDeadUni12("a5",0x01EB,0x01EA)
+ or CheckDeadUni12("c1",0x00F4,0x00D4)
+ or CheckDeadUni12("c2",0x01D2,0x01D1)
+ or CheckDeadUni12("c3",0x014F,0x014E)
+ or CheckDeadUni12("t1",0x00F5,0x00D5)
+ or CheckDeadUni12("t2",0x014D,0x014C)
+ or CheckDeadAsc12("t3","ö","Ö")
+ or CheckDeadUni12("t4",0x00F8,0x00D8)
+ or CheckDeadUni12("t5",0x0151,0x0150)))
OutputChar("o","O")
else if (Ebene = 3)
send {blind}*
@@ -803,35 +801,55 @@ return neo_s:
EbeneAktualisieren()
if (Ebene12 and !(CheckDeadUni12("a1",0x015B,0x015A)
- or CheckDeadUni12("a3",0x015F,0x015E)
- or CheckDeadUni12("a4",0x1E61,0x1E60)
- or CheckDeadUni12("c1",0x015D,0x015C)
- or CheckDeadUni12("c2",0x0161,0x0160)
- or CheckDeadUni12("c6",0x1E63,0x1A62)))
+ or CheckDeadUni12("a3",0x015F,0x015E)
+ or CheckDeadUni12("a4",0x1E61,0x1E60)
+ or CheckDeadUni12("c1",0x015D,0x015C)
+ or CheckDeadUni12("c2",0x0161,0x0160)
+ or CheckDeadUni12("c6",0x1E63,0x1A62)))
{
if (Ebene = 1)
{
if LangSTastatur
if (GetKeyState("CapsLock","T"))
+ {
send {blind}s
+ if (PriorDeadKey = "comp")
+ Compkey := "s"
+ }
else
+ {
SendUnicodeChar(0x017F) ;langes S
+ if (PriorDeadKey = "comp")
+ CompKey := "lang_s"
+ }
else
+ {
send {blind}s
- if (PriorDeadKey = "comp")
- CompKey := "s"
+ if (PriorDeadKey = "comp")
+ CompKey := "s"
+ }
}
else if (Ebene = 2)
{
if LangSTastatur
if (GetKeyState("CapsLock","T"))
+ {
SendUnicodeChar(0x017F) ;langes S
+ if (PriorDeadKey = "comp")
+ CompKey := "lang_s"
+ }
else
+ {
send {blind}S
+ if (PriorDeadKey = "comp")
+ CompKey := "s"
+ }
else
+ {
send {blind}S
- if (PriorDeadKey = "comp")
- CompKey := "S"
+ if (PriorDeadKey = "comp")
+ CompKey := "S"
+ }
}
}
else if (Ebene = 3)
@@ -841,21 +859,21 @@ neo_s: else if (Ebene = 5)
SendUnicodeChar(0x03C3) ;sigma
else if (Ebene = 6)
- SendUnicodeChar(0x03A3) ; Sigma
+ SendUnicodeChar(0x03A3) ;Sigma
return
neo_n:
EbeneAktualisieren()
if (Ebene12 and !(CheckDeadUni12("a1",0x0144,0x0143)
- or CheckDeadUni12("a3",0x0146,0x0145)
- or CheckDeadUni12("a4",0x1E45,0x1E44)
- or CheckDeadUni12("c2",0x0148,0x0147)
- or CheckDeadUni12("t1",0x00F1,0x00D1)))
+ or CheckDeadUni12("a3",0x0146,0x0145)
+ or CheckDeadUni12("a4",0x1E45,0x1E44)
+ or CheckDeadUni12("c2",0x0148,0x0147)
+ or CheckDeadUni12("t1",0x00F1,0x00D1)))
OutputChar("n","N")
else if (Ebene = 3)
- send {blind}( ; )
+ send {blind}(
else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2074)
- or CheckDeadUni("c5",0x2084)))
+ or CheckDeadUni("c5",0x2084)))
Send {blind}{NumPad4}
else if (Ebene = 5)
SendUnicodeChar(0x03BD) ; nu
@@ -866,17 +884,17 @@ return neo_r:
EbeneAktualisieren()
if (Ebene12 and !(CheckDeadUni12("a1",0x0155,0x0154)
- or CheckDeadUni12("a3",0x0157,0x0156)
- or CheckDeadUni12("a4",0x0E59,0x0E58)
- or CheckDeadUni12("c2",0x0159,0x0158)
- or CheckDeadUni12("c6",0x1E5B,0x1E5A)
- or CheckCompAsc12("o","®","®")
- or CheckCompAsc12("O","®","®")))
+ or CheckDeadUni12("a3",0x0157,0x0156)
+ or CheckDeadUni12("a4",0x0E59,0x0E58)
+ or CheckDeadUni12("c2",0x0159,0x0158)
+ or CheckDeadUni12("c6",0x1E5B,0x1E5A)
+ or CheckCompAsc12("o","®","®")
+ or CheckCompAsc12("O","®","®")))
OutputChar("r","R")
- else if (Ebene = 3) ;(
+ else if (Ebene = 3)
send {blind})
else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2075)
- or CheckDeadUni("c5",0x2085)))
+ or CheckDeadUni("c5",0x2085)))
Send {blind}{NumPad5}
else if (Ebene = 5)
SendUnicodeChar(0x03F1) ; rho symbol (varrho)
@@ -887,20 +905,20 @@ return neo_t:
EbeneAktualisieren()
if (Ebene12 and !(CheckDeadUni12("a3",0x0163,0x0162)
- or CheckDeadUni12("a4",0x1E6B,0x1E6A)
- or CheckDeadUni12("c2",0x0165,0x0164)
- or CheckDeadUni12("c5",0x0167,0x0166)
- or CheckDeadUni12("c6",0x1E6D,0x1E6C)))
+ or CheckDeadUni12("a4",0x1E6B,0x1E6A)
+ or CheckDeadUni12("c2",0x0165,0x0164)
+ or CheckDeadUni12("c5",0x0167,0x0166)
+ or CheckDeadUni12("c6",0x1E6D,0x1E6C)))
OutputChar("t","T")
else if (Ebene = 3)
- send {blind}- ; Bis
+ send {blind}- ; Bisstrich
else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2076)
or CheckDeadUni("c5",0x2086)))
Send {blind}{NumPad6}
else if (Ebene = 5)
SendUnicodeChar(0x03C4) ; tau
else if (Ebene = 6)
- SendUnicodeChar(0x2202 ) ; partielle Ableitung
+ SendUnicodeChar(0x2202) ; partielle Ableitung
return
neo_d:
@@ -916,16 +934,16 @@ neo_d: else if (Ebene = 4)
send `,
else if (Ebene = 5)
- SendUnicodeChar(0x03B4) ;delta
+ SendUnicodeChar(0x03B4) ; delta
else if (Ebene = 6)
- SendUnicodeChar(0x0394) ; Delta
+ SendUnicodeChar(0x0394) ; Delta
return
neo_y:
EbeneAktualisieren()
if (Ebene12 and !(CheckDeadUni12("a1",0x00FD,0x00DD)
- or CheckDeadUni12("c1",0x0177,0x0176)
- or CheckDeadAsc12("t3","ÿ",Ÿ)))
+ or CheckDeadUni12("c1",0x0177,0x0176)
+ or CheckDeadAsc12("t3","ÿ","Ÿ")))
OutputChar("y","Y")
else if (Ebene = 3)
send {blind}@
@@ -946,19 +964,19 @@ return neo_ü:
EbeneAktualisieren()
if (Ebene12 and !(CheckDeadUni12("a1",0x01D8,0x01D7)
- or CheckDeadUni12("a2",0x01DC,0x01DB)
- or CheckDeadUni12("c2",0x01DA,0x01D9)
- or CheckDeadUni12("t2",0x01D6,0x01D5)))
+ or CheckDeadUni12("a2",0x01DC,0x01DB)
+ or CheckDeadUni12("c2",0x01DA,0x01D9)
+ or CheckDeadUni12("t2",0x01D6,0x01D5)))
OutputChar("ü","Ü")
else if (Ebene = 3)
send {#}
else if (Ebene = 4)
Send {blind}{Esc}
- else if (Ebene = 5)
+ else if (Ebene = 5) ; leer
{
DeadKey := PriorDeadKey
CompKey := PriorCompKey
- } ; leer
+ }
else if (Ebene = 6)
SendUnicodeChar(0x221D) ; proportional
return
@@ -987,11 +1005,11 @@ neo_ä: else if (Ebene = 3)
send {blind}|
else if (Ebene = 4)
- Send {blind}{PgDn} ; Next
+ Send {blind}{PgDn} ; Next
else if (Ebene = 5)
SendUnicodeChar(0x03B7) ; eta
else if (Ebene = 6)
- SendUnicodeChar(0x211C) ; altes R
+ SendUnicodeChar(0x211C) ; Fraktur R
return
neo_p:
@@ -1003,29 +1021,29 @@ neo_p: else if (Ebene = 4)
Send {blind}{Enter}
else if (Ebene = 5)
- SendUnicodeChar(0x03C0) ;pi
+ SendUnicodeChar(0x03C0) ; pi
else if (Ebene = 6)
- SendUnicodeChar(0x03A0) ; Pi
+ SendUnicodeChar(0x03A0) ; Pi
return
neo_z:
EbeneAktualisieren()
if (Ebene12 and !(CheckDeadUni12("a1",0x017A,0x0179)
- or CheckDeadUni12("a4",0x017C,0x017B)
- or CheckDeadUni12("c2",0x017E,0x017D)
- or CheckDeadUni12("c6",0x1E93,0x1E92)))
+ or CheckDeadUni12("a4",0x017C,0x017B)
+ or CheckDeadUni12("c2",0x017E,0x017D)
+ or CheckDeadUni12("c6",0x1E93,0x1E92)))
OutputChar("z","Z")
else if (Ebene = 3)
- send ``{space} ; untot
+ send ``{space} ; untot
else if (Ebene = 4)
{
DeadKey := PriorDeadKey
CompKey := PriorCompKey
} ; leer
else if (Ebene = 5)
- SendUnicodeChar(0x03B6) ;zeta
+ SendUnicodeChar(0x03B6) ; zeta
else if (Ebene = 6)
- SendUnicodeChar(0x2124) ; Z (ganze Zahlen)
+ SendUnicodeChar(0x2124) ; Z (ganze Zahlen)
return
neo_b:
@@ -1045,17 +1063,14 @@ return neo_m:
EbeneAktualisieren()
if (Ebene12 and !(CheckDeadUni12("a4",0x1E41,0x1E40)
- or CheckDeadUni12("c6",0x1E43,0x1E42)
- or CheckCompUni12("t",0x2122,0x2122) ; TM
- or CheckCompUni12("T",0x2122,0x2122) ; TM
- or CheckCompUni12("s",0x2120,0x2120) ; SM
- or CheckCompUni12("S",0x2120,0x2120))) ; SM
-
+ or CheckDeadUni12("c6",0x1E43,0x1E42)
+ or CheckCompUni12("t",0x2122,0x2122) ; TM
+ or CheckCompUni12("s",0x2120,0x2120))) ; SM
OutputChar("m","M")
else if (Ebene = 3)
send {blind}`%
else if ((Ebene = 4) and !(CheckDeadUni("c1",0x00B9)
- or CheckDeadUni("c5",0x2081)))
+ or CheckDeadUni("c5",0x2081)))
Send {blind}{NumPad1}
else if (Ebene = 5)
SendUnicodeChar(0x03BC) ; griechisch mu, micro wäre 0x00B5
@@ -1075,7 +1090,7 @@ neo_komma: else if (Ebene = 3)
send {blind}"
else if ((Ebene = 4) and !(CheckDeadUni("c1",0x00B2)
- or CheckDeadUni("c5",0x2082)))
+ or CheckDeadUni("c5",0x2082)))
Send {blind}{NumPad2}
else if (Ebene = 5)
SendUnicodeChar(0x03C1) ; rho
@@ -1095,12 +1110,12 @@ neo_punkt: else if (Ebene = 3)
send {blind}'
else if ((Ebene = 4) and !(CheckDeadUni("c1",0x00B3)
- or CheckDeadUni("c5",0x2083)))
+ or CheckDeadUni("c5",0x2083)))
Send {blind}{NumPad3}
else if (Ebene = 5)
SendUnicodeChar(0x03D1) ; theta symbol (vartheta)
else if (Ebene = 6)
- SendUnicodeChar(0x0398) ; Theta
+ SendUnicodeChar(0x0398) ; Theta
return
@@ -1108,12 +1123,12 @@ neo_j: EbeneAktualisieren()
if (Ebene12 and !(CheckDeadUni12("c1",0x0135,0x0134)
or CheckDeadUni12("c2",0x01F0,"")
- or CheckCompUni12("i",0x0133,"") ; ij
- or CheckCompUni12("I","",0x0132) ; IJ
- or CheckCompUni12("l",0x01C9,"") ; lj
- or CheckCompUni12("L",0x01C8,0x01C7) ; Lj/LJ
- or CheckCompUni12("n",0x01CC,"") ; nj
- or CheckCompUni12("N",0x01CB,0x01CA))) ; Nj/NJ
+ or CheckCompUni("i",0x0133) ; ij
+ or CheckCompUni("l",0x01C9) ; lj
+ or CheckCompUni("n",0x01CC) ; nj
+ or CheckCompUni("I",0x0132) ; IJ
+ or CheckCompUni12("L",0x01C8,0x01C7) ; Lj/LJ
+ or CheckCompUni12("N",0x01CB,0x01CA))) ; Nj/NJ
OutputChar("j","J")
else if (Ebene = 3)
send {blind}`;
@@ -1129,343 +1144,325 @@ return Numpad
-
- folgende Tasten verhalten sich bei ein- und ausgeschaltetem
- NumLock gleich:
*/
+neo_NumLock:
+ EbeneAktualisieren()
+ if (Ebene = 1)
+ send `=
+ if (Ebene = 2) ; Funktioniert nicht
+ {
+ SetNumLockState
+ send {NumLock}
+ }
+ if (Ebene = 3)
+ SendUnicodeChar(0x2248) ; Fast gleich
+ if (Ebene = 4)
+ SendUnicodeChar(0x2260) ; Ungleich zu
+return
+
neo_NumpadDiv:
EbeneAktualisieren()
- if ((Ebene = 1) or (Ebene = 2))
+ if Ebene14
send {blind}{NumpadDiv}
+ else if (Ebene = 2)
+ SendUnicodeChar(0x2215) ; Slash
else if (Ebene = 3)
send {blind}÷
- else if ((Ebene = 4) or (Ebene = 5))
- SendUnicodeChar(0x2215) ; slash
return
neo_NumpadMult:
EbeneAktualisieren()
- if ((Ebene = 1) or (Ebene = 2))
+ if Ebene14
send {blind}{NumpadMult}
+ else if (Ebene = 2)
+ SendUnicodeChar(0x22C5) ; Cdot
else if (Ebene = 3)
send {blind}×
- else if ((Ebene = 4) or (Ebene = 5))
- SendUnicodeChar(0x22C5) ; cdot
return
neo_NumpadSub:
EbeneAktualisieren()
- if (((Ebene = 1) or (Ebene = 2)) and !(CheckDeadUni("c1",0x207B)
- or CheckDeadUni("c5",0x208B)))
+ if (Ebene14 and !(CheckDeadUni("c1",0x207B)
+ or CheckDeadUni("c5",0x208B)))
send {blind}{NumpadSub}
else if (Ebene = 3)
- SendUnicodeChar(0x2212) ; echtes minus
+ SendUnicodeChar(0x2212) ; Echtes Minus
return
neo_NumpadAdd:
EbeneAktualisieren()
- if (((Ebene = 1) or (Ebene = 2)) and !(CheckDeadUni("c1",0x207A)
- or CheckDeadUni("c5",0x208A)))
+ if (Ebene14 and !(CheckDeadUni("c1",0x207A)
+ or CheckDeadUni("c5",0x208A)))
send {blind}{NumpadAdd}
else if (Ebene = 3)
send {blind}±
- else if ((Ebene = 4) or (Ebene = 5))
- SendUnicodeChar(0x2213) ; -+
+ else if (Ebene = 2)
+ SendUnicodeChar(0x2213) ; Inverses ±
return
neo_NumpadEnter:
- EbeneAktualisieren()
- if ((Ebene = 1) or (Ebene = 2))
- send {blind}{NumpadEnter}
- else if (Ebene = 3)
- SendUnicodeChar(0x2260) ; neq
- else if ((Ebene = 4) or (Ebene = 5))
- SendUnicodeChar(0x2248) ; approx
+ send {blind}{NumpadEnter}
return
-/*
- folgende Tasten verhalten sich bei ein- und ausgeschaltetem NumLock
- unterschiedlich
-*/
-
-
-
neo_Numpad7:
EbeneAktualisieren()
- if ((Ebene = 1) and (NumLock = 0))
- send {blind}{NumpadHome}
- else if ((Ebene = 2) and (NumLock = 1))
- send {blind}{Shift up}{NumpadHome}{Shift down}
- else if (((Ebene = 1) and (NumLock = 1)) or ((Ebene = 2) and (NumLock = 0)))
+ if (Ebene = 1)
{
- if (Ebene = 1)
+ if NumLock
send {blind}{Numpad7}
else
- send {blind){Shift up}{Numpad7}{Shift down}
-
+ send {blind){Shift up}{Numpad7}
if (PriorDeadKey = "comp")
- CompKey := "Num_7"
+ CompKey := "7"
}
+ else if (Ebene = 2)
+ SendUnicodeChar(0x2020) ; Kreuz
else if (Ebene = 3)
- SendUnicodeChar(0x2195) ; Hoch-Runter-Pfeil
- else if ((Ebene = 4) or (Ebene = 5))
- SendUnicodeChar(0x226A) ; ll
+ SendUnicodeChar(0x2195) ; Hoch-Runter-Pfeil
+ else if (Ebene = 4)
+ if NumLock
+ send {blind}{Shift up}{NumpadHome}
+ else
+ send {blind}{NumpadHome}
return
neo_Numpad8:
EbeneAktualisieren()
- if ((Ebene = 1) and (NumLock = 0))
- send {blind}{NumpadUp}
- else if ((Ebene = 2) and (NumLock = 1))
- send {blind}{Shift up}{NumpadUp}{Shift down}
- else if (((Ebene = 1) and (NumLock = 1)) or ((Ebene = 2) and (NumLock = 0)))
+ if ((Ebene = 1) and !(CheckCompUni("1",0x215B) ; 1/8
+ or CheckCompUni("3",0x215C) ; 3/8
+ or CheckCompUni("5",0x215D) ; 5/8
+ or CheckCompUni("7",0x215E))) ; 7/8
{
- if !(CheckCompUni("Num_1",0x215B) ; 1/8
- or CheckCompUni("1",0x215B) ; 1/8
- or CheckCompUni("Num_3",0x215C) ; 3/8
- or CheckCompUni("3",0x215C) ; 3/8
- or CheckCompUni("Num_5",0x215D) ; 3/8
- or CheckCompUni("5",0x215D) ; 5/8
- or CheckCompUni("Num_7",0x215E) ; 7/8
- or CheckCompUni("7",0x215E)) ; 7/8
- if (Ebene = 1)
- send {blind}{Numpad8}
- else
- send {blind){Shift up}{Numpad8}{Shift down}
-
+ if NumLock
+ send {blind}{Numpad8}
+ else
+ send {blind){Shift up}{Numpad8}
if (PriorDeadKey = "comp")
- CompKey := "Num_8"
+ CompKey := "8"
}
+ else if (Ebene = 2)
+ SendUnicodeChar(0x2229) ; Durchschnitt
else if (Ebene = 3)
- SendUnicodeChar(0x2191) ; uparrow
- else if ((Ebene = 4) or (Ebene = 5))
- SendUnicodeChar(0x2229) ; intersection
+ SendUnicodeChar(0x2191) ; Hochpfeil
+ else if (Ebene = 4)
+ if NumLock
+ send {blind}{Shift up}{NumpadUp}
+ else
+ send {blind}{NumpadUp}
return
neo_Numpad9:
EbeneAktualisieren()
- if ((Ebene = 1) and (NumLock = 0))
- send {blind}{NumpadPgUp}
- else if ((Ebene = 2) and (NumLock = 1))
- send {blind}{Shift up}{NumpadPgUp}{Shift down}
- else if (((Ebene = 1) and (NumLock = 1)) or ((Ebene = 2) and (NumLock = 0)))
+ if (Ebene = 1)
{
- if (Ebene = 1)
+ if NumLock
send {blind}{Numpad9}
else
- send {blind){Shift up}{Numpad9}{Shift down}
-
+ send {blind){Shift up}{Numpad9}
if (PriorDeadKey = "comp")
- CompKey := "Num_9"
+ CompKey := "9"
}
+ else if (Ebene = 2)
+ SendUnicodeChar(0x2297) ; Tensorprodukt / Vektor in die Ebene zeigend
else if (Ebene = 3)
- SendUnicodeChar(0x2297) ; Tensorprodukt ; Vektor in die Ebene zeigend
- else if ((Ebene = 4) or (Ebene = 5))
- SendUnicodeChar(0x226B) ; gg
+ SendUnicodeChar(0x220D) ; Kleines umgekehrtes Elementzeichen
+ else if (Ebene = 4)
+ if NumLock
+ send {blind}{Shift up}{NumpadPgUp}
+ else
+ send {blind}{NumpadPgUp}
return
-
-
neo_Numpad4:
EbeneAktualisieren()
- if ((Ebene = 1) and (NumLock = 0))
- send {blind}{NumpadLeft}
- else if ((Ebene = 2) and (NumLock = 1))
- send {blind}{Shift up}{NumpadLeft}{Shift down}
- else if (((Ebene = 1) and (NumLock = 1)) or ((Ebene = 2) and (NumLock = 0)))
+ if ((Ebene = 1) and !(CheckCompUni("1",0x00BC) ; 1/4
+ or CheckCompUni("3",0x00BE))) ; 3/4
{
- if !(CheckCompUni("Num_1",0x00BC) ; 1/4
- or CheckCompUni("1",0x00BE) ; 1/4
- or CheckCompUni("Num_3",0x00BE) ; 3/4
- or CheckCompUni("3",0x00BE)) ; 3/4
- if (Ebene = 1)
- send {blind}{Numpad4}
- else
- send {blind){Shift up}{Numpad4}{Shift down}
-
+ if NumLock
+ send {blind}{Numpad4}
+ else
+ send {blind){Shift up}{Numpad4}
if (PriorDeadKey = "comp")
- CompKey := "Num_4"
+ CompKey := "4"
}
+ else if (Ebene = 2)
+ SendUnicodeChar(0x2282) ; Teilmenge
else if (Ebene = 3)
- SendUnicodeChar(0x2190) ; leftarrow
- else if ((Ebene = 4) or (Ebene = 5))
- SendUnicodeChar(0x2282) ; subset of
+ SendUnicodeChar(0x2190) ; Linkspfeil
+ else if (Ebene = 4)
+ if NumLock
+ send {blind}{Shift up}{NumpadLeft}
+ else
+ send {blind}{NumpadLeft}
return
neo_Numpad5:
EbeneAktualisieren()
- if ((Ebene = 1) and (NumLock = 0))
- send {blind}{NumpadClear}
- else if ((Ebene = 2) and (NumLock = 1))
- send {blind}{Shift up}{NumpadClear}{Shift down}
- else if (((Ebene = 1) and (NumLock = 1)) or ((Ebene = 2) and (NumLock = 0)))
+ if ((Ebene = 1) and !(CheckCompUni("1",0x2155) ; 1/5
+ or CheckCompUni("2",0x2156) ; 2/5
+ or CheckCompUni("3",0x2157) ; 3/5
+ or CheckCompUni("4",0x2158))) ; 4/5
{
- if !(CheckCompUni("Num_1",0x2155) ; 1/5
- or CheckCompUni("1",0x2155) ; 1/5
- or CheckCompUni("Num_2",0x2156) ; 2/5
- or CheckCompUni("2",0x2156) ; 2/5
- or CheckCompUni("Num_3",0x2157) ; 3/5
- or CheckCompUni("3",0x2157) ; 3/5
- or CheckCompUni("Num_4",0x2158) ; 4/5
- or CheckCompUni("4",0x2158)) ; 4/5
- if (Ebene = 1)
- send {blind}{Numpad5}
- else
- send {blind){Shift up}{Numpad5}{Shift down}
-
+ if NumLock
+ send {blind}{Numpad5}
+ else
+ send {blind){Shift up}{Numpad5}
if (PriorDeadKey = "comp")
- CompKey := "Num_5"
+ CompKey := "5"
}
else if (Ebene = 3)
- SendUnicodeChar(0x221E) ; INFINITY
- else if ((Ebene = 4) or (Ebene = 5))
- SendUnicodeChar(0x220B) ; enthält das Element
+ SendUnicodeChar(0x221E) ; Unendlich
+ else if (Ebene = 2)
+ SendUnicodeChar(0x20AC) ; Euro
+ else if (Ebene = 4) ; Beg
+ if NumLock
+ send {NumPad5}
+ else
+ send {Shift}{Numpad5}
return
neo_Numpad6:
EbeneAktualisieren()
- if ((Ebene = 1) and (NumLock = 0))
- send {blind}{NumpadRight}
- else if ((Ebene = 2) and (NumLock = 1))
- send {blind}{Shift up}{NumpadRight}{Shift down}
- else if (((Ebene = 1) and (NumLock = 1)) or ((Ebene = 2) and (NumLock = 0)))
+ if ((Ebene = 1) and !(CheckCompUni("1",0x2159) ; 1/6
+ or CheckCompUni("5",0x215a))) ; 5/6
{
- if !(CheckCompUni("Num_1",0x2159) ; 1/6
- or CheckCompUni("1",0x2159) ; 1/6
- or CheckCompUni("Num_5",0x215A) ; 5/6
- or CheckCompUni("5",0x215A)) ; 5/6
- if (Ebene = 1)
- send {blind}{Numpad6}
- else
- send {blind){Shift up}{Numpad6}{Shift down}
-
+ if NumLock
+ send {blind}{Numpad6}
+ else
+ send {blind){Shift up}{Numpad6}
if (PriorDeadKey = "comp")
- CompKey := "Num_6"
+ CompKey := "6"
}
+ else if (Ebene = 2)
+ SendUnicodeChar(0x2283) ; Obermenge
else if (Ebene = 3)
- SendUnicodeChar(0x2192) ; rightarrow
- else if ((Ebene = 4) or (Ebene = 5))
- SendUnicodeChar(0x2283) ; superset of
+ SendUnicodeChar(0x2192) ; Rechtspfeil
+ else if (Ebene = 4)
+ if NumLock
+ send {blind}{Shift up}{NumpadRight}
+ else
+ send {blind}{NumpadRight}
return
neo_Numpad1:
EbeneAktualisieren()
- if ((Ebene = 1) and (NumLock = 0))
- send {blind}{NumpadEnd}
- else if ((Ebene = 2) and (NumLock = 1))
- send {blind}{Shift up}{NumpadEnd}{Shift down}
- else if (((Ebene = 1) and (NumLock = 1)) or ((Ebene = 2) and (NumLock = 0)))
+ if (Ebene = 1)
{
- if (Ebene = 1)
+ if NumLock
send {blind}{Numpad1}
else
- send {blind){Shift up}{Numpad1}{Shift down}
-
+ send {blind){Shift up}{Numpad1}
if (PriorDeadKey = "comp")
- CompKey := "Num_1"
+ CompKey := "1"
}
+ else if (Ebene = 2)
+ SendUnicodeChar(0x2714) ; Häkchen
else if (Ebene = 3)
SendUnicodeChar(0x2194) ; Links-Rechts-Pfeil
- else if ((Ebene = 4) or (Ebene = 5))
- SendUnicodeChar(0x2264) ; leq
+ else if (Ebene = 4)
+ if NumLock
+ send {blind}{Shift up}{NumpadEnd}
+ else
+ send {blind}{NumpadEnd}
return
neo_Numpad2:
EbeneAktualisieren()
- if ((Ebene = 1) and (NumLock = 0))
- send {blind}{NumpadDown}
- else if ((Ebene = 2) and (NumLock = 1))
- send {blind}{Shift up}{NumpadDown}{Shift down}
- else if (((Ebene = 1) and (NumLock = 1)) or ((Ebene = 2) and (NumLock = 0)))
+ if ((Ebene = 1) and !(CheckCompUni("1",0x00BD))) ; 1/2
{
- if !(CheckCompUni("Num_1",0x00BD) ; 1/2
- or CheckCompUni("1",0x00BD)) ; 1/2
- if (Ebene = 1)
- send {blind}{Numpad2}
- else
- send {blind){Shift up}{Numpad2}{Shift down}
-
+ if NumLock
+ send {blind}{Numpad2}
+ else
+ send {blind){Shift up}{Numpad2}
if (PriorDeadKey = "comp")
- CompKey := "Num_2"
+ CompKey := "2"
}
+ else if (Ebene = 2)
+ SendUnicodeChar(0x222A) ; Vereinigung
else if (Ebene = 3)
- SendUnicodeChar(0x2193) ; downarrow
- else if ((Ebene = 4) or (Ebene = 5))
- SendUnicodeChar(0x222A) ; vereinigt
+ SendUnicodeChar(0x2192) ; Untenpfeil
+ else if (Ebene = 4)
+ if NumLock
+ send {blind}{Shift up}{NumpadDown}
+ else
+ send {blind}{NumpadDown}
return
neo_Numpad3:
EbeneAktualisieren()
- if ((Ebene = 1) and (NumLock = 0))
- send {blind}{NumpadPgDn}
- else if ((Ebene = 2) and (NumLock = 1))
- send {blind}{Shift up}{NumpadPgDn}{Shift down}
- else if (((Ebene = 1) and (NumLock = 1)) or ((Ebene = 2) and (NumLock = 0)))
+ if ((Ebene = 1) and !(CheckCompUni("1",0x2153) ; 1/3
+ or CheckCompUni("5",0x2154))) ; 2/3
{
- if !(CheckCompUni("Num_1",0x2153) ; 1/3
- or CheckCompUni("1",0x2154) ; 1/3
- or CheckCompUni("Num_2",0x2154) ; 2/3
- or CheckCompUni("2",0x2154)) ; 2/3
- if (Ebene = 1)
- send {blind}{Numpad3}
- else
- send {blind){Shift up}{Numpad3}{Shift down}
-
+ if NumLock
+ send {blind}{Numpad3}
+ else
+ send {blind){Shift up}{Numpad3}
if (PriorDeadKey = "comp")
- CompKey := "Num_3"
+ CompKey := "3"
}
+ else if (Ebene = 2)
+ SendUnicodeChar(0x2718) ; Kreuzchen
else if (Ebene = 3)
- SendUnicodeChar(0x21CC) ; RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON
- else if ((Ebene = 4) or (Ebene = 5))
- SendUnicodeChar(0x2265) ; geq
+ SendUnicodeChar(0x2192) ; Rechtspfeil
+ else if (Ebene = 4)
+ if NumLock
+ send {blind}{Shift up}{NumpadPgDn}
+ else
+ send {blind}{NumpadPgDn}
return
neo_Numpad0:
EbeneAktualisieren()
- if ((Ebene = 1) and (NumLock = 0))
- send {blind}{NumpadIns}
- else if ((Ebene = 2) and (NumLock = 1))
- send {blind}{Shift up}{NumpadIns}{Shift down}
- else if (((Ebene = 1) and (NumLock = 1)) or ((Ebene = 2) and (NumLock = 0)))
+ if (Ebene = 1)
{
- if (Ebene = 1)
+ if NumLock
send {blind}{Numpad0}
else
- send {blind){Shift up}{Numpad0}{Shift down}
-
+ send {blind){Shift up}{Numpad0}
if (PriorDeadKey = "comp")
- CompKey := "Num_0"
+ CompKey := "0"
}
+ else if (Ebene = 2)
+ SendUnicodeChar(0x2030) ; Promille
else if (Ebene = 3)
- send {blind}`%
- else if ((Ebene = 4) or (Ebene = 5))
- send ‰
+ SendUnicodeChar(0x0025) ; Prozent
+ else if (Ebene = 4)
+ if NumLock
+ send {blind}{Shift up}{NumpadIns}
+ else
+ send {blind}{NumpadIns}
return
neo_NumpadDot:
EbeneAktualisieren()
- if ((Ebene = 1) and (NumLock = 0))
- send {blind}{NumpadDel}
- else if ((Ebene = 2) and (NumLock = 1))
- send {blind}{Shift up}{NumpadDel}{Shift down}
- else if (((Ebene = 1) and (NumLock = 1)) or ((Ebene = 2) and (NumLock = 0)))
- if (Ebene = 1)
+ if (Ebene = 1)
+ {
+ if NumLock
send {blind}{NumpadDot}
- else
- send {blind){Shift up}{NumpadDot}{Shift down}
+ else
+ send {blind){Shift up}{NumpadDot}
+ }
+ else if (Ebene = 2)
+ send `,
else if (Ebene = 3)
send {blind}.
- else if ((Ebene = 4) or (Ebene = 5))
- send `,
+ else if (Ebene = 4)
+ if NumLock
+ send {blind}{Shift up}{NumpadDel}
+ else
+ send {blind}{NumpadDel}
return
+
+
/*
Sondertasten
*/
+
*space::
if ((einHandNeo))
spacepressed := 1
@@ -1512,11 +1509,7 @@ return /*
Folgende Tasten sind nur aufgeführt, um PriorDeadKey zu leeren.
Irgendwie sieht das noch nicht schön aus. Vielleicht lässt sich dieses
- Problem irgendwie eleganter lösen...
-
- Nachtrag:
- Weil es mit Alt+Tab Probleme gab, wird hier jetzt erstmal rumgeflickschustert,
- bis eine allgemeinere Lösung gefunden wurde.
+ Problem auch eleganter lösen...
*/
*Enter::
@@ -1535,6 +1528,7 @@ return }
return
+
*Del::
if (not(lernModus) or lernModus_std_Entf)
send {Blind}{Del}
|