From 66d7b779cf7db996a51be4920a209c42c1fc10b4 Mon Sep 17 00:00:00 2001 From: hans-christoph Date: Sun, 10 Aug 2008 18:43:18 +0000 Subject: =?UTF-8?q?Reorganisation=20des=20Codes=20durch=20Matthias=20W?= =?UTF-8?q?=C3=A4chter.=20=20Details=20siehe=20CHANGES.txt,=20Abschnitt=20?= =?UTF-8?q?2008-08-10?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: https://svn.neo-layout.org@740 b9310e46-f624-0410-8ea1-cfbb3a30dc96 --- windows/autohotkey/Source/Keys-Neo.ahk | 3683 ++++++++------------------------ 1 file changed, 934 insertions(+), 2749 deletions(-) (limited to 'windows/autohotkey/Source/Keys-Neo.ahk') 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" - 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" + 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 = 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) + OutputChar("s","S") else - { - if GetKeyState("CapsLock","T") && (LangSTastatur = 1) - SendUnicodeChar(0x017F) - else - sendinput {blind}S - } - if (PriorDeadKey = "comp") - CompKey := "s_capital" - 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 (CompKey = "Num_1") - CompUnicodeChar(0x2159) ; 1/6 - else if (CompKey = "Num_5") - CompUnicodeChar(0x215A) ; 5/6 - 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 - -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 + 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))) { - send {NumpadPgDn} - CompKey := "" - } - else if Ebene = 2 - { - if (CompKey = "Num_1") - CompUnicodeChar(0x2153) ; 1/3 - else if (CompKey = "Num_2") - CompUnicodeChar(0x2154) ; 2/3 + if (Ebene = 1) + send {blind}{Numpad0} 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 + send {blind){Shift up}{Numpad0}{Shift down} -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,69 +1474,27 @@ 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 @@ -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 -- cgit v1.2.3