summaryrefslogtreecommitdiffstats
path: root/windows/autohotkey/Source/Keys-Neo.ahk
diff options
context:
space:
mode:
Diffstat (limited to 'windows/autohotkey/Source/Keys-Neo.ahk')
-rw-r--r--windows/autohotkey/Source/Keys-Neo.ahk3683
1 files changed, 934 insertions, 2749 deletions
diff --git a/windows/autohotkey/Source/Keys-Neo.ahk b/windows/autohotkey/Source/Keys-Neo.ahk
index 1517cc3..ca98dec 100644
--- a/windows/autohotkey/Source/Keys-Neo.ahk
+++ b/windows/autohotkey/Source/Keys-Neo.ahk
@@ -19,780 +19,404 @@ Die eigentliche NEO-Belegung und der Hauptteil des AHK-Treibers.
neo_tot1:
EbeneAktualisieren()
- if Ebene = 1
+ if (Ebene = 1)
{
- SendUnicodeChar(0x02C6) ; circumflex, tot
- PriorDeadKey := "c1"
+ deadUni(0x02C6) ; circumflex, tot
+ DeadKey := "c1"
}
- else if Ebene = 2
+ else if (Ebene = 2)
{
- SendUnicodeChar(0x02C7) ; caron, tot
- PriorDeadKey := "c2"
+ deadUni(0x02C7) ; caron, tot
+ DeadKey := "c2"
}
- else if Ebene = 3
+ else if (Ebene = 3)
{
- SendUnicodeChar(0x02D8) ; brevis
- PriorDeadKey := "c3"
+ deadUni(0x02D8) ; brevis
+ DeadKey := "c3"
}
- else if Ebene = 4
+ else if (Ebene = 4)
{
- SendUnicodeChar(0x00B7) ; Mittenpunkt, tot
- PriorDeadKey := "c4"
+ deadUni(0x00B7) ; Mittenpunkt, tot
+ DeadKey := "c4"
}
- else if Ebene = 5
+ else if (Ebene = 5)
{
- send - ; querstrich, tot
- PriorDeadKey := "c5"
+ deadAsc("-") ; querstrich, tot
+ DeadKey := "c5"
}
- else if Ebene = 6
+ else if (Ebene = 6)
{
- Send . ; punkt darunter (colon)
- PriorDeadKey := "c6"
+ deadAsc(".") ; punkt darunter (colon)
+ DeadKey := "c6"
}
+ CompKey := PriorCompKey
return
neo_1:
EbeneAktualisieren()
- if Ebene = 1
+ if (Ebene = 1)
{
- if (PriorDeadKey = "c1") ; circumflex 1
- BSSendUnicodeChar(0x00B9)
- else if (PriorDeadKey = "c5") ; toter -
- BSSendUnicodeChar(0x2081)
- else if (CompKey = "r_small_1")
- Comp3UnicodeChar(0x217A) ; römisch xi
- else if (CompKey = "r_capital_1")
- Comp3UnicodeChar(0x216A) ; römisch XI
- else
- {
- if GetKeyState("CapsLock","T")
- {
- if (IsModifierPressed())
- {
- send {blind}1
- }
- else
- {
- send 1
- }
- }
- else {
- if ( not(lernModus) or (lernModus_std_ZahlenReihe) )
- {
- send {blind}1
- }
- }
- }
- if (PriorDeadKey = "comp")
+ if !(CheckDeadUni("c1",0x00B9)
+ or CheckDeadUni("c5",0x2081)
+ or CheckComp3Uni("r_1",0x217A) ; römisch xi
+ or CheckComp3Uni("R_1",0x216A)) ; römisch XI
+ if (GetKeyState("CapsLock","T"))
+ send {blind}{Shift down}1{Shift up}
+ else if (not(lernModus) or lernModus_std_ZahlenReihe)
+ send {blind}1
+
+ if (PriorDeadKey = "comp")
CompKey := "1"
- else if (CompKey = "r_small")
- CompKey := "r_small_1"
- else if (CompKey = "r_capital")
- CompKey := "r_capital_1"
- else
- CompKey := ""
+ else if (PriorCompKey = "r")
+ CompKey := "r_1"
+ else if (PriorCompKey = "R")
+ CompKey := "R_1"
}
- else if Ebene = 2
- {
+ else if (Ebene = 2)
send °
- CompKey := ""
- }
- else if Ebene = 3
- {
+ else if (Ebene = 3)
SendUnicodeChar(0x00B9) ; 2 Hochgestellte
- CompKey := ""
- }
- else if Ebene = 4
- {
+ else if (Ebene = 4)
SendUnicodeChar(0x2022) ; bullet
- CompKey := ""
- }
- else if Ebene = 5
- {
+ else if (Ebene = 5)
SendUnicodeChar(0x2640) ; Piktogramm weiblich
- CompKey := ""
- }
- else if Ebene = 6
- {
+ else if (Ebene = 6)
SendUnicodeChar(0x00AC) ; Nicht-Symbol
- CompKey := ""
- }
- PriorDeadKey := ""
return
neo_2:
EbeneAktualisieren()
- if Ebene = 1
+ if (Ebene = 1)
{
- if (PriorDeadKey = "c1") ; circumflex
- BSSendUnicodeChar(0x00B2)
- else if (PriorDeadKey = "c5") ; toter -
- BSSendUnicodeChar(0x2082)
- else if (CompKey = "r_small")
- CompUnicodeChar(0x2171) ; römisch ii
- else if (CompKey = "r_capital")
- CompUnicodeChar(0x2161) ; römisch II
- else if (CompKey = "r_small_1")
- Comp3UnicodeChar(0x217B) ; römisch xii
- else if (CompKey = "r_capital_1")
- Comp3UnicodeChar(0x216B) ; römisch XII
- else
- {
- if GetKeyState("CapsLock","T")
- {
- if (IsModifierPressed())
- {
- send {blind}2
- }
- else
- {
- send 2
- }
-
- }
- else {
- if ( not(lernModus) or (lernModus_std_ZahlenReihe) )
- {
- send {blind}2
- }
- }
- }
+ if !(CheckDeadUni("c1",0x00B2)
+ or CheckDeadUni("c5",0x2082)
+ or CheckCompUni("r",0x2171) ; römisch ii
+ or CheckCompUni("R",0x2161) ; römisch II
+ or CheckComp3Uni("r_1",0x217B) ; römisch xii
+ or CheckComp3Uni("R_1",0x216B)) ; römisch XII
+ if (GetKeyState("CapsLock","T"))
+ send {blind}{Shift down}2{Shift up}
+ else if (not(lernModus) or lernModus_std_ZahlenReihe)
+ send {blind}2
+
if (PriorDeadKey = "comp")
CompKey := "2"
- else
- CompKey := ""
}
- else if Ebene = 2
- {
+ else if (Ebene = 2)
SendUnicodeChar(0x2116) ; numero
- CompKey := ""
- }
- else if Ebene = 3
- {
+ else if (Ebene = 3)
SendUnicodeChar(0x00B2) ; 2 Hochgestellte
- CompKey := ""
- }
- else if Ebene = 4
- {
+ else if (Ebene = 4)
SendUnicodeChar(0x2023) ; aufzaehlungspfeil
- CompKey := ""
- }
- else if Ebene = 5
- {
+ else if (Ebene = 5)
SendUnicodeChar(0x26A5) ; Piktogramm Zwitter
- CompKey := ""
- }
- else if Ebene = 6
- {
+ else if (Ebene = 6)
SendUnicodeChar(0x2228) ; Logisches Oder
- CompKey := ""
- }
- PriorDeadKey := ""
return
neo_3:
EbeneAktualisieren()
- if Ebene = 1
+ if (Ebene = 1)
{
- if (PriorDeadKey = "c1") ; circumflex
- BSSendUnicodeChar(0x00B3)
- else if (PriorDeadKey = "c5") ; toter -
- BSSendUnicodeChar(0x2083)
- else if (CompKey = "1")
- CompUnicodeChar(0x2153) ; 1/3
- else if (CompKey = "2")
- CompUnicodeChar(0x2154) ; 2/3
- else if (CompKey = "r_small")
- CompUnicodeChar(0x2172) ; römisch iii
- else if (CompKey = "r_capital")
- CompUnicodeChar(0x2162) ; römisch III
- else
- {
- if GetKeyState("CapsLock","T")
- {
- if (IsModifierPressed())
- {
- send {blind}3
- }
- else
- {
- send 3
- }
- }
- else {
- if ( not(lernModus) or (lernModus_std_ZahlenReihe) )
- {
- send {blind}3
- }
- }
- }
+ if !(CheckDeadUni("c1",0x00B3)
+ or CheckDeadUni("c5",0x2083)
+ or CheckCompUni("1",0x2153) ; 1/3
+ or CheckCompUni("2",0x2154) ; 2/3
+ or CheckCompUni("r",0x2172) ; römisch iii
+ or CheckCompUni("R",0x2162)) ; römisch III
+ if (GetKeyState("CapsLock","T"))
+ send {blind}{Shift down}3{Shift up}
+ else if (not(lernModus) or lernModus_std_ZahlenReihe)
+ send {blind}3
+
if (PriorDeadKey = "comp")
CompKey := "3"
- else
- CompKey := ""
}
- else if Ebene = 2
- {
+ else if (Ebene = 2)
send §
- CompKey := ""
- }
- else if Ebene = 3
- {
+ else if (Ebene = 3)
SendUnicodeChar(0x00B3) ; 3 Hochgestellte
- CompKey := ""
- }
- else if Ebene = 4
- { } ; leer
- else if Ebene = 5
+ else if (Ebene = 4)
{
+ CompKey := PriorCompKey
+ DeadKey := PriorDeadKey
+ } ; leer
+ else if (Ebene = 5)
SendUnicodeChar(0x2642) ; Piktogramm Mann
- CompKey := ""
- }
- else if Ebene = 6
- {
+ else if (Ebene = 6)
SendUnicodeChar(0x2227) ; Logisches Und
- CompKey := ""
- }
- PriorDeadKey := ""
return
neo_4:
EbeneAktualisieren()
- if Ebene = 1
+ if (Ebene = 1)
{
- if (PriorDeadKey = "c1") ; circumflex
- BSSendUnicodeChar(0x2074)
- else if (PriorDeadKey = "c5") ; toter -
- BSSendUnicodeChar(0x2084)
- else if (CompKey = "r_small")
- CompUnicodeChar(0x2173) ; römisch iv
- else if (CompKey = "r_capital")
- CompUnicodeChar(0x2163) ; römisch IV
- else
- {
- if GetKeyState("CapsLock","T")
- {
- if (IsModifierPressed())
- {
- send {blind}4
- }
- else
- {
- send 4
- }
-
- }
- else
- {
- if ( not(lernModus) or (lernModus_std_ZahlenReihe) )
- {
- send {blind}4
- }
- }
- }
+ if !(CheckDeadUni("c1",0x2074)
+ or CheckDeadUni("c5",0x2084)
+ or CheckCompUni("r",0x2173) ; römisch iv
+ or CheckCompUni("R",0x2163)) ; römisch IV
+ if (GetKeyState("CapsLock","T"))
+ send {blind}{Shift down}4{Shift up}
+ else if (not(lernModus) or lernModus_std_ZahlenReihe)
+ send {blind}4
+
if (PriorDeadKey = "comp")
CompKey := "4"
- else
- CompKey := ""
- }
- else if Ebene = 2
- {
- SendUnicodeChar(0x00BB) ; », Double guillemot right
- CompKey := ""
- }
- else if Ebene = 3
- {
- Send › ; Single guillemot right
- CompKey := ""
- }
- else if Ebene = 4
- {
- Send {PgUp} ; Prev
- CompKey := ""
}
- else if Ebene = 5
- {
+ else if (Ebene = 2)
+ SendUnicodeChar(0x00BB) ; », Double guillemot right
+ else if (Ebene = 3)
+ Send {blind}› ; Single guillemot right
+ else if (Ebene = 4)
+ Send {blind}{PgUp} ; Prev
+ else if (Ebene = 5)
SendUnicodeChar(0x2113) ; Script small L
- CompKey := ""
- }
- else if Ebene = 6
- {
+ else if (Ebene = 6)
SendUnicodeChar(0x22A5) ; Senkrecht
- CompKey := ""
- }
- PriorDeadKey := ""
return
neo_5:
EbeneAktualisieren()
- if Ebene = 1
- {
- if (PriorDeadKey = "c1") ; circumflex
- BSSendUnicodeChar(0x2075)
- else if (PriorDeadKey = "c5") ; toter -
- BSSendUnicodeChar(0x2085)
- else if (CompKey = "1")
- CompUnicodeChar(0x2155) ; 1/5
- else if (CompKey = "2")
- CompUnicodeChar(0x2156) ; 2/5
- else if (CompKey = "3")
- CompUnicodeChar(0x2157) ; 3/5
- else if (CompKey = "4")
- CompUnicodeChar(0x2158) ; 4/5
- else if (CompKey = "r_small")
- CompUnicodeChar(0x2174) ; römisch v
- else if (CompKey = "r_capital")
- CompUnicodeChar(0x2164) ; römisch V
- else
- {
- if GetKeyState("CapsLock","T")
- {
- if (IsModifierPressed())
- {
- send {blind}5
- }
- else
- {
- send 5
- }
-
- }
- else {
- if ( not(lernModus) or (lernModus_std_ZahlenReihe) )
- {
- send {blind}5
- }
- }
- }
+ if (Ebene = 1)
+ {
+ if !(CheckDeadUni("c1",0x2075)
+ or CheckDeadUni("c5",0x2085)
+ or CheckCompUni("1",0x2155) ; 1/5
+ or CheckCompUni("2",0x2156) ; 2/5
+ or CheckCompUni("3",0x2157) ; 3/5
+ or CheckCompUni("4",0x2158) ; 4/5
+ or CheckCompUni("r",0x2174) ; römisch v
+ or CheckCompUni("R",0x2164)) ; römisch V
+ if (GetKeyState("CapsLock","T"))
+ send {blind}{Shift down}5{Shift up}
+ else if (not(lernModus) or lernModus_std_ZahlenReihe)
+ send {blind}5
+
if (PriorDeadKey = "comp")
CompKey := "5"
- else
- CompKey := ""
- }
- else if Ebene = 2
- {
- SendUnicodeChar(0x00AB) ; «, Double guillemot left
- CompKey := ""
}
- else if Ebene = 3
- {
- Send ‹ ; Single guillemot left
- CompKey := ""
- }
- else if Ebene = 4
- { } ; leer
- else if Ebene = 5
- {
+ else if (Ebene = 2)
+ SendUnicodeChar(0x00AB) ; «, Double guillemot left
+ else if (Ebene = 3)
+ Send {blind}‹ ; Single guillemot left
+ else if (Ebene = 4)
+ {
+ CompKey := PriorCompKey
+ DeadKey := PriorDeadKey
+ } ; leer
+ else if (Ebene = 5)
SendUnicodeChar(0x2020) ; Kreuz (Dagger)
- CompKey := ""
- }
- else if Ebene = 6
- {
+ else if (Ebene = 6)
SendUnicodeChar(0x2221) ; Winkel
- CompKey := ""
- }
- PriorDeadKey := ""
return
neo_6:
EbeneAktualisieren()
- if Ebene = 1
+ if (Ebene = 1)
{
- if (PriorDeadKey = "c1") ; circumflex
- BSSendUnicodeChar(0x2076)
- else if (PriorDeadKey = "c5") ; toter -
- BSSendUnicodeChar(0x2086)
- else if (CompKey = "1")
- CompUnicodeChar(0x2159) ; 1/6
- else if (CompKey = "5")
- CompUnicodeChar(0x215A) ; 5/6
- else if (CompKey = "r_small")
- CompUnicodeChar(0x2175) ; römisch vi
- else if (CompKey = "r_capital")
- CompUnicodeChar(0x2165) ; römisch VI
- else
- {
- if GetKeyState("CapsLock","T")
- {
- if (IsModifierPressed())
- {
- send {blind}6
- }
- else
- {
- send 6
- }
-
- }
- else {
- if ( not(lernModus) or (lernModus_std_ZahlenReihe) )
- {
- send {blind}6
- }
- }
- }
+ if !(CheckDeadUni("c1",0x2076)
+ or CheckDeadUni("c5",0x2086)
+ or CheckCompUni("1",0x2159) ; 1/6
+ or CheckCompUni("5",0x215A) ; 5/6
+ or CheckCompUni("r",0x2175) ; römisch vi
+ or CheckCompUni("R",0x2165)) ; römisch VI
+ if (GetKeyState("CapsLock","T"))
+ send {blind}{Shift down}6{Shift up}
+ else if (not(lernModus) or lernModus_std_ZahlenReihe)
+ send {blind}6
+
if (PriorDeadKey = "comp")
CompKey := "6"
- else
- CompKey := ""
- }
- else if Ebene = 2
- {
- send €
- CompKey := ""
}
- else if Ebene = 3
- {
- send ¢
- CompKey := ""
- }
- else if Ebene = 4
- {
- send £
- CompKey := ""
- }
- else if Ebene = 5
- { } ; leer
- else if Ebene = 6
- {
+ else if (Ebene = 2)
+ send €
+ else if (Ebene = 3)
+ send {blind}¢
+ else if (Ebene = 4)
+ send {blind}£
+ else if (Ebene = 5)
+ {
+ CompKey := PriorCompKey
+ DeadKey := PriorDeadKey
+ } ; leer
+ else if (Ebene = 6)
SendUnicodeChar(0x2225) ; parallel
- CompKey := ""
- }
- PriorDeadKey := ""
return
neo_7:
EbeneAktualisieren()
- if Ebene = 1
+ if (Ebene = 1)
{
- if (PriorDeadKey = "c1") ; circumflex
- BSSendUnicodeChar(0x2077)
- else if (PriorDeadKey = "c5") ; toter -
- BSSendUnicodeChar(0x2087)
- else if (CompKey = "r_small")
- CompUnicodeChar(0x2176) ; römisch vii
- else if (CompKey = "r_capital")
- CompUnicodeChar(0x2166) ; römisch VII
- else
- {
- if GetKeyState("CapsLock","T")
- {
- if (IsModifierPressed())
- {
- send {blind}7
- }
- else
- {
- send 7
- }
-
- }
- else {
- if ( not(lernModus) or (lernModus_std_ZahlenReihe) )
- {
- send {blind}7
- }
- }
- }
+ if !(CheckDeadUni("c1",0x2077)
+ or CheckDeadUni("c5",0x2087)
+ or CheckCompUni("r",0x2176) ; römisch vii
+ or CheckCompUni("R",0x2166)) ; römisch VII
+ if (GetKeyState("CapsLock","T"))
+ send {blind}{Shift down}7{Shift up}
+ else if (not(lernModus) or lernModus_std_ZahlenReihe)
+ send {blind}7
+
if (PriorDeadKey = "comp")
CompKey := "7"
- else
- CompKey := ""
- }
- else if Ebene = 2
- {
- send $
- CompKey := ""
}
- else if Ebene = 3
- {
- send ¥
- CompKey := ""
- }
- else if Ebene = 4
- {
- send ¤
- CompKey := ""
- }
- else if Ebene = 5
- {
+ else if (Ebene = 2)
+ send $
+ else if (Ebene = 3)
+ send {blind}¥
+ else if (Ebene = 4)
+ send {blind}¤
+ else if (Ebene = 5)
SendUnicodeChar(0x03BA) ; greek small letter kappa
- CompKey := ""
- }
- else if Ebene = 6
- {
+ else if (Ebene = 6)
SendUnicodeChar(0x2209) ; nicht Element von
- CompKey := ""
- }
- PriorDeadKey := ""
return
neo_8:
EbeneAktualisieren()
- if Ebene = 1
- {
- if (PriorDeadKey = "c1") ; circumflex
- BSSendUnicodeChar(0x2078)
- else if (PriorDeadKey = "c5") ; toter -
- BSSendUnicodeChar(0x2088)
- else if (CompKey = "1")
- CompUnicodeChar(0x215B) ; 1/8
- else if (CompKey = "3")
- CompUnicodeChar(0x215C) ; 3/8
- else if (CompKey = "5")
- CompUnicodeChar(0x215D) ; 5/8
- else if (CompKey = "7")
- CompUnicodeChar(0x215E) ; 7/8
- else if (CompKey = "r_small")
- CompUnicodeChar(0x2177) ; römisch viii
- else if (CompKey = "r_capital")
- CompUnicodeChar(0x2167) ; römisch VIII
- else
- {
- if GetKeyState("CapsLock","T")
- {
- if (IsModifierPressed())
- {
- send {blind}8
- }
- else
- {
- send 8
- }
-
- }
- else {
- if ( not(lernModus) or (lernModus_std_ZahlenReihe) )
- {
- send {blind}8
- }
- }
- }
+ if (Ebene = 1)
+ {
+ if !(CheckDeadUni("c1",0x2078)
+ or CheckDeadUni("c5",0x2088)
+ or CheckCompUni("1",0x215B) ; 1/8
+ or CheckCompUni("3",0x215C) ; 3/8
+ or CheckCompUni("5",0x215D) ; 5/8
+ or CheckCompUni("7",0x215E) ; 7/8
+ or CheckCompUni("r",0x2177) ; römisch viii
+ or CheckCompUni("R",0x2167)) ; römisch VIII
+ if (GetKeyState("CapsLock","T"))
+ send {blind}{Shift down}8{Shift up}
+ else if (not(lernModus) or lernModus_std_ZahlenReihe)
+ send {blind}8
+
if (PriorDeadKey = "comp")
CompKey := "8"
- else
- CompKey := ""
- }
- else if Ebene = 2
- {
- send „
- CompKey := ""
- }
- else if Ebene = 3
- {
- send ‚
- CompKey := ""
}
- else if Ebene = 4
- {
- Send /
- CompKey := ""
- }
- else if Ebene = 5
- {
+ else if (Ebene = 2)
+ send „
+ else if (Ebene = 3)
+ send {blind}‚
+ else if (Ebene = 4)
+ Send {blind}{NumpadDiv}
+ else if (Ebene = 5)
SendUnicodeChar(0x27E8) ;bra (öffnende spitze klammer)
- }
- else if Ebene = 6
- {
+ else if (Ebene = 6)
SendUnicodeChar(0x2204) ; es existiert nicht
- CompKey := ""
- }
- PriorDeadKey := ""
return
neo_9:
EbeneAktualisieren()
- if Ebene = 1
+ if (Ebene = 1)
{
- if (PriorDeadKey = "c1") ; circumflex
- BSSendUnicodeChar(0x2079)
- else if (PriorDeadKey = "c5") ; toter -
- BSSendUnicodeChar(0x2089)
- else if (CompKey = "r_small")
- CompUnicodeChar(0x2178) ; römisch ix
- else if (CompKey = "r_capital")
- CompUnicodeChar(0x2168) ; römisch IX
- else
- {
- if GetKeyState("CapsLock","T")
- {
- if (IsModifierPressed())
- {
- send {blind}9
- }
- else
- {
- send 9
- }
-
- }
- else {
- if ( not(lernModus) or (lernModus_std_ZahlenReihe) )
- {
- send {blind}9
- }
- }
- }
+ if !(CheckDeadUni("c1",0x2079)
+ or CheckDeadUni("c5",0x2089)
+ or CheckCompUni("r",0x2178) ; römisch ix
+ or CheckCompUni("R",0x2168)) ; römisch IX
+ if (GetKeyState("CapsLock","T"))
+ send {blind}{Shift down}9{Shift up}
+ else if (not(lernModus) or lernModus_std_ZahlenReihe)
+ send {blind}9
+
if (PriorDeadKey = "comp")
CompKey := "9"
- else
- CompKey := ""
- }
- else if Ebene = 2
- {
- send “
- CompKey := ""
}
- else if Ebene = 3
- {
- send ‘
- CompKey := ""
- }
- else if Ebene = 4
- {
- Send *
- CompKey := ""
- }
- else if Ebene = 5
- {
+ else if (Ebene = 2)
+ send “
+ else if (Ebene = 3)
+ send {blind}‘
+ else if (Ebene = 4)
+ Send {blind}{NumpadMult}
+ else if (Ebene = 5)
SendUnicodeChar(0x27E9) ;ket (schließende spitze klammer)
- }
- else if Ebene = 6
- {
+ else if (Ebene = 6)
SendUnicodeChar(0x2226) ; nicht parallel
- CompKey := ""
- }
- PriorDeadKey := ""
return
neo_0:
EbeneAktualisieren()
- if Ebene = 1
+ if (Ebene = 1)
{
- if (PriorDeadKey = "c1") ; circumflex
- BSSendUnicodeChar(0x2070)
- else if (PriorDeadKey = "c5") ; toter -
- BSSendUnicodeChar(0x2080)
- else if (CompKey = "r_small_1")
- Comp3UnicodeChar(0x2179) ; römisch x
- else if (CompKey = "r_capital_1")
- Comp3UnicodeChar(0x2169) ; römisch X
- else
- {
- if GetKeyState("CapsLock","T")
- {
- if (IsModifierPressed())
- {
- send {blind}0
- }
- else
- {
- send 0
- }
-
- }
- else {
- if ( not(lernModus) or (lernModus_std_ZahlenReihe) )
- {
- send {blind}0
- }
- }
- }
+ if !(CheckDeadUni("c1",0x2070)
+ or CheckDeadUni("c5",0x2080)
+ or CheckComp3Uni("r_1",0x2179) ; römisch x
+ or CheckComp3Uni("R_1",0x2169)) ; römisch X
+ if (GetKeyState("CapsLock","T"))
+ send {blind}{Shift down}0{Shift up}
+ else if (not(lernModus) or lernModus_std_ZahlenReihe)
+ send {blind}0
+
if (PriorDeadKey = "comp")
CompKey := "0"
- else
- CompKey := ""
- }
- else if Ebene = 2
- {
- send ”
- CompKey := ""
}
- else if Ebene = 3
- {
- send ’
- CompKey := ""
- }
- else if Ebene = 4
- {
- Send -
- CompKey := ""
- }
- else if Ebene = 5
- { } ; leer
- else if Ebene = 6
- {
+ else if (Ebene = 2)
+ send ”
+ else if (Ebene = 3)
+ send {blind}’
+ else if (Ebene = 4)
+ Send {blind}{NumpadMinus}
+ else if (Ebene = 5)
+ {
+ CompKey := PriorCompKey
+ DeadKey := PriorDeadKey
+ } ; leer
+ else if (Ebene = 6)
SendUnicodeChar(0x2205) ; leere Menge
- CompKey := ""
- }
- PriorDeadKey := ""
return
neo_strich:
EbeneAktualisieren()
- if Ebene = 1
- {
- if GetKeyState("CapsLock","T")
- {
- if (IsModifierPressed())
- {
- send {blind}-
- }
- else
- {
- send -
- }
-
- }
- else {
- send {blind}- ;Bindestrich
- }
- }
- else if Ebene = 2
+ if (Ebene = 1)
+ if (GetKeyState("CapsLock","T"))
+ send {blind}{Shift down}-{Shift up}
+ else
+ send {blind}- ; Bindestrich-Minus
+ else if (Ebene = 2)
SendUnicodeChar(0x2013) ; Gedankenstrich
- else if Ebene = 3
- SendUnicodeChar(0x2014) ; Englische Gedankenstrich
- else if Ebene = 4
- { } ; leer ... SendUnicodeChar(0x254C)
- else if Ebene = 5
- SendUnicodeChar(0x2011) ; geschützter Bindestrich
- else if Ebene = 6
- SendUnicodeChar(0x00AD) ; weicher Trennstrich
- PriorDeadKey := "" CompKey := ""
+ else if (Ebene = 3)
+ SendUnicodeChar(0x2014) ; Englischer Gedankenstrich (Geviertstrich)
+ else if (Ebene = 4)
+ {
+ CompKey := PriorCompKey
+ DeadKey := PriorDeadKey
+ } ; leer
+ else if (Ebene = 5)
+ SendUnicodeChar(0x2011) ; geschützter Bindestrich (Bindestrich ohne Zeilenumbruch)
+ else if (Ebene = 6)
+ SendUnicodeChar(0x00AD) ; weicher Bindestrich
return
neo_tot2:
EbeneAktualisieren()
- if Ebene = 1
+ if (Ebene = 1)
{
- send {´}{space} ; akut, tot
- PriorDeadKey := "a1"
+ deadAsc("{´}{space}") ; akut, tot
+ DeadKey := "a1"
}
- else if Ebene = 2
+ else if (Ebene = 2)
{
- send ``{space}
- PriorDeadKey := "a2"
+ deadAsc("``{space}")
+ DeadKey := "a2"
}
- else if Ebene = 3
+ else if (Ebene = 3)
{
- send ¸ ; cedilla
- PriorDeadKey := "a3"
+ deadAsc("¸") ; cedilla
+ DeadKey := "a3"
}
- else if Ebene = 4
+ else if (Ebene = 4)
{
- SendUnicodeChar(0x02D9) ; punkt oben drüber
- PriorDeadKey := "a4"
+ deadUni(0x02D9) ; punkt oben drüber
+ DeadKey := "a4"
}
- else if Ebene = 5
+ else if (Ebene = 5)
{
- SendUnicodeChar(0x02DB) ; ogonek
- PriorDeadKey := "a5"
+ deadUni(0x02DB) ; ogonek
+ DeadKey := "a5"
}
- else if Ebene = 6
+ else if (Ebene = 6)
{
- SendUnicodeChar(0x02DA) ; ring obendrauf
- PriorDeadKey := "a6"
+ deadUni(0x02DA) ; ring obendrauf
+ DeadKey := "a6"
}
+ CompKey := PriorCompKey
return
@@ -804,506 +428,247 @@ return
neo_x:
EbeneAktualisieren()
- if Ebene = 1
- sendinput {blind}x
- else if Ebene = 2
- sendinput {blind}X
- else if Ebene = 3
+ if (Ebene12)
+ OutputChar("x","X")
+ else if (Ebene = 3)
SendUnicodeChar(0x2026) ;Ellipse
- else if Ebene = 5
+ else if (Ebene = 5)
SendUnicodeChar(0x03BE) ;xi
- else if Ebene = 6
+ else if (Ebene = 6)
SendUnicodeChar(0x039E) ; Xi
- PriorDeadKey := "" CompKey := ""
return
neo_v:
EbeneAktualisieren()
- if Ebene = 1
- {
- if (PriorDeadKey = "c6") ; punkt darunter
- BSSendUnicodeChar(0x1E7F)
+ if (Ebene12 and !(CheckDeadUni12("c6",0x1E7F,0x1E7E)))
+ OutputChar("v","V")
+ else if (Ebene = 3)
+ send {blind}_
+ else if (Ebene = 4)
+ if (not(lernModus) or lernModus_neo_Backspace)
+ Send {blind}{Backspace}
else
- sendinput {blind}v
- }
- else if Ebene = 2
- {
- if (PriorDeadKey = "c6") ; punkt darunter
- BSSendUnicodeChar(0x1E7E)
- else
- sendinput {blind}V
- }
- else if Ebene = 3
- send _
- else if Ebene = 4
- if ( not(lernModus) or (lernModus_neo_Backspace) )
{
- Send {Backspace}
- }
- else
- {} ; leer
- else if Ebene = 6
+ CompKey := PriorCompKey
+ DeadKey := PriorDeadKey
+ } ; leer
+ else if (Ebene = 6)
SendUnicodeChar(0x2259) ; estimates
- PriorDeadKey := "" CompKey := ""
return
neo_l:
EbeneAktualisieren()
- if Ebene = 1
- {
- if (PriorDeadKey = "t4") ; Schrägstrich
- BSSendUnicodeChar(0x0142)
- else if (PriorDeadKey = "a1") ; akut
- BSSendUnicodeChar(0x013A)
- else if (PriorDeadKey = "c2") ; caron
- BSSendUnicodeChar(0x013E)
- else if (PriorDeadKey = "a3") ; cedilla
- BSSendUnicodeChar(0x013C)
- else if (PriorDeadKey = "c4") ; Mittenpunkt
- BSSendUnicodeChar(0x0140)
- else if (PriorDeadKey = "c6") ; punkt darunter
- BSSendUnicodeChar(0x1E37)
- else
- sendinput {blind}l
- if (PriorDeadKey = "comp") ; compose
- CompKey := "l_small"
- else
- CompKey := ""
- }
- else if Ebene = 2
- {
- if (PriorDeadKey = "a1") ; akut
- BSSendUnicodeChar(0x0139)
- else if (PriorDeadKey = "c2") ; caron
- BSSendUnicodeChar(0x013D)
- else if (PriorDeadKey = "a3") ; cedilla
- BSSendUnicodeChar(0x013B)
- else if (PriorDeadKey = "t4") ; Schrägstrich
- BSSendUnicodeChar(0x0141)
- else if (PriorDeadKey = "c4") ; Mittenpunkt
- BSSendUnicodeChar(0x013F)
- else if (PriorDeadKey = "c6") ; punkt darunter
- BSSendUnicodeChar(0x1E36)
- else
- sendinput {blind}L
- if (PriorDeadKey = "comp") ; compose
- CompKey := "l_capital"
- else CompKey := ""
- }
- else if Ebene = 3
- {
- send [
- CompKey := ""
- }
- else if Ebene = 4
- {
- Sendinput {Blind}{Up}
- CompKey := ""
- }
- else if Ebene = 5
- {
+ 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)))
+ OutputChar("l","L")
+ else if (Ebene = 3)
+ send {blind}[
+ else if (Ebene = 4)
+ Send {Blind}{Up}
+ else if (Ebene = 5)
SendUnicodeChar(0x03BB) ; lambda
- CompKey := ""
- }
- else if Ebene = 6
- {
+ else if (Ebene = 6)
SendUnicodeChar(0x039B) ; Lambda
- CompKey := ""
- }
- PriorDeadKey := ""
return
neo_c:
EbeneAktualisieren()
- if Ebene = 1
- {
- if (PriorDeadKey = "c1") ; circumflex
- BSSendUnicodeChar(0x0109)
- else if (PriorDeadKey = "c2") ; caron
- BSSendUnicodeChar(0x010D)
- else if (PriorDeadKey = "a1") ; akut
- BSSendUnicodeChar(0x0107)
- else if (PriorDeadKey = "a3") ; cedilla
- BSSendUnicodeChar(0x00E7)
- else if (PriorDeadKey = "a4") ; punkt darüber
- BSSendUnicodeChar(0x010B)
- else if ( (CompKey = "o_small") or (CompKey = "o_capital") )
- Send {bs}©
- else
- {
- sendinput {blind}c
- }
- if (PriorDeadKey = "comp")
- CompKey := "c_small"
+ 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","©","©")))
+ OutputChar("c","C")
+ else if (Ebene = 3)
+ send {blind}]
+ else if (Ebene = 4)
+ if (not(lernModus) or lernModus_neo_Entf)
+ Send {blind}{Del}
else
- CompKey := ""
- }
- else if Ebene = 2
- {
- if (PriorDeadKey = "c1") ; circumflex
- BSSendUnicodeChar(0x0108)
- else if (PriorDeadKey = "c2") ; caron
- BSSendUnicodeChar(0x010C)
- else if (PriorDeadKey = "a1") ; akut
- BSSendUnicodeChar(0x0106)
- else if (PriorDeadKey = "a3") ; cedilla
- BSSendUnicodeChar(0x00E6)
- else if (PriorDeadKey = "a4") ; punkt darüber
- BSSendUnicodeChar(0x010A)
- else if ( (CompKey = "o_small") or (CompKey = "o_capital") )
- Send {bs}©
- else
- sendinput {blind}C
- if (PriorDeadKey = "comp")
- CompKey = "c_capital"
- else
- CompKey := ""
- }
- else if Ebene = 3
- {
- send ]
- CompKey := ""
- }
- else if Ebene = 4
- {
- if ( not(lernModus) or (lernModus_neo_Entf) )
{
- Send {Del}
- CompKey := ""
- }
- else
- {} ; leer
- }
- else if Ebene = 5
- {
+ CompKey := PriorCompKey
+ DeadKey := PriorDeadKey
+ } ; leer
+ else if (Ebene = 5)
SendUnicodeChar(0x03C7) ;chi
- CompKey := ""
- }
- else if Ebene = 6
- {
+ else if (Ebene = 6)
SendUnicodeChar(0x2102) ; C (Komplexe Zahlen)
- CompKey := ""
- }
- PriorDeadKey := ""
return
neo_w:
EbeneAktualisieren()
- if Ebene = 1
- {
- if (PriorDeadKey = "c1") ; circumflex
- BSSendUnicodeChar(0x0175)
- else
- sendinput {blind}w
- }
- else if Ebene = 2
- {
- if (PriorDeadKey = "c1") ; circumflex
- BSSendUnicodeChar(0x0174)
- else
- sendinput {blind}W
- }
- else if Ebene = 3
+ 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
- else if Ebene = 4
- Send {Insert}
- else if Ebene = 5
+ else if (Ebene = 4)
+ Send {blind}{Insert}
+ else if (Ebene = 5)
SendUnicodeChar(0x03C9) ; omega
- else if Ebene = 6
+ else if (Ebene = 6)
SendUnicodeChar(0x03A9) ; Omega
- PriorDeadKey := "" CompKey := ""
return
neo_k:
EbeneAktualisieren()
- if Ebene = 1
- {
- if (PriorDeadKey = "a3") ; cedilla
- BSSendUnicodeChar(0x0137)
- else if (PriorDeadKey = "c6") ; punkt darunter
- BSSendUnicodeChar(0x1E33)
- else
- sendinput {blind}k
- }
- else if Ebene = 2
- {
- if (PriorDeadKey = "a3") ; cedilla
- BSSendUnicodeChar(0x0136)
- else if (PriorDeadKey = "c6") ; punkt darunter
- BSSendUnicodeChar(0x1E32)
- else
- sendinput {blind}K
- }
- else if Ebene = 3
- sendraw !
- else if Ebene = 4
+ if (Ebene12 and !(CheckDeadUni12("a3",0x0137,0x0136)
+ or CheckDeadUni12("c6",0x1E33,0x1E32)))
+ OutputChar("k","K")
+ else if (Ebene = 3)
+ send {blind}{!}
+ else if (Ebene = 4)
Send ¡
- else if Ebene = 5
+ else if (Ebene = 5)
SendUnicodeChar(0x03F0) ;kappa symbol (varkappa)
- else if Ebene = 6
+ else if (Ebene = 6)
SendUnicodeChar(0x221A) ; Wurzel
- PriorDeadKey := "" CompKey := ""
return
neo_h:
EbeneAktualisieren()
- if Ebene = 1
- {
- if (PriorDeadKey = "c1") ; circumflex
- BSSendUnicodeChar(0x0125)
- else if (PriorDeadKey = "c5") ; Querstrich
- BSSendUnicodeChar(0x0127)
- else if (PriorDeadKey = "a4") ; punkt darüber
- BSSendUnicodeChar(0x1E23)
- else if (PriorDeadKey = "c6") ; punkt darunter
- BSSendUnicodeChar(0x1E25)
- else sendinput {blind}h
- }
- else if Ebene = 2
- {
- if (PriorDeadKey = "c1") ; circumflex
- BSSendUnicodeChar(0x0124)
- else if (PriorDeadKey = "c5") ; Querstrich
- BSSendUnicodeChar(0x0126)
- else if (PriorDeadKey = "a4") ; punkt darüber
- BSSendUnicodeChar(0x1E22)
- else if (PriorDeadKey = "c6") ; punkt darunter
- BSSendUnicodeChar(0x1E24)
- else sendinput {blind}H
- }
- else if Ebene = 3
- {
- if (PriorDeadKey = "c5") ; Querstrich
- BSSendUnicodeChar(0x2264) ; kleiner gleich
- else
- send {blind}<
- }
- else if Ebene = 4
- {
- if (PriorDeadKey = "c1") ; circumflex
- BSSendUnicodeChar(0x2077)
- else if (PriorDeadKey = "c5") ; toter -
- BSSendUnicodeChar(0x2087)
- else
- Send 7
- }
- else if Ebene = 5
+ if (Ebene12 and !(CheckDeadUni12("a4",0x1E23,0x1E22)
+ 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}<
+ else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2077)
+ or CheckDeadUni("c5",0x2087)))
+ Send {blind}{NumPad7}
+ else if (Ebene = 5)
SendUnicodeChar(0x03C8) ;psi
- else if Ebene = 6
+ else if (Ebene = 6)
SendUnicodeChar(0x03A8) ; Psi
- PriorDeadKey := "" CompKey := ""
return
neo_g:
EbeneAktualisieren()
- if Ebene = 1
- {
- if (PriorDeadKey = "c1") ; circumflex
- BSSendUnicodeChar(0x011D)
- else if (PriorDeadKey = "c3") ; brevis
- BSSendUnicodeChar(0x011F)
- else if (PriorDeadKey = "a3") ; cedilla
- BSSendUnicodeChar(0x0123)
- else if (PriorDeadKey = "a4") ; punkt darüber
- BSSendUnicodeChar(0x0121)
- else sendinput {blind}g
- }
- else if Ebene = 2
- {
- if (PriorDeadKey = "c1") ; circumflex
- BSSendUnicodeChar(0x011C)
- else if (PriorDeadKey = "c3") ; brevis
- BSSendUnicodeChar(0x011E)
- else if (PriorDeadKey = "a3") ; cedilla
- BSSendUnicodeChar(0x0122)
- else if (PriorDeadKey = "a4") ; punkt darüber
- BSSendUnicodeChar(0x0120)
- else sendinput {blind}G
- }
- else if Ebene = 3
- {
- if (PriorDeadKey = "c5") ; Querstrich
- SendUnicodeChar(0x2265) ; größer gleich
- else
- send >
- }
- else if Ebene = 4
- {
- if (PriorDeadKey = "c1") ; circumflex
- BSSendUnicodeChar(0x2078)
- else if (PriorDeadKey = "c5") ; toter -
- BSSendUnicodeChar(0x2088)
- else
- Send 8
- }
- else if Ebene = 5
+ if (Ebene12 and !(CheckDeadUni12("a3",0x0123,0x0122)
+ 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 = 4) and !(CheckDeadUni("c1",0x2078)
+ or CheckDeadUni("c5",0x2088)))
+ Send {blind}{NumPad8}
+ else if (Ebene = 5)
SendUnicodeChar(0x03B3) ;gamma
- else if Ebene = 6
+ else if (Ebene = 6)
SendUnicodeChar(0x0393) ; Gamma
- PriorDeadKey := "" CompKey := ""
return
neo_f:
EbeneAktualisieren()
- if Ebene = 1
- {
- if (PriorDeadKey = "t4") ; durchgestrichen
- BSSendUnicodeChar(0x0192)
- else if (PriorDeadKey = "a4") ; punkt darüber
- BSSendUnicodeChar(0x1E1F)
- else sendinput {blind}f
- }
- else if Ebene = 2
- {
- if (PriorDeadKey = "t4") ; durchgestrichen
- BSSendUnicodeChar(0x0191)
- else if (PriorDeadKey = "a4") ; punkt darüber
- BSSendUnicodeChar(0x1E1E)
- else sendinput {blind}F
- }
- else if Ebene = 3
- {
- if (PriorDeadKey = "c1") ; circumflex
- BSSendUnicodeChar(0x2259) ; entspricht
- else if (PriorDeadKey = "t1") ; tilde
- BSSendUnicodeChar(0x2245) ; ungefähr gleich
- else if (PriorDeadKey = "t4") ; Schrägstrich
- BSSendUnicodeChar(0x2260) ; ungleich
- else if (PriorDeadKey = "c5") ; Querstrich
- BSSendUnicodeChar(0x2261) ; identisch
- else if (PriorDeadKey = "c2") ; caron
- BSSendUnicodeChar(0x225A) ; EQUIANGULAR TO
- else if (PriorDeadKey = "a6") ; ring drüber
- BSSendUnicodeChar(0x2257) ; ring equal to
- else
- send `=
- }
- else if Ebene = 4
- {
- if (PriorDeadKey = "c1") ; circumflex
- BSSendUnicodeChar(0x2079)
- else if (PriorDeadKey = "c5") ; toter -
- BSSendUnicodeChar(0x2089)
- else
- Send 9
- }
- else if Ebene = 5
+ if (Ebene12 and !(CheckDeadUni12("a4",0x1E1F,0x1E1E)
+ 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
+ send {blind}`=
+ else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2079)
+ or CheckDeadUni("c5",0x2089)))
+ Send {blind}{NumPad9}
+ else if (Ebene = 5)
SendUnicodeChar(0x03C6) ; phi
- else if Ebene = 6
+ else if (Ebene = 6)
SendUnicodeChar(0x03A6) ; Phi
- PriorDeadKey := "" CompKey := ""
return
neo_q:
EbeneAktualisieren()
- if Ebene = 1
- sendinput {blind}q
- else if Ebene = 2
- sendinput {blind}Q
- else if Ebene = 3
- send {&}
- else if Ebene = 4
- {
- if (PriorDeadKey = "c1") ; circumflex
- BSSendUnicodeChar(0x207A)
- else if (PriorDeadKey = "c5") ; toter -
- BSSendUnicodeChar(0x208A)
- else
- Send {+}
- }
- else if Ebene = 5
+ if (Ebene12)
+ OutputChar("q","Q")
+ else if (Ebene = 3)
+ send {blind}{&}
+ else if ((Ebene = 4) and !(CheckDeadUni("c1",0x207A)
+ or CheckDeadUni("c5",0x208A)))
+ Send {blind}{NumPadPlus}
+ else if (Ebene = 5)
SendUnicodeChar(0x03D5) ; phi symbol (varphi)
- else if Ebene = 6
+ else if (Ebene = 6)
SendUnicodeChar(0x211A) ; Q (rationale Zahlen)
- PriorDeadKey := "" CompKey := ""
return
neo_sz:
EbeneAktualisieren()
- if Ebene = 1
- if GetKeyState("CapsLock","T")
- {
+ if (Ebene = 1)
+ if (GetKeyState("CapsLock","T"))
SendUnicodeChar(0x1E9E) ; verssal-ß
- }
+ else if (LangSTastatur = 1)
+ send {blind}s
else
- {
- if (LangSTastatur = 1)
- {
- sendinput {blind}s
- }
- else
- {
- send ß
- }
- }
- else if Ebene = 2
- if GetKeyState("CapsLock","T")
- {
+ send ß
+ else if (Ebene = 2)
+ if (GetKeyState("CapsLock","T"))
if (LangSTastatur = 1)
- {
- sendinput {blind}s
- }
+ send {blind}s
else
- {
send ß
- }
- }
else
- {
SendUnicodeChar(0x1E9E) ; versal-ß
- }
- else if Ebene = 3
- {
+ else if (Ebene = 3)
if (LangSTastatur = 1)
send ß
else
SendUnicodeChar(0x017F) ; langes s
- }
- else if Ebene = 5
+ else if (Ebene = 5)
SendUnicodeChar(0x03C2) ; varsigma
- else if Ebene = 6
+ else if (Ebene = 6)
SendUnicodeChar(0x2218) ; Verknüpfungsoperator
- PriorDeadKey := "" CompKey := ""
return
neo_tot3:
EbeneAktualisieren()
- if Ebene = 1
+ if (Ebene = 1)
{
- SendUnicodeChar(0x02DC) ; tilde, tot
- PriorDeadKey := "t1"
+ deadUni(0x02DC) ; tilde, tot
+ DeadKey := "t1"
}
- else if Ebene = 2
+ else if (Ebene = 2)
{
- SendUnicodeChar(0x00AF) ; macron, tot
- PriorDeadKey := "t2"
+ deadUni(0x00AF) ; macron, tot
+ DeadKey := "t2"
}
- else if Ebene = 3
+ else if (Ebene = 3)
{
- SendUnicodeChar(0x00A8) ; diaerese
- PriorDeadKey := "t3"
+ deadUni(0x00A8) ; diaerese
+ DeadKey := "t3"
}
- else if Ebene = 4
+ else if (Ebene = 4)
{
- SendUnicodeChar(0x002F) ; Schrägstrich, tot
- PriorDeadKey := "t4"
+ deadUni(0x002F) ; Schrägstrich, tot
+ DeadKey := "t4"
}
- else if Ebene = 5
+ else if (Ebene = 5)
{
- sendUnicodeChar(0x02DD) ;doppelakut
- PriorDeadKey := "t5"
+ deadUni(0x02DD) ;doppelakut
+ DeadKey := "t5"
}
- else if Ebene = 6
+ else if (Ebene = 6)
{
- SendUnicodeChar(0x02CF) ; komma drunter, tot
- PriorDeadKey := "t6"
+ deadUni(0x02CF) ; komma drunter, tot
+ DeadKey := "t6"
}
+
return
@@ -1315,1116 +680,431 @@ return
neo_u:
EbeneAktualisieren()
- if Ebene = 1
- {
- if (PriorDeadKey = "c1") ; circumflex
- BSSendUnicodeChar(0x00FB)
- else if (PriorDeadKey = "a1") ; akut
- BSSendUnicodeChar(0x00FA)
- else if (PriorDeadKey = "a2") ; grave
- BSSendUnicodeChar(0x00F9)
- else if (PriorDeadKey = "t3") ; diaerese
- Send, {bs}ü
- else if (PriorDeadKey = "t5") ; doppelakut
- BSSendUnicodeChar(0x0171)
- else if (PriorDeadKey = "c3") ; brevis
- BSSendUnicodeChar(0x016D)
- else if (PriorDeadKey = "t2") ; macron
- BSSendUnicodeChar(0x016B)
- else if (PriorDeadKey = "a5") ; ogonek
- BSSendUnicodeChar(0x0173)
- else if (PriorDeadKey = "a6") ; Ring
- BSSendUnicodeChar(0x016F)
- else if (PriorDeadKey = "t1") ; tilde
- BSSendUnicodeChar(0x0169)
- else if (PriorDeadKey = "c2") ; caron
- BSSendUnicodeChar(0x01D4)
- else
- sendinput {blind}u
- }
- else if Ebene = 2
- {
- if (PriorDeadKey = "c1") ; circumflex
- BSSendUnicodeChar(0x00DB)
- else if (PriorDeadKey = "a1") ; akut
- BSSendUnicodeChar(0x00DA)
- else if (PriorDeadKey = "a2") ; grave
- BSSendUnicodeChar(0x00D9)
- else if (PriorDeadKey = "t3") ; diaerese
- Send, {bs}Ü
- else if (PriorDeadKey = "a6") ; Ring
- BSSendUnicodeChar(0x016E)
- else if (PriorDeadKey = "c3") ; brevis
- BSSendUnicodeChar(0x016C)
- else if (PriorDeadKey = "t5") ; doppelakut
- BSSendUnicodeChar(0x0170)
- else if (PriorDeadKey = "c2") ; caron
- BSSendUnicodeChar(0x01D3)
- else if (PriorDeadKey = "t2") ; macron
- BSSendUnicodeChar(0x016A)
- else if (PriorDeadKey = "a5") ; ogonek
- BSSendUnicodeChar(0x0172)
- else if (PriorDeadKey = "t1") ; tilde
- BSSendUnicodeChar(0x0168)
- else
- sendinput {blind}U
- }
- else if Ebene = 3
- send \
- else if Ebene = 4
+ 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)))
+ OutputChar("u","U")
+ else if (Ebene = 3)
+ send {blind}\
+ else if (Ebene = 4)
Send {blind}{Home}
- else if Ebene = 5
- { } ; leer
- else if Ebene = 6
+ else if (Ebene = 5)
+ {
+ CompKey := PriorCompKey
+ DeadKey := PriorDeadKey
+ } ; leer
+ else if (Ebene = 6)
SendUnicodeChar(0x222E) ; contour integral
- PriorDeadKey := "" CompKey := ""
return
neo_i:
EbeneAktualisieren()
- if Ebene = 1
- {
- if (PriorDeadKey = "c1") ; circumflex
- BSSendUnicodeChar(0x00EE)
- else if (PriorDeadKey = "a1") ; akut
- BSSendUnicodeChar(0x00ED)
- else if (PriorDeadKey = "a2") ; grave
- BSSendUnicodeChar(0x00EC)
- else if (PriorDeadKey = "t3") ; diaerese
- Send, {bs}ï
- else if (PriorDeadKey = "t2") ; macron - defekt
- BSSendUnicodeChar(0x012B)
- else if (PriorDeadKey = "c3") ; brevis
- BSSendUnicodeChar(0x012D)
- else if (PriorDeadKey = "a4") ; ogonek
- BSSendUnicodeChar(0x012F)
- else if (PriorDeadKey = "t1") ; tilde
- BSSendUnicodeChar(0x0129)
- else if (PriorDeadKey = "a5") ; punkt darüber
- BSSendUnicodeChar(0x0131)
- else if (PriorDeadKey = "c2") ; caron
- BSSendUnicodeChar(0x01D0)
- else
- sendinput {blind}i
- if (PriorDeadKey = "comp") ; compose
- CompKey := "i_small"
- else
- CompKey := ""
- }
- else if Ebene = 2
- {
- if (PriorDeadKey = "c1") ; circumflex
- BSSendUnicodeChar(0x00CE)
- else if (PriorDeadKey = "a1") ; akut
- BSSendUnicodeChar(0x00CD)
- else if (PriorDeadKey = "a2") ; grave
- BSSendUnicodeChar(0x00CC)
- else if (PriorDeadKey = "t3") ; diaerese
- Send, {bs}Ï
- else if (PriorDeadKey = "t2") ; macron
- BSSendUnicodeChar(0x012A)
- else if (PriorDeadKey = "c3") ; brevis
- BSSendUnicodeChar(0x012C)
- else if (PriorDeadKey = "a5") ; ogonek
- BSSendUnicodeChar(0x012E)
- else if (PriorDeadKey = "t1") ; tilde
- BSSendUnicodeChar(0x0128)
- else if (PriorDeadKey = "a4") ; punkt darüber
- BSSendUnicodeChar(0x0130)
- else if (PriorDeadKey = "c2") ; caron
- BSSendUnicodeChar(0x01CF)
- else
- sendinput {blind}I
- if (PriorDeadKey = "comp") ; compose
- CompKey := "i_capital"
- else
- CompKey := ""
- }
- else if Ebene = 3
- {
- send `/
- CompKey := ""
- }
- else if Ebene = 4
- {
- Sendinput {Blind}{Left}
- CompKey := ""
- }
- else if Ebene = 5
- {
+ 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","ï","Ï")))
+ OutputChar("i","I")
+ else if (Ebene = 3)
+ send {blind}`/
+ else if (Ebene = 4)
+ Send {Blind}{Left}
+ else if (Ebene = 5 )
SendUnicodeChar(0x03B9) ; iota
- CompKey := ""
- }
- else if Ebene = 6
- {
+ else if (Ebene = 6)
SendUnicodeChar(0x222B) ; integral
- CompKey := ""
- }
- PriorDeadKey := ""
return
neo_a:
EbeneAktualisieren()
- if Ebene = 1
- {
- if (PriorDeadKey = "c1") ; circumflex
- BSSendUnicodeChar(0x00E2)
- else if (PriorDeadKey = "a1") ; akut
- BSSendUnicodeChar(0x00E1)
- else if (PriorDeadKey = "a2") ; grave
- BSSendUnicodeChar(0x00E0)
- else if (PriorDeadKey = "t3") ; diaerese
- send {bs}ä
- else if (PriorDeadKey = "a6") ; Ring
- Send {bs}å
- else if (PriorDeadKey = "t1") ; tilde
- BSSendUnicodeChar(0x00E3)
- else if (PriorDeadKey = "a5") ; ogonek
- BSSendUnicodeChar(0x0105)
- else if (PriorDeadKey = "t2") ; macron
- BSSendUnicodeChar(0x0101)
- else if (PriorDeadKey = "c3") ; brevis
- BSSendUnicodeChar(0x0103)
- else if (PriorDeadKey = "c2") ; caron
- BSSendUnicodeChar(0x01CE)
- else
- sendinput {blind}a
- if (PriorDeadKey = "comp") ; compose
- CompKey := "a_small"
- else
- CompKey := ""
- }
- else if Ebene = 2
- {
- if (PriorDeadKey = "c1") ; circumflex
- BSSendUnicodeChar(0x00C2)
- else if (PriorDeadKey = "a1") ; akut
- BSSendUnicodeChar(0x00C1)
- else if (PriorDeadKey = "a2") ; grave
- BSSendUnicodeChar(0x00C0)
- else if (PriorDeadKey = "t3") ; diaerese
- send {bs}Ä
- else if (PriorDeadKey = "t1") ; tilde
- BSSendUnicodeChar(0x00C3)
- else if (PriorDeadKey = "a6") ; Ring
- Send {bs}Å
- else if (PriorDeadKey = "t2") ; macron
- BSSendUnicodeChar(0x0100)
- else if (PriorDeadKey = "c3") ; brevis
- BSSendUnicodeChar(0x0102)
- else if (PriorDeadKey = "a5") ; ogonek
- BSSendUnicodeChar(0x0104)
- else if (PriorDeadKey = "c2") ; caron
- BSSendUnicodeChar(0x01CD)
- else
- sendinput {blind}A
- if (PriorDeadKey = "comp") ; compose
- CompKey := "a_capital"
- else
- CompKey := ""
- }
- else if Ebene = 3
- {
- sendraw {
- CompKey := ""
- }
- else if Ebene = 4
- {
- Sendinput {Blind}{Down}
- CompKey := ""
- }
- else if Ebene = 5
- {
+ 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","ä","Ä")))
+ OutputChar("a","A")
+ else if (Ebene = 3)
+ send {blind}{{} ; }
+ else if (Ebene = 4)
+ Send {Blind}{Down}
+ else if (Ebene = 5)
SendUnicodeChar(0x03B1) ;alpha
- CompKey := ""
- }
- else if Ebene = 6
- {
+ else if (Ebene = 6)
SendUnicodeChar(0x2200) ;fuer alle
- CompKey := ""
- }
- PriorDeadKey := ""
return
neo_e:
EbeneAktualisieren()
- if Ebene = 1
- {
- if (PriorDeadKey = "c1") ; circumflex
- BSSendUnicodeChar(0x00EA)
- else if (PriorDeadKey = "a1") ; akut
- BSSendUnicodeChar(0x00E9)
- else if (PriorDeadKey = "a2") ; grave
- BSSendUnicodeChar(0x00E8)
- else if (PriorDeadKey = "t3") ; diaerese
- Send, {bs}ë
- else if (PriorDeadKey = "a5") ; ogonek
- BSSendUnicodeChar(0x0119)
- else if (PriorDeadKey = "t2") ; macron
- BSSendUnicodeChar(0x0113)
- else if (PriorDeadKey = "c3") ; brevis - defekt
- BSSendUnicodeChar(0x0115)
- else if (PriorDeadKey = "c2") ; caron - defekt
- BSSendUnicodeChar(0x011B)
- else if (PriorDeadKey = "a4") ; punkt darüber
- BSSendUnicodeChar(0x0117)
- else if (CompKey = "a_small") ; compose
- {
- Send {bs}æ
- CompKey := ""
- }
- else if (CompKey = "o_small") ; compose
- {
- Send {bs}œ
- CompKey := ""
- }
- else
- sendinput {blind}e
- }
- else if Ebene = 2
- {
- if (PriorDeadKey = "c1") ; circumflex
- BSSendUnicodeChar(0x00CA)
- else if (PriorDeadKey = "a1") ; akut
- BSSendUnicodeChar(0x00C9)
- else if (PriorDeadKey = "a2") ; grave
- BSSendUnicodeChar(0x00C8)
- else if (PriorDeadKey = "t3") ; diaerese
- Send, {bs}Ë
- else if (PriorDeadKey = "c2") ; caron
- BSSendUnicodeChar(0x011A)
- else if (PriorDeadKey = "t2") ; macron
- BSSendUnicodeChar(0x0112)
- else if (PriorDeadKey = "c3") ; brevis
- BSSendUnicodeChar(0x0114)
- else if (PriorDeadKey = "a5") ; ogonek
- BSSendUnicodeChar(0x0118)
- else if (PriorDeadKey = "a4") ; punkt darüber
- BSSendUnicodeChar(0x0116)
- else if (CompKey = "a_capital") ; compose
- {
- Send {bs}Æ
- CompKey := ""
- }
- else if (CompKey = "o_capital") ; compose
- {
- Send {bs}Œ
- CompKey := ""
- }
- else
- sendinput {blind}E
- }
- else if Ebene = 3
- sendraw }
- else if Ebene = 4
- Sendinput {Blind}{Right}
- else if Ebene = 5
+ 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","Œ","Œ")))
+ OutputChar("e","E")
+ else if (Ebene = 3) ; {
+ send {blind}{}}
+ else if (Ebene = 4)
+ Send {Blind}{Right}
+ else if (Ebene = 5)
SendUnicodeChar(0x03B5) ;epsilon
- else if Ebene = 6
+ else if (Ebene = 6)
SendUnicodeChar(0x2203) ;es existiert
- PriorDeadKey := "" CompKey := ""
return
neo_o:
EbeneAktualisieren()
- if Ebene = 1
- {
- if (PriorDeadKey = "c1") ; circumflex
- BSSendUnicodeChar(0x00F4)
- else if (PriorDeadKey = "a1") ; akut
- BSSendUnicodeChar(0x00F3)
- else if (PriorDeadKey = "a2") ; grave
- BSSendUnicodeChar(0x00F2)
- else if (PriorDeadKey = "t3") ; diaerese
- Send, {bs}ö
- else if (PriorDeadKey = "t1") ; tilde
- BSSendUnicodeChar(0x00F5)
- else if (PriorDeadKey = "t5") ; doppelakut
- BSSendUnicodeChar(0x0151)
- else if (PriorDeadKey = "t4") ; Schrägstrich
- BSSendUnicodeChar(0x00F8)
- else if (PriorDeadKey = "t2") ; macron
- BSSendUnicodeChar(0x014D)
- else if (PriorDeadKey = "c3") ; brevis
- BSSendUnicodeChar(0x014F)
- else if (PriorDeadKey = "a5") ; ogonek
- BSSendUnicodeChar(0x01EB)
- else if (PriorDeadKey = "c2") ; caron
- BSSendUnicodeChar(0x01D2)
- else
- sendinput {blind}o
- if (PriorDeadKey = "comp") ; compose
- CompKey := "o_small"
- else
- CompKey := ""
- }
- else if Ebene = 2
- {
- if (PriorDeadKey = "c1") ; circumflex
- BSSendUnicodeChar(0x00D4)
- else if (PriorDeadKey = "a1") ; akut
- BSSendUnicodeChar(0x00D3)
- else if (PriorDeadKey = "a2") ; grave
- BSSendUnicodeChar(0x00D2)
- else if (PriorDeadKey = "t4") ; Schrägstrich
- BSSendUnicodeChar(0x00D8)
- else if (PriorDeadKey = "t1") ; tilde
- BSSendUnicodeChar(0x00D5)
- else if (PriorDeadKey = "t5") ; doppelakut
- BSSendUnicodeChar(0x0150)
- else if (PriorDeadKey = "t3") ; diaerese
- send {bs}Ö
- else if (PriorDeadKey = "t2") ; macron
- BSSendUnicodeChar(0x014C)
- else if (PriorDeadKey = "c3") ; brevis
- BSSendUnicodeChar(0x014E)
- else if (PriorDeadKey = "a5") ; ogonek
- BSSendUnicodeChar(0x01EA)
- else if (PriorDeadKey = "c2") ; caron
- BSSendUnicodeChar(0x01D1)
- else
- sendinput {blind}O
- if (PriorDeadKey = "comp") ; compose
- CompKey := "o_capital"
- else
- CompKey := ""
- }
- else if Ebene = 3
- {
- send *
- CompKey := ""
- }
- else if Ebene = 4
- {
+ 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)))
+ OutputChar("o","O")
+ else if (Ebene = 3)
+ send {blind}*
+ else if (Ebene = 4)
Send {blind}{End}
- CompKey := ""
- }
- else if Ebene = 5
- {
+ else if (Ebene = 5)
SendUnicodeChar(0x03BF) ; omicron
- CompKey := ""
- }
- else if Ebene = 6
- {
+ else if (Ebene = 6)
SendUnicodeChar(0x2208) ; element of
- CompKey := ""
- }
- PriorDeadKey := ""
return
neo_s:
EbeneAktualisieren()
- if Ebene = 1
- {
- if (PriorDeadKey = "c1") ; circumflex
- BSSendUnicodeChar(0x015D)
- else if (PriorDeadKey = "a1") ; akut
- BSSendUnicodeChar(0x015B)
- else if (PriorDeadKey = "c2") ; caron
- BSSendUnicodeChar(0x0161)
- else if (PriorDeadKey = "a3") ; cedilla
- BSSendUnicodeChar(0x015F)
- else if (PriorDeadKey = "a4") ; punkt darüber
- BSSendUnicodeChar(0x1E61)
- else if (PriorDeadKey = "c6") ; punkt darunter
- BSSendUnicodeChar(0x1E63)
- else
- {
- if (LangSTastatur = 1)
- {
- if GetKeyState("CapsLock","T")
- sendinput {blind}s
- else
- SendUnicodeChar(0x017F) ; langes s
- }
+ 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)))
+ if (LangSTastatur = 1)
+ if (GetKeyState("CapsLock","T") xor (Ebene = 1))
+ SendUnicodeChar(0x017F) ; langes s
else
- sendinput {blind}s
- }
- if (PriorDeadKey = "comp")
- CompKey := "s_small"
- else
- CompKey := ""
- }
- else if Ebene = 2
- {
- if (PriorDeadKey = "c1") ; circumflex
- BSSendUnicodeChar(0x015C)
- else if (PriorDeadKey = "c2") ; caron
- BSSendUnicodeChar(0x0160)
- else if (PriorDeadKey = "a1") ; akut
- BSSendUnicodeChar(0x015A)
- else if (PriorDeadKey = "a3") ; cedilla
- BSSendUnicodeChar(0x015E)
- else if (PriorDeadKey = "a4") ; punkt darüber
- BSSendUnicodeChar(0x1E60)
- else if (PriorDeadKey = "c6") ; punkt darunter
- BSSendUnicodeChar(0x1E62)
- else
- {
- if GetKeyState("CapsLock","T") && (LangSTastatur = 1)
- SendUnicodeChar(0x017F)
- else
- sendinput {blind}S
- }
- if (PriorDeadKey = "comp")
- CompKey := "s_capital"
+ OutputChar("s","S")
else
- CompKey := ""
- }
- else if Ebene = 3
- {
- send ?
- CompKey := ""
- }
- else if Ebene = 4
- {
+ OutputChar("s","S")
+ else if (Ebene = 3)
+ send {blind}?
+ else if (Ebene = 4)
Send ¿
- CompKey := ""
- }
- else if Ebene = 5
- {
+ else if (Ebene = 5)
SendUnicodeChar(0x03C3) ;sigma
- CompKey := ""
- }
- else if Ebene = 6
- {
+ else if (Ebene = 6)
SendUnicodeChar(0x03A3) ; Sigma
- CompKey := ""
- }
- PriorDeadKey := ""
return
neo_n:
EbeneAktualisieren()
- if Ebene = 1
- {
- if (PriorDeadKey = "a1") ; akut
- BSSendUnicodeChar(0x0144)
- else if (PriorDeadKey = "t1") ; tilde
- BSSendUnicodeChar(0x00F1)
- else if (PriorDeadKey = "c2") ; caron
- BSSendUnicodeChar(0x0148)
- else if (PriorDeadKey = "a3") ; cedilla
- BSSendUnicodeChar(0x0146)
- else if (PriorDeadKey = "a4") ; punkt darüber
- BSSendUnicodeChar(0x1E45)
- else
- sendinput {blind}n
- }
- else if Ebene = 2
- {
- if (PriorDeadKey = "c2") ; caron
- BSSendUnicodeChar(0x0147)
- else if (PriorDeadKey = "t1") ; tilde
- BSSendUnicodeChar(0x00D1)
- else if (PriorDeadKey = "a1") ; akut
- BSSendUnicodeChar(0x0143)
- else if (PriorDeadKey = "a3") ; cedilla
- BSSendUnicodeChar(0x0145)
- else if (PriorDeadKey = "a4") ; punkt darüber
- BSSendUnicodeChar(0x1E44)
- else
- sendinput {blind}N
- }
- else if Ebene = 3
- send (
- else if Ebene = 4
- {
- if (PriorDeadKey = "c1") ; circumflex
- BSSendUnicodeChar(0x2074)
- else if (PriorDeadKey = "c5") ; toter -
- BSSendUnicodeChar(0x2084)
- else
- Send 4
- }
- else if Ebene = 5
+ 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)))
+ OutputChar("n","N")
+ else if (Ebene = 3)
+ send {blind}( ; )
+ else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2074)
+ or CheckDeadUni("c5",0x2084)))
+ Send {blind}{NumPad4}
+ else if (Ebene = 5)
SendUnicodeChar(0x03BD) ; nu
- else if Ebene = 6
+ else if (Ebene = 6)
SendUnicodeChar(0x2115) ; N (natürliche Zahlen)
- PriorDeadKey := "" CompKey := ""
return
neo_r:
EbeneAktualisieren()
- if Ebene = 1
- {
- if (PriorDeadKey = "a1") ; akut
- BSSendUnicodeChar(0x0155)
- else if (PriorDeadKey = "c2") ; caron
- BSSendUnicodeChar(0x0159)
- else if (PriorDeadKey = "a3") ; cedilla
- BSSendUnicodeChar(0x0157)
- else if (PriorDeadKey = "a4") ; punkt darüber
- BSSendUnicodeChar(0x0E59)
- else if (PriorDeadKey = "c6") ; punkt darunter
- BSSendUnicodeChar(0x1E5B)
- else
- sendinput {blind}r
- if (PriorDeadKey = "comp")
- CompKey := "r_small"
- else
- CompKey := ""
- }
- else if Ebene = 2
- {
- if (PriorDeadKey = "c2") ; caron
- BSSendUnicodeChar(0x0158)
- else if (PriorDeadKey = "a1") ; akut
- BSSendUnicodeChar(0x0154)
- else if (PriorDeadKey = "a3") ; cedilla
- BSSendUnicodeChar(0x0156)
- else if (PriorDeadKey = "a4") ; punkt darüber
- BSSendUnicodeChar(0x1E58)
- else if (PriorDeadKey = "c6") ; punkt darunter
- BSSendUnicodeChar(0x1E5A)
- else
- sendinput {blind}R
- if (PriorDeadKey = "comp")
- CompKey := "r_capital"
- else
- CompKey := ""
- }
- else if Ebene = 3
- {
- send )
- CompKey := ""
- }
- else if Ebene = 4
- {
- if (PriorDeadKey = "c1") ; circumflex
- BSSendUnicodeChar(0x2075)
- else if (PriorDeadKey = "c5") ; toter -
- BSSendUnicodeChar(0x2085)
- else
- Send 5
- CompKey := ""
- }
- else if Ebene = 5
- {
+ 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","®","®")))
+ OutputChar("r","R")
+ else if (Ebene = 3) ;(
+ send {blind})
+ else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2075)
+ or CheckDeadUni("c5",0x2085)))
+ Send {blind}{NumPad5}
+ else if (Ebene = 5)
SendUnicodeChar(0x03F1) ; rho symbol (varrho)
- CompKey := ""
- }
- else if Ebene = 6
- {
+ else if (Ebene = 6)
SendUnicodeChar(0x211D) ; R (reelle Zahlen)
- CompKey := ""
- }
- PriorDeadKey := ""
return
neo_t:
- EbeneAktualisieren()
- if Ebene = 1
- {
- if (PriorDeadKey = "c2") ; caron
- BSSendUnicodeChar(0x0165)
- else if (PriorDeadKey = "a3") ; cedilla
- BSSendUnicodeChar(0x0163)
- else if (PriorDeadKey = "c5") ; Querstrich
- BSSendUnicodeChar(0x0167)
- else if (PriorDeadKey = "a4") ; punkt darüber
- BSSendUnicodeChar(0x1E6B)
- else if (PriorDeadKey = "c6") ; punkt darunter
- BSSendUnicodeChar(0x1E6D)
- else
- sendinput {blind}t
- if (PriorDeadKey = "comp")
- CompKey := "t_small"
- else
- CompKey := ""
- }
- else if Ebene = 2
- {
- if (PriorDeadKey = "c2") ; caron
- BSSendUnicodeChar(0x0164)
- else if (PriorDeadKey = "a3") ; cedilla
- BSSendUnicodeChar(0x0162)
- else if (PriorDeadKey = "c5") ; Querstrich
- BSSendUnicodeChar(0x0166)
- else if (PriorDeadKey = "a4") ; punkt darüber
- BSSendUnicodeChar(0x1E6A)
- else if (PriorDeadKey = "c6") ; punkt darunter
- BSSendUnicodeChar(0x1E6C)
- else
- sendinput {blind}T
- if (PriorDeadKey = "comp")
- CompKey := "t_capital"
- else
- CompKey := ""
- }
- else if Ebene = 3
- {
- send {blind}- ; Bis
- CompKey := ""
- }
- else if Ebene = 4
- {
- if (PriorDeadKey = "c1") ; circumflex
- BSSendUnicodeChar(0x2076)
- else if (PriorDeadKey = "c5") ; toter -
- BSSendUnicodeChar(0x2086)
- else
- Send 6
- CompKey := ""
- }
- else if Ebene = 5
- {
- SendUnicodeChar(0x03C4) ; tau
- CompKey := ""
- }
- else if Ebene = 6
- {
- SendUnicodeChar(0x2202 ) ; partielle Ableitung
- CompKey := ""
- }
- PriorDeadKey := ""
+ 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)))
+ OutputChar("t","T")
+ else if (Ebene = 3)
+ send {blind}- ; Bis
+ 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
return
neo_d:
EbeneAktualisieren()
- if Ebene = 1
- {
- if (PriorDeadKey = "c5") ; Querstrich
- BSSendUnicodeChar(0x0111)
- else if (PriorDeadKey = "t4") ; Schrägstrich
- BSSendUnicodeChar(0x00F0)
- else if (PriorDeadKey = "c2") ; caron
- BSSendUnicodeChar(0x010F)
- else if (PriorDeadKey = "a4") ; punkt darüber
- BSSendUnicodeChar(0x1E0B)
- else if (PriorDeadKey = "c6") ; punkt darunter
- BSSendUnicodeChar(0x1E0D)
- else
- sendinput {blind}d
- }
- else if Ebene = 2
- {
- if (PriorDeadKey = "c5") ; Querstrich
- BSSendUnicodeChar(0x0110)
- else if (PriorDeadKey = "t4") ; Schrägstrich
- BSSendUnicodeChar(0x00D0)
- else if (PriorDeadKey = "c2") ; caron
- BSSendUnicodeChar(0x010E)
- else if (PriorDeadKey = "a4") ; punkt darüber
- BSSendUnicodeChar(0x1E0A)
- else if (PriorDeadKey = "c6") ; punkt darunter
- BSSendUnicodeChar(0x1E0D)
- else sendinput {blind}D
- }
- else if Ebene = 3
- send :
- else if Ebene = 4
- Send `,
- else if Ebene = 5
+ if (Ebene12 and !(CheckDeadUni12("a4",0x1E0B,0x1E0A)
+ or CheckDeadUni12("c2",0x010F,0x010E)
+ or CheckDeadUni12("c5",0x0111,0x0110)
+ or CheckDeadUni12("c6",0x1E0D,0x1E0C)
+ or CheckDeadUni12("t4",0x00F0,0x00D0)))
+ OutputChar("d","D")
+ else if (Ebene = 3)
+ send {blind}:
+ else if (Ebene = 4)
+ Send {blind}{NumPadKomma}
+ else if (Ebene = 5)
SendUnicodeChar(0x03B4) ;delta
- else if Ebene = 6
+ else if (Ebene = 6)
SendUnicodeChar(0x0394) ; Delta
- PriorDeadKey := "" CompKey := ""
return
neo_y:
EbeneAktualisieren()
- if Ebene = 1
- {
- if (PriorDeadKey = "t3") ; diaerese
- Send {bs}ÿ
- else if (PriorDeadKey = "a1") ; akut
- BSSendUnicodeChar(0x00FD)
- else if (PriorDeadKey = "c1") ; circumflex
- BSSendUnicodeChar(0x0177)
- else
- sendinput {blind}y
- }
- else if Ebene = 2
- {
- if (PriorDeadKey = "a1") ; akut
- BSSendUnicodeChar(0x00DD)
- else if (PriorDeadKey = "t3") ; diaerese
- Send {bs}Ÿ
- else if (PriorDeadKey = "c1") ; circumflex
- BSSendUnicodeChar(0x0176)
- else
- sendinput {blind}Y
- }
- else if Ebene = 3
- send @
- else if Ebene = 4
- Send .
- else if Ebene = 5
+ if (Ebene12 and !(CheckDeadUni12("a1",0x00FD,0x00DD)
+ or CheckDeadUni12("c1",0x0177,0x0176)
+ or CheckDeadAsc12("t3","ÿ",Ÿ)))
+ OutputChar("y","Y")
+ else if (Ebene = 3)
+ send {blind}@
+ else if (Ebene = 4)
+ Send {blind}.
+ else if (Ebene = 5)
SendUnicodeChar(0x03C5) ; upsilon
- else if Ebene = 6
+ else if (Ebene = 6)
SendUnicodeChar(0x2207) ; nabla
- PriorDeadKey := "" CompKey := ""
return
-;SC02B (#) wird zu Mod3
-
-
/*
------------------------------------------------------
Reihe 4
------------------------------------------------------
*/
-;SC056 (<) wird zu Mod4
-
neo_ü:
EbeneAktualisieren()
- if Ebene = 1
- {
- if (PriorDeadKey = "t2") ; macron
- BSSendUnicodeChar(0x01D6)
- else if (PriorDeadKey = "a1") ; akut
- BSSendUnicodeChar(0x01D8)
- else if (PriorDeadKey = "a2") ; grave
- BSSendUnicodeChar(0x01DC)
- else if (PriorDeadKey = "c2") ; caron
- BSSendUnicodeChar(0x01DA)
- else
- sendinput {blind}ü
- }
- else if Ebene = 2
- {
- if (PriorDeadKey = "t2") ; macron
- BSSendUnicodeChar(0x01D5)
- else if (PriorDeadKey = "a1") ; akut
- BSSendUnicodeChar(0x01D7)
- else if (PriorDeadKey = "a2") ; grave
- BSSendUnicodeChar(0x01DB)
- else if (PriorDeadKey = "c2") ; caron
- BSSendUnicodeChar(0x01D9)
- else
- sendinput {blind}Ü
- }
- else if Ebene = 3
+ if (Ebene12 and !(CheckDeadUni12("a1",0x01D8,0x01D7)
+ or CheckDeadUni12("a2",0x01DC,0x01DB)
+ or CheckDeadUni12("c2",0x01DA,0x01D9)
+ or CheckDeadUni12("t2",0x01D6,0x01D5)))
+ OutputChar("ü","Ü")
+ else if (Ebene = 3)
send {blind}{#}
- else if Ebene = 4
- Send {Esc}
- else if Ebene = 5
- {} ; leer
- else if Ebene = 6
+ else if (Ebene = 4)
+ Send {blind}{Esc}
+ else if (Ebene = 5)
+ {
+ DeadKey := PriorDeadKey
+ CompKey := PriorCompKey
+ } ; leer
+ else if (Ebene = 6)
SendUnicodeChar(0x221D) ; proportional
-
- PriorDeadKey := "" CompKey := ""
return
neo_ö:
EbeneAktualisieren()
- if Ebene = 1
- {
- if (PriorDeadKey = "t2") ; macron
- BSSendUnicodeChar(0x022B)
- else
- sendinput {blind}ö
- }
- else if Ebene = 2
+ if (Ebene12 and !(CheckDeadUni12("t2",0x022B,0x022A)))
+ OutputChar("ö","Ö")
+ else if (Ebene = 3)
+ send {blind}$
+ else if (Ebene = 4)
+ send {blind}{Tab}
+ else if (Ebene = 5)
{
- if (PriorDeadKey = "t2") ; macron
- BSSendUnicodeChar(0x022A)
- else
- sendinput {blind}Ö
- }
- else if Ebene = 3
- send $
- else if Ebene = 4
- goto neo_tab
- else if Ebene = 5
- {} ;leer
- else if Ebene = 6
+ DeadKey := PriorDeadKey
+ CompKey := PriorCompKey
+ } ; leer
+ else if (Ebene = 6)
SendUnicodeChar(0x2111) ; Fraktur I
- PriorDeadKey := "" CompKey := ""
return
neo_ä:
EbeneAktualisieren()
- if Ebene = 1
- {
- if (PriorDeadKey = "t2") ; macron
- BSSendUnicodeChar(0x01DF)
- else
- sendinput {blind}ä
- }
- else if Ebene = 2
- {
- if (PriorDeadKey = "t2") ; macron
- BSSendUnicodeChar(0x001DE)
- else
- sendinput {blind}Ä
- }
- else if Ebene = 3
- send |
- else if Ebene = 4
- Send {PgDn} ; Next
- else if Ebene = 5
+ if (Ebene12 and !(CheckDeadUni12("t2",0x01DF,0x01DE)))
+ OutputChar("ä","Ä")
+ else if (Ebene = 3)
+ send {blind}|
+ else if (Ebene = 4)
+ Send {blind}{PgDn} ; Next
+ else if (Ebene = 5)
SendUnicodeChar(0x03B7) ; eta
- else if Ebene = 6
+ else if (Ebene = 6)
SendUnicodeChar(0x211C) ; altes R
- PriorDeadKey := "" CompKey := ""
return
neo_p:
EbeneAktualisieren()
- if Ebene = 1
- {
- if (PriorDeadKey = "a4") ; punkt darüber
- BSSendUnicodeChar(0x1E57)
- else
- sendinput {blind}p
- }
- else if Ebene = 2
- {
- if (PriorDeadKey = "a4") ; punkt darüber
- BSSendUnicodeChar(0x1E56)
- else
- sendinput {blind}P
- }
- else if Ebene = 3
- {
- if (PriorDeadKey = "t1") ; tilde
- BSSendUnicodeChar(0x2248)
- else
- sendraw ~
- }
- else if Ebene = 4
- Send {Enter}
- else if Ebene = 5
+ if (Ebene12 and !(CheckDeadUni12("a4",0x1E57,0x1E56)))
+ OutputChar("p","P")
+ else if ((Ebene = 3) and !(CheckDeadUni("t1",0x2248)))
+ send {blind}~
+ else if (Ebene = 4)
+ Send {blind}{Enter}
+ else if (Ebene = 5)
SendUnicodeChar(0x03C0) ;pi
- else if Ebene = 6
+ else if (Ebene = 6)
SendUnicodeChar(0x03A0) ; Pi
- PriorDeadKey := "" CompKey := ""
return
neo_z:
EbeneAktualisieren()
- if Ebene = 1
- {
- if (PriorDeadKey = "c2") ; caron
- BSSendUnicodeChar(0x017E)
- else if (PriorDeadKey = "a1") ; akut
- BSSendUnicodeChar(0x017A)
- else if (PriorDeadKey = "a4") ; punkt drüber
- BSSendUnicodeChar(0x017C)
- else if (PriorDeadKey = "c6") ; punkt drunter
- BSSendUnicodeChar(0x1E93)
- else
- sendinput {blind}z
- }
- else if Ebene = 2
- {
- if (PriorDeadKey = "c2") ; caron
- BSSendUnicodeChar(0x017D)
- else if (PriorDeadKey = "a1") ; akut
- BSSendUnicodeChar(0x0179)
- else if (PriorDeadKey = "a4") ; punkt darüber
- BSSendUnicodeChar(0x017B)
- else if (PriorDeadKey = "c6") ; punkt drunter
- BSSendUnicodeChar(0x1E92)
- else
- sendinput {blind}Z
- }
- else if Ebene = 3
+ if (Ebene12 and !(CheckDeadUni12("a1",0x017A,0x0179)
+ 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
- else if Ebene = 4
- {} ; leer
- else if Ebene = 5
+ else if (Ebene = 4)
+ {
+ DeadKey := PriorDeadKey
+ CompKey := PriorCompKey
+ } ; leer
+ else if (Ebene = 5)
SendUnicodeChar(0x03B6) ;zeta
- else if Ebene = 6
+ else if (Ebene = 6)
SendUnicodeChar(0x2124) ; Z (ganze Zahlen)
- PriorDeadKey := "" CompKey := ""
return
neo_b:
EbeneAktualisieren()
- if Ebene = 1
- {
- if (PriorDeadKey = "a4") ; punkt darüber
- BSSendUnicodeChar(0x1E03)
- else
- sendinput {blind}b
- }
- else if Ebene = 2
- {
- if (PriorDeadKey = "a4") ; punkt darüber
- BSSendUnicodeChar(0x1E02)
- else
- sendinput {blind}B
- }
- else if Ebene = 3
+ if (Ebene12 and !(CheckDeadUni12("a4",0x1E03,0x1E02)))
+ OutputChar("b","B")
+ else if (Ebene = 3)
send {blind}{+}
- else if Ebene = 4
- send :
- else if Ebene = 5
+ else if (Ebene = 4)
+ send {blind}:
+ else if (Ebene = 5)
SendUnicodeChar(0x03B2) ; beta
- else if Ebene = 6
+ else if (Ebene = 6)
SendUnicodeChar(0x21D2) ; Doppel-Pfeil rechts
- PriorDeadKey := "" CompKey := ""
return
neo_m:
EbeneAktualisieren()
- if Ebene = 1
- {
- if (PriorDeadKey = "a4") ; punkt darüber
- BSSendUnicodeChar(0x1E41)
- else if (PriorDeadKey = "c6") ; punkt darunter
- BSSendUnicodeChar(0x1E43)
- else if ( (CompKey = "t_small") or (CompKey = "t_capital") ) ; compose
- CompUnicodeChar(0x2122) ; TM
- else if ( (CompKey = "s_small") or (CompKey = "s_capital") ) ; compose
- CompUnicodeChar(0x2120) ; SM
- else
- sendinput {blind}m
- }
- else if Ebene = 2
- {
- if (PriorDeadKey = "a4") ; punkt darüber
- BSSendUnicodeChar(0x1E40)
- else if (PriorDeadKey = "c6") ; punkt darunter
- BSSendUnicodeChar(0x1E42)
- else if ( (CompKey = "t_capital") or (CompKey = "t_small") ) ; compose
- CompUnicodeChar(0x2122) ; TM
- else if ( (CompKey = "s_capital") or (CompKey = "s_small") ) ; compose
- CompUnicodeChar(0x2120) ; SM
- else
- sendinput {blind}M
- }
- else if Ebene = 3
- send `%
- else if Ebene = 4
- {
- if (PriorDeadKey = "c1") ; circumflex
- BSSendUnicodeChar(0x00B9)
- else if (PriorDeadKey = "c5") ; toter -
- BSSendUnicodeChar(0x2081)
- else
- Send 1
- }
- else if Ebene = 5
+ 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
+
+ OutputChar("m","M")
+ else if (Ebene = 3)
+ send {blind}`%
+ else if ((Ebene = 4) and !(CheckDeadUni("c1",0x00B9)
+ or CheckDeadUni("c5",0x2081)))
+ Send {blind}{NumPad1}
+ else if (Ebene = 5)
SendUnicodeChar(0x03BC) ; griechisch mu, micro wäre 0x00B5
- else if Ebene = 6
+ else if (Ebene = 6)
SendUnicodeChar(0x21D4) ; doppelter Doppelpfeil (genau dann wenn)
- PriorDeadKey := "" CompKey := ""
return
neo_komma:
EbeneAktualisieren()
- if Ebene = 1
- {
- if GetKeyState("CapsLock","T")
- {
- if (IsModifierPressed())
- {
- send {blind},
- }
- else
- {
- send `,
- }
-
- }
- else
- {
- send {blind},
- }
- }
- else if Ebene = 2
- SendUnicodeChar(0x22EE) ; vertikale ellipse
- else if Ebene = 3
- send "
- else if Ebene = 4
- {
- if (PriorDeadKey = "c1") ; circumflex
- BSSendUnicodeChar(0x00B2)
- else if (PriorDeadKey = "c5") ; toter -
- BSSendUnicodeChar(0x2082)
+ if (Ebene = 1)
+ if (GetKeyState("CapsLock","T"))
+ send {blind}{Shift down},{Shift up}
else
- Send 2
- }
- else if Ebene = 5
+ send {blind},
+ else if (Ebene = 2)
+ SendUnicodeChar(0x22EE) ; vertikale ellipse
+ else if (Ebene = 3)
+ send {blind}"
+ else if ((Ebene = 4) and !(CheckDeadUni("c1",0x00B2)
+ or CheckDeadUni("c5",0x2082)))
+ Send {blind}{NumPad2}
+ else if (Ebene = 5)
SendUnicodeChar(0x03C1) ; rho
- else if Ebene = 6
+ else if (Ebene = 6)
SendUnicodeChar(0x21D0) ; Doppelpfeil links
- PriorDeadKey := "" CompKey := ""
return
neo_punkt:
EbeneAktualisieren()
- if Ebene = 1
- {
- if GetKeyState("CapsLock","T")
- {
- if (IsModifierPressed())
- {
- send {blind}.
- }
- else
- {
- send .
- }
-
- }
- else {
- send {blind}.
- }
- }
- else if Ebene = 2
- SendUnicodeChar(0x2026) ; ellipse
- else if Ebene = 3
- send '
- else if Ebene = 4
- {
- if (PriorDeadKey = "c1") ; circumflex
- BSSendUnicodeChar(0x00B3)
- else if (PriorDeadKey = "c5") ; toter -
- BSSendUnicodeChar(0x2083)
+ if (Ebene = 1)
+ if (GetKeyState("CapsLock","T"))
+ send {blind}{Shift down}.{Shift up}
else
- Send 3
- }
- else if Ebene = 5
+ send {blind}.
+ else if (Ebene = 2)
+ SendUnicodeChar(0x2026) ; ellipse
+ else if (Ebene = 3)
+ send {blind}'
+ else if ((Ebene = 4) and !(CheckDeadUni("c1",0x00B3)
+ or CheckDeadUni("c5",0x2083)))
+ Send {blind}{NumPad3}
+ else if (Ebene = 5)
SendUnicodeChar(0x03D1) ; theta symbol (vartheta)
- else if Ebene = 6
+ else if (Ebene = 6)
SendUnicodeChar(0x0398) ; Theta
- PriorDeadKey := "" CompKey := ""
return
neo_j:
EbeneAktualisieren()
- if Ebene = 1
- {
- if (PriorDeadKey = "c1") ; circumflex
- BSSendUnicodeChar(0x0135)
- else if (PriorDeadKey = "c2") ; caron
- BSSendUnicodeChar(0x01F0)
- else if (CompKey = "i_small") ; compose
- CompUnicodeChar(0x0133) ; ij
- else if (CompKey = "l_small") ; compose
- CompUnicodeChar(0x01C9) ; lj
- else if (CompKey = "l_capital") ; compose
- CompUnicodeChar(0x01C8) ; Lj
- else
- sendinput {blind}j
- }
- else if Ebene = 2
- {
- if (PriorDeadKey = "c1") ; circumflex
- BSSendUnicodeChar(0x0134)
- else if (CompKey = "i_capital") ; compose
- CompUnicodeChar(0x0132) ; IJ
- else if (CompKey = "l_capital") ; compose
- CompUnicodeChar(0x01C7) ; LJ
- else
- sendinput {blind}J
- }
- else if Ebene = 3
- send `;
- else if Ebene = 4
- Send `;
- else if Ebene = 5
+ 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
+ OutputChar("j","J")
+ else if (Ebene = 3)
+ send {blind}`;
+ else if (Ebene = 4)
+ Send {blind}`;
+ else if (Ebene = 5)
SendUnicodeChar(0x03B8) ; theta
- else if Ebene = 6
+ else if (Ebene = 6)
SendUnicodeChar(0x2261) ; identisch
- PriorDeadKey := "" CompKey := ""
return
/*
@@ -2438,748 +1118,328 @@ return
neo_NumpadDiv:
EbeneAktualisieren()
- if ( (Ebene = 1) or (Ebene = 2) )
- send {NumpadDiv}
- else if Ebene = 3
- send ÷
- else if ( (Ebene = 4) or (Ebene = 5) )
+ if ((Ebene = 1) or (Ebene = 2))
+ send {blind}{NumpadDiv}
+ else if (Ebene = 3)
+ send {blind}÷
+ else if ((Ebene = 4) or (Ebene = 5))
SendUnicodeChar(0x2215) ; slash
- PriorDeadKey := "" CompKey := ""
return
neo_NumpadMult:
EbeneAktualisieren()
- if ( (Ebene = 1) or (Ebene = 2) )
- send {NumpadMult}
- else if Ebene = 3
- send ×
- else if ( (Ebene = 4) or (Ebene = 5) )
+ if ((Ebene = 1) or (Ebene = 2))
+ send {blind}{NumpadMult}
+ else if (Ebene = 3)
+ send {blind}×
+ else if ((Ebene = 4) or (Ebene = 5))
SendUnicodeChar(0x22C5) ; cdot
- PriorDeadKey := "" CompKey := ""
return
neo_NumpadSub:
EbeneAktualisieren()
- if ( (Ebene = 1) or (Ebene = 2) )
- {
- if (PriorDeadKey = "c1") ; circumflex
- BSSendUnicodeChar(0x207B)
- else if (PriorDeadKey = "c5") ; toter -
- BSSendUnicodeChar(0x208B)
- else
- send {blind}{NumpadSub}
- }
- else if Ebene = 3
+ if (((Ebene = 1) or (Ebene = 2)) and !(CheckDeadUni("c1",0x207B)
+ or CheckDeadUni("c5",0x208B)))
+ send {blind}{NumpadSub}
+ else if (Ebene = 3)
SendUnicodeChar(0x2212) ; echtes minus
- PriorDeadKey := "" CompKey := ""
return
neo_NumpadAdd:
EbeneAktualisieren()
- if ( (Ebene = 1) or (Ebene = 2) )
- {
- if (PriorDeadKey = "c1") ; circumflex
- BSSendUnicodeChar(0x207A)
- else if (PriorDeadKey = "c5") ; toter -
- BSSendUnicodeChar(0x208A)
- else
- send {blind}{NumpadAdd}
- }
- else if Ebene = 3
- send ±
- else if ( (Ebene = 4) or (Ebene = 5) )
+ if (((Ebene = 1) or (Ebene = 2)) 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) ; -+
- PriorDeadKey := "" CompKey := ""
return
neo_NumpadEnter:
EbeneAktualisieren()
- if ( (Ebene = 1) or (Ebene = 2) )
- send {NumpadEnter}
- else if Ebene = 3
+ if ((Ebene = 1) or (Ebene = 2))
+ send {blind}{NumpadEnter}
+ else if (Ebene = 3)
SendUnicodeChar(0x2260) ; neq
- else if ( (Ebene = 4) or (Ebene = 5) )
+ else if ((Ebene = 4) or (Ebene = 5))
SendUnicodeChar(0x2248) ; approx
- PriorDeadKey := "" CompKey := ""
return
/*
folgende Tasten verhalten sich bei ein- und ausgeschaltetem NumLock
- unterschiedlich:
-
- bei NumLock ein
+ unterschiedlich
*/
neo_Numpad7:
EbeneAktualisieren()
- if Ebene = 1
+ 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)))
{
- send {blind}{Numpad7}
+ if (Ebene = 1)
+ send {blind}{Numpad7}
+ else
+ send {blind){Shift up}{Numpad7}{Shift down}
+
if (PriorDeadKey = "comp")
CompKey := "Num_7"
- else
- CompKey := ""
}
- else if Ebene = 2
- {
- send {NumpadHome}
- CompKey := ""
- }
- else if Ebene = 3
- {
+ else if (Ebene = 3)
SendUnicodeChar(0x2195) ; Hoch-Runter-Pfeil
- CompKey := ""
- }
- else if ( (Ebene = 4) or (Ebene = 5) )
- {
+ else if ((Ebene = 4) or (Ebene = 5))
SendUnicodeChar(0x226A) ; ll
- CompKey := ""
- }
- PriorDeadKey := ""
return
neo_Numpad8:
EbeneAktualisieren()
- if Ebene = 1
- {
- if (CompKey = "Num_1")
- CompUnicodeChar(0x215B) ; 1/8
- else if (CompKey = "Num_3")
- CompUnicodeChar(0x215C) ; 3/8
- else if (CompKey = "Num_5")
- CompUnicodeChar(0x215D) ; 5/8
- else if (CompKey = "Num_7")
- CompUnicodeChar(0x215E) ; 7/8
- else
- send {blind}{Numpad8}
+ 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 !(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 (PriorDeadKey = "comp")
CompKey := "Num_8"
- else
- CompKey := ""
- }
- else if Ebene = 2
- {
- send {NumpadUp}
- CompKey := ""
}
- else if Ebene = 3
- {
+ else if (Ebene = 3)
SendUnicodeChar(0x2191) ; uparrow
- CompKey := ""
- }
- else if ( (Ebene = 4) or (Ebene = 5) )
- {
+ else if ((Ebene = 4) or (Ebene = 5))
SendUnicodeChar(0x2229) ; intersection
- CompKey := ""
- }
- PriorDeadKey := "" CompKey := ""
return
neo_Numpad9:
EbeneAktualisieren()
- if Ebene = 1
+ 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)))
{
- send {blind}{Numpad9}
+ if (Ebene = 1)
+ send {blind}{Numpad9}
+ else
+ send {blind){Shift up}{Numpad9}{Shift down}
+
if (PriorDeadKey = "comp")
CompKey := "Num_9"
- else
- CompKey := ""
- }
- else if Ebene = 2
- {
- send {NumpadPgUp}
- CompKey := ""
}
- else if Ebene = 3
- {
+ else if (Ebene = 3)
SendUnicodeChar(0x2297) ; Tensorprodukt ; Vektor in die Ebene zeigend
- CompKey := ""
- }
- else if ( (Ebene = 4) or (Ebene = 5) )
- {
+ else if ((Ebene = 4) or (Ebene = 5))
SendUnicodeChar(0x226B) ; gg
- CompKey := ""
- }
- PriorDeadKey := ""
return
neo_Numpad4:
EbeneAktualisieren()
- if Ebene = 1
- {
- if (CompKey = "Num_1")
- CompUnicodeChar(0x00BC) ; 1/4
- else if (CompKey = "Num_3")
- CompUnicodeChar(0x00BE) ; 3/4
- else
- send {blind}{Numpad4}
+ 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 !(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 (PriorDeadKey = "comp")
CompKey := "Num_4"
- else
- CompKey := ""
}
- else if Ebene = 2
- {
- send {NumpadLeft}
- CompKey := ""
- }
- else if Ebene = 3
- {
+ else if (Ebene = 3)
SendUnicodeChar(0x2190) ; leftarrow
- CompKey := ""
- }
- else if ( (Ebene = 4) or (Ebene = 5) )
- {
+ else if ((Ebene = 4) or (Ebene = 5))
SendUnicodeChar(0x2282) ; subset of
- CompKey := ""
- }
- PriorDeadKey := ""
return
neo_Numpad5:
EbeneAktualisieren()
- if Ebene = 1
- {
- if (CompKey = "Num_1")
- CompUnicodeChar(0x2155) ; 1/5
- else if (CompKey = "Num_2")
- CompUnicodeChar(0x2156) ; 2/5
- else if (CompKey = "Num_3")
- CompUnicodeChar(0x2157) ; 3/5
- else if (CompKey = "Num_4")
- CompUnicodeChar(0x2158) ; 4/5
- else
- send {blind}{Numpad5}
+ 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 !(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 (PriorDeadKey = "comp")
CompKey := "Num_5"
- else
- CompKey := ""
}
- else if Ebene = 2
- {
- send {NumpadClear}
- CompKey := ""
- }
- else if Ebene = 3
- {
+ else if (Ebene = 3)
SendUnicodeChar(0x221E) ; INFINITY
- CompKey := ""
- }
- else if ( (Ebene = 4) or (Ebene = 5) )
- {
+ else if ((Ebene = 4) or (Ebene = 5))
SendUnicodeChar(0x220B) ; enthält das Element
- CompKey := ""
- }
- PriorDeadKey := ""
return
neo_Numpad6:
EbeneAktualisieren()
- if Ebene = 1
- {
- if (CompKey = "Num_1")
- CompUnicodeChar(0x2159) ; 1/6
- else if (CompKey = "Num_5")
- CompUnicodeChar(0x215A) ; 5/6
- else
- send {blind}{Numpad6}
+ 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 !(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 (PriorDeadKey = "comp")
CompKey := "Num_6"
- else
- CompKey := ""
- }
- else if Ebene = 2
- {
- send {NumpadRight}
- CompKey := ""
}
- else if Ebene = 3
- {
+ else if (Ebene = 3)
SendUnicodeChar(0x2192) ; rightarrow
- CompKey := ""
- }
- else if ( (Ebene = 4) or (Ebene = 5) )
- {
+ else if ((Ebene = 4) or (Ebene = 5))
SendUnicodeChar(0x2283) ; superset of
- CompKey := ""
- }
- PriorDeadKey := ""
return
neo_Numpad1:
EbeneAktualisieren()
- if Ebene = 1
+ 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)))
{
- send {blind}{Numpad1}
+ if (Ebene = 1)
+ send {blind}{Numpad1}
+ else
+ send {blind){Shift up}{Numpad1}{Shift down}
+
if (PriorDeadKey = "comp")
CompKey := "Num_1"
- else
- CompKey := ""
- }
- else if Ebene = 2
- {
- send {NumpadEnd}
- CompKey := ""
}
- else if Ebene = 3
- {
+ else if (Ebene = 3)
SendUnicodeChar(0x2194) ; Links-Rechts-Pfeil
- CompKey := ""
- }
- else if ( (Ebene = 4) or (Ebene = 5) )
- {
+ else if ((Ebene = 4) or (Ebene = 5))
SendUnicodeChar(0x2264) ; leq
- CompKey := ""
- }
- PriorDeadKey := ""
return
neo_Numpad2:
EbeneAktualisieren()
- if Ebene = 1
+ 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 (CompKey = "Num_1")
- CompUnicodeChar(0x00BD) ; 1/2
- else
- send {blind}{Numpad2}
+ 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 (PriorDeadKey = "comp")
CompKey := "Num_2"
- else
- CompKey := ""
- }
- else if Ebene = 2
- {
- send {NumpadDown}
- CompKey := ""
}
- else if Ebene = 3
- {
+ else if (Ebene = 3)
SendUnicodeChar(0x2193) ; downarrow
- CompKey := ""
- }
- else if ( (Ebene = 4) or (Ebene = 5) )
- {
+ else if ((Ebene = 4) or (Ebene = 5))
SendUnicodeChar(0x222A) ; vereinigt
- CompKey := ""
- }
- PriorDeadKey := ""
return
neo_Numpad3:
EbeneAktualisieren()
- if Ebene = 1
- {
- if (CompKey = "Num_1")
- CompUnicodeChar(0x2153) ; 1/3
- else if (CompKey = "Num_2")
- CompUnicodeChar(0x2154) ; 2/3
- else
- send {blind}{Numpad3}
+ 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 !(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 (PriorDeadKey = "comp")
CompKey := "Num_3"
- else
- CompKey := ""
}
- else if Ebene = 2
- send {NumpadPgDn}
- else if Ebene = 3
+ else if (Ebene = 3)
SendUnicodeChar(0x21CC) ; RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON
- else if ( (Ebene = 4) or (Ebene = 5) )
+ else if ((Ebene = 4) or (Ebene = 5))
SendUnicodeChar(0x2265) ; geq
- PriorDeadKey := "" CompKey := ""
return
neo_Numpad0:
EbeneAktualisieren()
- if Ebene = 1
- {
- send {blind}{Numpad0}
- if (PriorDeadKey = "comp")
- CompKey := "Num_0"
- else
- CompKey := ""
- }
- else if Ebene = 2
- {
- send {NumpadIns}
- CompKey := ""
- }
- else if Ebene = 3
- {
- send `%
- CompKey := ""
- }
- else if ( (Ebene = 4) or (Ebene = 5) )
- {
- send ‰
- CompKey := ""
- }
- PriorDeadKey := ""
-return
-
-neo_NumpadDot:
- EbeneAktualisieren()
- if Ebene = 1
- {
- send {NumpadDot}
- CompKey := ""
- }
- else if Ebene = 2
- {
- send {NumpadDel}
- CompKey := ""
- }
- else if Ebene = 3
- {
- send .
- CompKey := ""
- }
- else if ( (Ebene = 4) or (Ebene = 5) )
- {
- send `,
- CompKey := ""
- }
- PriorDeadKey := ""
-return
-
-/*
- bei NumLock aus
-*/
-
-neo_NumpadHome:
- EbeneAktualisieren()
- if Ebene = 1
- {
- send {NumpadHome}
- CompKey := ""
- }
- else if Ebene = 2
- {
- send {Numpad7}
- if (PriorDeadKey = "comp")
- CompKey := "Num_7"
- else
- CompKey := ""
- }
- else if ( (Ebene = 4) or (Ebene = 5) )
- {
- SendUnicodeChar(0x226A) ; ll
- CompKey := ""
- }
- PriorDeadKey := ""
-return
-
-neo_NumpadUp:
- EbeneAktualisieren()
- if Ebene = 1
- {
- send {NumpadUp}
- CompKey := ""
- }
- else if Ebene = 2
- {
- if (CompKey = "Num_1")
- CompUnicodeChar(0x215B) ; 1/8
- else if (CompKey = "Num_3")
- CompUnicodeChar(0x215C) ; 3/8
- else if (CompKey = "Num_5")
- CompUnicodeChar(0x215D) ; 5/8
- else if (CompKey = "Num_7")
- CompUnicodeChar(0x215E) ; 7/8
- else
- send {Numpad8}
- if (PriorDeadKey = "comp")
- CompKey := "Num_8"
- else
- CompKey := ""
- }
- else if Ebene = 3
- {
- SendUnicodeChar(0x2191) ; uparrow
- CompKey := ""
- }
- else if ( (Ebene = 4) or (Ebene = 5) )
- {
- SendUnicodeChar(0x2229) ; intersection
- CompKey := ""
- }
- PriorDeadKey := ""
-return
-
-neo_NumpadPgUp:
- EbeneAktualisieren()
- if Ebene = 1
- {
- send {NumpadPgUp}
- CompKey := ""
- }
- else if Ebene = 2
- {
- send {Numpad9}
- if (PriorDeadKey = "comp")
- CompKey := "Num_9"
- else
- CompKey := ""
- }
- else if ( (Ebene = 4) or (Ebene = 5) )
- {
-
- SendUnicodeChar(0x226B) ; gg
- CompKey := ""
- }
- PriorDeadKey := ""
-return
-
-neo_NumpadLeft:
- EbeneAktualisieren()
- if Ebene = 1
- {
- send {NumpadLeft}
- CompKey := ""
- }
- else if Ebene = 2
- {
- if (CompKey = "Num_1")
- CompUnicodeChar(0x00BC) ; 1/4
- else if (CompKey = "Num_3")
- CompUnicodeChar(0x00BE) ; 3/4
- else
- send {Numpad4}
- if (PriorDeadKey = "comp")
- CompKey := "Num_4"
- else
- CompKey := ""
- }
- else if Ebene = 3
- {
- SendUnicodeChar(0x2190) ; leftarrow
- CompKey := ""
- }
- else if ( (Ebene = 4) or (Ebene = 5) )
- {
- SendUnicodeChar(0x2282) ; subset of
- CompKey := ""
- }
- PriorDeadKey := ""
-return
-
-neo_NumpadClear:
- EbeneAktualisieren()
- if Ebene = 1
- {
- send {NumpadClear}
- CompKey := ""
- }
- else if Ebene = 2
- {
- if (CompKey = "Num_1")
- CompUnicodeChar(0x2155) ; 1/5
- else if (CompKey = "Num_2")
- CompUnicodeChar(0x2156) ; 2/5
- else if (CompKey = "Num_3")
- CompUnicodeChar(0x2157) ; 3/5
- else if (CompKey = "Num_4")
- CompUnicodeChar(0x2158) ; 4/5
- else
- send {Numpad5}
- if (PriorDeadKey = "comp")
- CompKey := "Num_5"
- else
- CompKey := ""
- }
- else if Ebene = 3
- {
- send †
- CompKey := ""
- }
- else if ( (Ebene = 4) or (Ebene = 5) )
- {
- SendUnicodeChar(0x220A) ; small element of
- CompKey := ""
- }
- PriorDeadKey := ""
-return
-
-neo_NumpadRight:
- EbeneAktualisieren()
- if Ebene = 1
- {
- send {NumpadRight}
- CompKey := ""
- }
- else if Ebene = 2
+ 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 (CompKey = "Num_1")
- CompUnicodeChar(0x2159) ; 1/6
- else if (CompKey = "Num_5")
- CompUnicodeChar(0x215A) ; 5/6
+ if (Ebene = 1)
+ send {blind}{Numpad0}
else
- send {Numpad6}
- if (PriorDeadKey = "comp")
- CompKey := "Num_6"
- else
- CompKey := ""
- }
- else if Ebene = 3
- {
- SendUnicodeChar(0x2192) ; rightarrow
- CompKey := ""
- }
- else if ( (Ebene = 4) or (Ebene = 5) )
- {
- SendUnicodeChar(0x2283) ; superset of
- CompKey := ""
- }
- PriorDeadKey := ""
-return
+ send {blind){Shift up}{Numpad0}{Shift down}
-neo_NumpadEnd:
- EbeneAktualisieren()
- if Ebene = 1
- {
- send {NumpadEnd}
- CompKey := ""
- }
- else if Ebene = 2
- {
- send {Numpad1}
- if (PriorDeadKey = "comp")
- CompKey := "Num_1"
- else
- CompKey := ""
- }
- else if Ebene = 3
- {
- SendUnicodeChar(0x21CB) ; LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON
- CompKey := ""
- }
- else if ( (Ebene = 4) or (Ebene = 5) )
- {
- SendUnicodeChar(0x2264) ; leq
- CompKey := ""
- }
- PriorDeadKey := ""
-return
-
-neo_NumpadDown:
- EbeneAktualisieren()
- if Ebene = 1
- {
- send {NumpadDown}
- CompKey := ""
- }
- else if Ebene = 2
- {
- if (CompKey = "Num_1")
- CompUnicodeChar(0x00BD) ; 1/2
- else
- send {Numpad2}
- if (PriorDeadKey = "comp")
- CompKey := "Num_2"
- else
- CompKey := ""
- }
- else if Ebene = 3
- {
- SendUnicodeChar(0x2193) ; downarrow
- CompKey := ""
- }
- else if ( (Ebene = 4) or (Ebene = 5) )
- {
- SendUnicodeChar(0x222A) ; vereinigt
- CompKey := ""
- }
- PriorDeadKey := ""
-return
-
-neo_NumpadPgDn:
- EbeneAktualisieren()
- if Ebene = 1
- {
- send {NumpadPgDn}
- CompKey := ""
- }
- else if Ebene = 2
- {
- if (CompKey = "Num_1")
- CompUnicodeChar(0x2153) ; 1/3
- else if (CompKey = "Num_2")
- CompUnicodeChar(0x2154) ; 2/3
- else
- send {Numpad3}
- if (PriorDeadKey = "comp")
- CompKey := "Num_3"
- else
- CompKey := ""
- }
- else if Ebene = 3
- {
- SendUnicodeChar(0x21CC) ; RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON
- CompKey := ""
- }
- else if ( (Ebene = 4) or (Ebene = 5) )
- {
- SendUnicodeChar(0x2265) ; geq
- CompKey := ""
- }
- PriorDeadKey := ""
-return
-
-neo_NumpadIns:
- EbeneAktualisieren()
- if Ebene = 1
- {
- send {NumpadIns}
- CompKey := ""
- }
- else if Ebene = 2
- {
- send {Numpad0}
if (PriorDeadKey = "comp")
CompKey := "Num_0"
- else
- CompKey := ""
}
- else if Ebene = 3
- {
- send `%
- CompKey := ""
- }
- else if ( (Ebene = 4) or (Ebene = 5) )
- {
+ else if (Ebene = 3)
+ send {blind}`%
+ else if ((Ebene = 4) or (Ebene = 5))
send ‰
- CompKey := ""
- }
- PriorDeadKey := ""
return
-neo_NumpadDel:
+neo_NumpadDot:
EbeneAktualisieren()
- if Ebene = 1
- {
- send {NumpadDel}
- CompKey := ""
- }
- else if Ebene = 2
- {
- send {NumpadDot}
- CompKey := ""
- }
- else if Ebene = 3
- {
- send .
- CompKey := ""
- }
- else if ( (Ebene = 4) or (Ebene = 5) )
- {
+ 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)
+ send {blind}{NumpadDot}
+ else
+ send {blind){Shift up}{NumpadDot}{Shift down}
+ else if (Ebene = 3)
+ send {blind}.
+ else if ((Ebene = 4) or (Ebene = 5))
send `,
- CompKey := ""
- }
- PriorDeadKey := ""
return
@@ -3189,16 +1449,16 @@ return
------------------------------------------------------
*/
*space::
- if (einHandNeo)
+ if ((einHandNeo))
spacepressed := 1
else
goto neo_SpaceUp
return
*space up::
- if (einHandNeo)
+ if ((einHandNeo))
{
- if (keypressed)
+ if ((keypressed))
{
keypressed := 0
spacepressed := 0
@@ -3214,70 +1474,28 @@ return
neo_SpaceUp:
EbeneAktualisieren()
- if Ebene = 1
- {
- if (CompKey = "r_small_1")
- Comp3UnicodeChar(0x2170) ; römisch i
- else if (CompKey = "r_capital_1")
- Comp3UnicodeChar(0x2160) ; römisch I
- else
- Send {blind}{Space}
- }
- if Ebene = 2
- Send {blind}{Space}
- if Ebene = 3
+ if ((Ebene = 1) and !(CheckComp3Uni("r_1",0x2170) ; römisch i
+ or CheckComp3Uni("R_1",0x2160))) ; römisch I
Send {blind}{Space}
- if Ebene = 4
- {
+ else if ((Ebene = 2) or (Ebene = 3))
+ Send {blind}{Space}
+ else if (Ebene = 4)
if (PriorDeadKey = "c1") ; circumflex
BSSendUnicodeChar(0x2070)
else if (PriorDeadKey = "c5") ; toter -
BSSendUnicodeChar(0x2080)
else
- Send 0
- }
- else if Ebene = 5
+ Send {blind}{NumPad0}
+ else if (Ebene = 5)
SendUnicodeChar(0x00A0) ; geschütztes Leerzeichen
- else if Ebene = 6
+ else if (Ebene = 6)
SendUnicodeChar(0x202F) ; schmales Leerzeichen
- PriorDeadKey := "" CompKey := ""
+ DeadKey := "" CompKey := ""
spacepressed := 0
keypressed := 0
return
/*
-*Space::
- EbeneAktualisieren()
- if Ebene = 1
- {
- if (CompKey = "r_small_1")
- Comp3UnicodeChar(0x2170) ; römisch i
- else if (CompKey = "r_capital_1")
- Comp3UnicodeChar(0x2160) ; römisch I
- else
- Send {blind}{Space}
- }
- if Ebene = 2
- Send {blind}{Space}
- if Ebene = 3
- Send {blind}{Space}
- if Ebene = 4
- {
- if (PriorDeadKey = "c1") ; circumflex
- BSSendUnicodeChar(0x2070)
- else if (PriorDeadKey = "c5") ; toter -
- BSSendUnicodeChar(0x2080)
- else
- Send 0
- }
- else if Ebene = 5
- SendUnicodeChar(0x00A0) ; geschütztes Leerzeichen
- else if Ebene = 6
- SendUnicodeChar(0x202F) ; schmales Leerzeichen
- PriorDeadKey := "" CompKey := ""
-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...
@@ -3288,33 +1506,29 @@ return
*/
*Enter::
- if ( not(lernModus) or (lernModus_std_Return) )
+ if (not(lernModus) or lernModus_std_Return)
{
- sendinput {Blind}{Enter}
- PriorDeadKey := "" CompKey := ""
+ send {Blind}{Enter}
+ DeadKey := "" CompKey := ""
}
return
*Backspace::
- if ( not(lernModus) or (lernModus_std_Backspace) )
+ if (not(lernModus) or lernModus_std_Backspace)
{
- sendinput {Blind}{Backspace}
- PriorDeadKey := "" CompKey := ""
+ send {Blind}{Backspace}
+ DeadKey := "" CompKey := ""
}
return
*Del::
- if ( not(lernModus) or (lernModus_std_Entf) )
- {
- sendinput {Blind}{Del}
- }
+ if (not(lernModus) or lernModus_std_Entf)
+ send {Blind}{Del}
return
*Ins::
- if ( not(lernModus) or (lernModus_std_Einf) )
- {
- sendinput {Blind}{Ins}
- }
+ if (not(lernModus) or lernModus_std_Einf)
+ send {Blind}{Ins}
return
@@ -3322,115 +1536,86 @@ return
/*
-Auf Mod3+Tab liegt Compose. AltTab funktioniert, jedoch ShiftAltTab nicht.
-Wenigstens kommt es jetzt nicht mehr zu komischen Ergebnissen, wenn man Tab
-nach einem DeadKey drückt...
+Auf Mod3+Tab liegt Compose.
*/
neo_tab:
- if ( GetKeyState("SC038","P") )
- {
- Send,{Blind}{AltDown}{tab}
-
-/*
- if (isShiftPressed())
- {
- Send,{ShiftDown}{AltDown}{tab}
- }
- else
- {
-; msgbox alt+tab
- Send,{AltDown}{tab}
- ; SC038 & Tab::AltTab ; http://de.autohotkey.com/docs/Hotkeys.htm#AltTabDetail
- }
-*/
- }
- else if (IsMod3Pressed()) ;#
+ if (IsMod3Pressed()) ;#
{
#Include *i %a_scriptdir%\ComposeLaunch.ahk
#Include *i %a_scriptdir%\Source\ComposeLaunch.ahk
- PriorDeadKey := "comp"
+ DeadKey := "comp"
CompKey := ""
}
else
{
send {blind}{Tab}
- PriorDeadKey := ""
+ DeadKey := ""
CompKey := ""
}
return
-*SC038 up::
- PriorDeadKey := "" CompKey := ""
- send {blind}{AltUp}
-return
-
-*SC038 down:: ; LAlt, damit AltTab funktioniert
- Send,{Blind}{AltDown}
- PriorDeadKey := "" CompKey := ""
-return
-
*Home::
- if ( not(lernModus) or (lernModus_std_Pos1) )
+ if (not(lernModus) or lernModus_std_Pos1)
{
- sendinput {Blind}{Home}
- PriorDeadKey := "" CompKey := ""
+ send {Blind}{Home}
+ DeadKey := "" CompKey := ""
}
return
*End::
- if ( not(lernModus) or (lernModus_std_Ende) )
+ if (not(lernModus) or lernModus_std_Ende)
{
- sendinput {Blind}{End}
- PriorDeadKey := "" CompKey := ""
+ send {Blind}{End}
+ DeadKey := "" CompKey := ""
}
return
*PgUp::
- if ( not(lernModus) or (lernModus_std_PgUp) )
+ if (not(lernModus) or lernModus_std_PgUp)
{
- sendinput {Blind}{PgUp}
- PriorDeadKey := "" CompKey := ""
+ send {Blind}{PgUp}
+ DeadKey := "" CompKey := ""
}
return
*PgDn::
- if ( not(lernModus) or (lernModus_std_PgDn) )
+ if (not(lernModus) or lernModus_std_PgDn)
{
- sendinput {Blind}{PgDn}
- PriorDeadKey := "" CompKey := ""
+ send {Blind}{PgDn}
+ DeadKey := "" CompKey := ""
}
return
*Up::
- if ( not(lernModus) or (lernModus_std_Hoch) )
+ if (not(lernModus) or lernModus_std_Hoch)
{
- sendinput {Blind}{Up}
- PriorDeadKey := "" CompKey := ""
+ send {Blind}{Up}
+ DeadKey := "" CompKey := ""
}
return
*Down::
- if ( not(lernModus) or (lernModus_std_Runter) )
+ if (not(lernModus) or lernModus_std_Runter)
{
- sendinput {Blind}{Down}
- PriorDeadKey := "" CompKey := ""
+ send {Blind}{Down}
+ DeadKey := "" CompKey := ""
}
return
*Left::
- if ( not(lernModus) or (lernModus_std_Links) )
+ if (not(lernModus) or lernModus_std_Links)
{
- sendinput {Blind}{Left}
- PriorDeadKey := "" CompKey := ""
+ send {Blind}{Left}
+ DeadKey := "" CompKey := ""
}
return
*Right::
- if ( not(lernModus) or (lernModus_std_Rechts) )
+ if (not(lernModus) or lernModus_std_Rechts)
{
- sendinput {Blind}{Right}
- PriorDeadKey := "" CompKey := ""
+ send {Blind}{Right}
+ DeadKey := "" CompKey := ""
}
return