summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--windows/autohotkey/Changelog-and-Todo.txt2
-rw-r--r--windows/autohotkey/Source/Compose.ahk234
-rw-r--r--windows/autohotkey/Source/Keys-Neo.ahk262
-rw-r--r--windows/autohotkey/neo20.ahk496
-rw-r--r--windows/autohotkey/neo20.exebin424591 -> 424649 bytes
5 files changed, 530 insertions, 464 deletions
diff --git a/windows/autohotkey/Changelog-and-Todo.txt b/windows/autohotkey/Changelog-and-Todo.txt
index 7079548..327482a 100644
--- a/windows/autohotkey/Changelog-and-Todo.txt
+++ b/windows/autohotkey/Changelog-and-Todo.txt
@@ -23,6 +23,8 @@ Matthias Wächter <matthias (at) waechter.wiz. a t>
=== Änderungshistorie ===
+Revision 845 (von Martin Roppelt)
+‐ Alle Cokos in die Compose.ahk migriert (Stand: 200/1805 Cokos).
Revision 842 (von Martin Roppelt)
‐ Ebenen 5 + 6 der Taste ›I‹ wiederhergestellt (Klammern vergessen).
Revision 841 (von Martin Roppelt)
diff --git a/windows/autohotkey/Source/Compose.ahk b/windows/autohotkey/Source/Compose.ahk
index 6b98e61..97aae45 100644
--- a/windows/autohotkey/Source/Compose.ahk
+++ b/windows/autohotkey/Source/Compose.ahk
@@ -1,73 +1,203 @@
CheckCompose() {
-CheckCompAsc("p_{!}","")
-CheckCompAsc("P_{!}","")
-CheckCompAsc("P_P","")
-CheckCompAsc("t_h","")
-CheckCompAsc("T_H","")
+CheckCompUni("-_h",0x0127)
+CheckCompUni("-_H",0x0126)
+CheckCompUni(":_:",0x2025)
+CheckCompUni(":_(",0x2639)
+CheckCompUni(":_)",0x263A)
+CheckCompUni("?_{!}",0x2048)
+CheckCompUni("?_{Numpad2}",0x2047)
+CheckCompUni("?_2",0x2047)
+CheckCompUni("{!}_?",0x2049)
+CheckCompUni("{!}_{Numpad2}",0x203C)
+CheckCompUni("{!}_2",0x203C)
+CheckCompUni("{Numpad1}_`/",0x215F)
+CheckCompUni("{Numpad1}__",0x2E18)
+CheckCompUni("{Numpad1}_?_{!}",0x203D)
+CheckCompUni("{Numpad1}__",0x2E18)
+CheckCompUni("{Numpad1}_{!}_?",0x203D)
+CheckCompUni("{Numpad1}_{Numpad2}",0x00BD)
+CheckCompUni("{Numpad1}_{Numpad3}",0x2153)
+CheckCompUni("{Numpad1}_{Numpad4}",0x00BC)
+CheckCompUni("{Numpad1}_{Numpad5}",0x2155)
+CheckCompUni("{Numpad1}_{Numpad6}",0x2159)
+CheckCompUni("{Numpad1}_{Numpad8}",0x215B)
+CheckCompUni("{Numpad1}_{NumpadDiv}",0x215F)
+CheckCompUni("{Numpad2}_?",0x2047)
+CheckCompUni("{Numpad2}_{!}",0x203C)
+CheckCompUni("{Numpad2}_{Numpad5}",0x2156)
+CheckCompUni("{Numpad3}_{Numpad4}",0x00BE)
+CheckCompUni("{Numpad3}_{Numpad5}",0x2157)
+CheckCompUni("{Numpad3}_{Numpad8}",0x215C)
+CheckCompUni("{Numpad4}_{Numpad5}",0x2158)
+CheckCompUni("{Numpad5}_{Numpad3}",0x2154)
+CheckCompUni("{Numpad5}_{Numpad6}",0x215A)
+CheckCompUni("{Numpad5}_{Numpad8}",0x215D)
+CheckCompUni("{Numpad7}_{Numpad8}",0x215E)
+CheckCompUni("0x017F_0x017F",0xE03F)
+CheckCompUni("0x017F_i",0xE03E)
+CheckCompUni("0x017F_l",0xE043)
+CheckCompUni("0x017F_s",0xE045)
+CheckCompUni("0x017F_t",0xFB05)
+CheckCompUni("0x2020_0x2020",0x2021)
+CheckCompUni("1_`/",0x215F)
+CheckCompUni("1__",0x2E18)
+CheckCompUni("1_?_{!}",0x203D)
+CheckCompUni("1__",0x2E18)
+CheckCompUni("1_{!}_?",0x203D)
+CheckCompUni("1_{NumpadDiv}",0x215F)
+CheckCompUni("1_2",0x00BD)
+CheckCompUni("1_3",0x2153)
+CheckCompUni("1_4",0x00BC)
+CheckCompUni("1_5",0x2155)
+CheckCompUni("1_6",0x2159)
+CheckCompUni("1_8",0x215B)
+CheckCompUni("2_?",0x2047)
+CheckCompUni("2_{!}",0x203C)
+CheckCompUni("2_5",0x2156)
+CheckCompUni("3_4",0x00BE)
+CheckCompUni("3_5",0x2157)
+CheckCompUni("3_8",0x215C)
+CheckCompUni("4_5",0x2158)
+CheckCompUni("5_3",0x2154)
+CheckCompUni("5_6",0x215A)
+CheckCompUni("5_8",0x215D)
+CheckCompUni("7_8",0x215E)
+CheckCompUni("a_{Numpad0}",0x0660)
+CheckCompUni("a_{Numpad1}",0x0661)
+CheckCompUni("a_{Numpad2}",0x0662)
+CheckCompUni("a_{Numpad3}",0x0663)
+CheckCompUni("a_{Numpad4}",0x0664)
+CheckCompUni("a_{Numpad5}",0x0665)
+CheckCompUni("a_{Numpad6}",0x0666)
+CheckCompUni("a_{Numpad7}",0x0667)
+CheckCompUni("a_{Numpad8}",0x0668)
+CheckCompUni("a_{Numpad9}",0x0669)
+CheckCompUni("a_0",0x0660)
+CheckCompUni("a_1",0x0661)
+CheckCompUni("a_2",0x0662)
+CheckCompUni("a_3",0x0663)
+CheckCompUni("a_4",0x0664)
+CheckCompUni("a_5",0x0665)
+CheckCompUni("a_6",0x0666)
+CheckCompUni("a_7",0x0667)
+CheckCompUni("a_8",0x0668)
+CheckCompUni("a_9",0x0669)
+CheckCompAsc("a_e","")
+CheckCompAsc("A_E","")
+CheckCompUni("c_h",0xE03B)
+CheckCompUni("c_k",0xE03A)
+CheckCompUni("c_t",0xE03D)
+CheckCompUni("D_z",0x01C4)
+CheckCompUni("D_z",0x01C5)
+CheckCompUni("d_z",0x01C6)
+CheckCompUni("E_E",0x018F)
CheckCompUni("f_b",0xE030)
CheckCompUni("F_b",0xE031)
+CheckCompUni("f_f",0xFB00)
CheckCompUni("F_h",0xE032)
-CheckCompUni("F_j",0xE033)
-CheckCompUni("F_k",0xE034)
-CheckCompUni("F_t",0xE035)
CheckCompUni("f_h",0xE036)
+CheckCompUni("f_i",0xFB01)
+CheckCompUni("F_i",0xFB03)
+CheckCompUni("F_j",0xE033)
CheckCompUni("f_j",0xE037)
+CheckCompUni("F_k",0xE034)
CheckCompUni("f_k",0xE038)
+CheckCompUni("f_l",0xFB02)
+CheckCompUni("F_l",0xFB04)
+CheckCompUni("F_t",0xE035)
CheckCompUni("f_t",0xE039)
-CheckCompUni("c_k",0xE03A)
-CheckCompUni("c_h",0xE03B)
-CheckCompUni("t_t",0xE03C)
-CheckCompUni("c_t",0xE03D)
-CheckCompUni("0x017F_i",0xE03E)
-CheckCompUni("0x017F_0x017F",0xE03F)
-CheckCompUni("0x017F_l",0xE043)
-CheckCompUni("S_i",0xE044)
-CheckCompUni("0x017F_s",0xE045)
-CheckCompUni("t_z",0xE04A)
+CheckCompUni("G_A",0x0391)
+CheckCompUni("G_B",0x0392)
+CheckCompUni("G_E",0x0395)
+CheckCompUni("G_H",0x0397)
+CheckCompUni("G_I",0x0399)
+CheckCompUni("G_K",0x039A)
+CheckCompUni("G_M",0x039C)
+CheckCompUni("G_N",0x039D)
+CheckCompUni("G_O",0x039F)
+CheckCompUni("G_P",0x03A1)
+CheckCompUni("G_T",0x03A4)
+CheckCompUni("G_X",0x039D)
+CheckCompUni("G_Y",0x03A5)
+CheckCompUni("G_Z",0x0396)
+CheckCompUni("I_J",0x0132)
+CheckCompUni("i_j",0x0133)
+CheckCompUni("L_J",0x01C7)
+CheckCompUni("L_j",0x01C8)
+CheckCompUni("l_j",0x01C9)
+CheckCompUni("N_J",0x01CA)
+CheckCompUni("N_j",0x01CB)
+CheckCompUni("n_j",0x01CC)
+CheckCompAsc("o_c","")
+CheckCompAsc("o_C","")
+CheckCompAsc("O_C","")
+CheckCompAsc("O_c","")
+CheckCompAsc("o_e","")
+CheckCompAsc("O_E","")
+CheckCompAsc("o_o","")
+CheckCompAsc("O_o","")
+CheckCompAsc("o_O","")
+CheckCompAsc("O_O","")
+CheckCompAsc("p_{!}","")
+CheckCompAsc("P_{!}","")
+CheckCompAsc("P_P","")
CheckCompUni("Q_u",0xE048)
-CheckCompUni("T_h",0xE049)
-CheckCompUni("{!}_{Numpad2}",0x203C)
-CheckCompUni("2_{!}",0x203C)
-CheckCompUni("{Numpad2}_{!}",0x203C)
-CheckCompUni("?_{Numpad2}",0x2047)
-CheckCompUni("2_?",0x2047)
-CheckCompUni("{Numpad2}_?",0x2047)
-CheckCompUni("{!}_?",0x2049)
-CheckCompUni("?_{!}",0x2048)
-CheckCompUni("1_?_{!}",0x203D)
-CheckComp3Uni("1_{!}_?",0x203D)
-CheckComp3Uni("{Numpad1}_?_{!}",0x203D)
-CheckComp3Uni("{Numpad1}_{!}_?",0x203D)
-CheckComp3Uni("1__",0x2E18)
-CheckComp3Uni("1__",0x2E18)
-CheckComp3Uni("{Numpad1}__",0x2E18)
-CheckComp3Uni("{Numpad1}__",0x2E18)
-CheckCompUni("0x2020_0x2020",0x2021)
-CheckCompUni(":_:",0x2025)
-CheckCompUni("R_{Numpad1}_ ",0x2160)
-CheckCompUni("R_{Numpad2}",0x2161)
-CheckCompUni("R_{Numpad3}",0x2162)
-CheckCompUni("R_{Numpad4}",0x2163)
-CheckCompUni("R_{Numpad5}",0x2164)
-CheckCompUni("R_{Numpad6}",0x2165)
-CheckCompUni("R_{Numpad7}",0x2166)
-CheckCompUni("R_{Numpad8}",0x2167)
-CheckCompUni("R_{Numpad9}",0x2168)
CheckCompUni("R_{Numpad1}_{Numpad0}",0x2169)
+CheckCompUni("r_{Numpad1}_{Numpad0}",0x2179)
CheckCompUni("R_{Numpad1}_{Numpad1}",0x216A)
+CheckCompUni("r_{Numpad1}_{Numpad1}",0x217A)
CheckCompUni("R_{Numpad1}_{Numpad2}",0x216B)
-CheckCompUni("r_{Numpad1}_ ",0x2170)
+CheckCompUni("r_{Numpad1}_{Numpad2}",0x217B)
+CheckCompUni("R_{Numpad1}_{Space}",0x2160)
+CheckCompUni("r_{Numpad1}_{Space}",0x2170)
+CheckCompUni("R_{Numpad2}",0x2161)
CheckCompUni("r_{Numpad2}",0x2171)
+CheckCompUni("R_{Numpad3}",0x2162)
CheckCompUni("r_{Numpad3}",0x2172)
+CheckCompUni("R_{Numpad4}",0x2163)
CheckCompUni("r_{Numpad4}",0x2173)
+CheckCompUni("R_{Numpad5}",0x2164)
CheckCompUni("r_{Numpad5}",0x2174)
+CheckCompUni("R_{Numpad6}",0x2165)
CheckCompUni("r_{Numpad6}",0x2175)
+CheckCompUni("R_{Numpad7}",0x2166)
CheckCompUni("r_{Numpad7}",0x2176)
+CheckCompUni("R_{Numpad8}",0x2167)
CheckCompUni("r_{Numpad8}",0x2177)
+CheckCompUni("R_{Numpad9}",0x2168)
CheckCompUni("r_{Numpad9}",0x2178)
-CheckCompUni("r_{Numpad1}_{Numpad0}",0x2179)
-CheckCompUni("r_{Numpad1}_{Numpad1}",0x217A)
-CheckCompUni("r_{Numpad1}_{Numpad2}",0x217B)
-CheckCompUni(":_)",0x263A)
-CheckCompUni(":_(",0x2639)
+CheckCompUni("R_1_{Space}",0x2160)
+CheckCompUni("r_1_{Space}",0x2170)
+CheckCompUni("R_1_0",0x2169)
+CheckCompUni("r_1_0",0x2179)
+CheckCompUni("R_1_1",0x216A)
+CheckCompUni("r_1_1",0x217A)
+CheckCompUni("R_1_2",0x216B)
+CheckCompUni("r_1_2",0x217B)
+CheckCompUni("R_2",0x2161)
+CheckCompUni("r_2",0x2171)
+CheckCompUni("R_3",0x2162)
+CheckCompUni("r_3",0x2172)
+CheckCompUni("R_4",0x2163)
+CheckCompUni("r_4",0x2173)
+CheckCompUni("R_5",0x2164)
+CheckCompUni("r_5",0x2174)
+CheckCompUni("R_6",0x2165)
+CheckCompUni("r_6",0x2175)
+CheckCompUni("R_7",0x2166)
+CheckCompUni("r_7",0x2176)
+CheckCompUni("R_8",0x2167)
+CheckCompUni("r_8",0x2177)
+CheckCompUni("R_9",0x2168)
+CheckCompUni("r_9",0x2178)
+CheckCompUni("S_i",0xE044)
+CheckCompUni("s_m",0x2120)
+CheckCompUni("s_t",0xFB06)
+CheckCompAsc("t_h","")
+CheckCompAsc("T_H","")
+CheckCompUni("T_h",0xE049)
+CheckCompUni("t_m",0x2122)
+CheckCompUni("t_t",0xE03C)
+CheckCompUni("t_z",0xE04A)
+
}
diff --git a/windows/autohotkey/Source/Keys-Neo.ahk b/windows/autohotkey/Source/Keys-Neo.ahk
index a0c62c4..209735d 100644
--- a/windows/autohotkey/Source/Keys-Neo.ahk
+++ b/windows/autohotkey/Source/Keys-Neo.ahk
@@ -26,10 +26,8 @@ neo_1:
noCaps=1
EbeneAktualisieren()
if Ebene12 and !(CheckDeadUni("c1",0x00B9) ; Hochgestellte 1
- or CheckDeadUni("c5",0x2081) ; Tiefgestellte 1
- or CheckComp3Uni("r_1",0x217A) ; Rmisch xi
- or CheckComp3Uni("R_1",0x216A)) ; Rmisch XI
- OutputChar12(1,"")
+ or CheckDeadUni("c5",0x2081)) ; Tiefgestellte 1
+ OutputChar12(1,"")
else if (Ebene = 3)
SendUnicodeChar(0x00B9) ; Hochgestellte 1
else if (Ebene = 4)
@@ -44,13 +42,7 @@ neo_2:
noCaps = 1
EbeneAktualisieren()
if (Ebene = 1 and !(CheckDeadUni("c1",0x00B2) ; Hochgestellte 2
- or CheckDeadUni("c5",0x2082) ; Tiefgestellte 2
- or CheckCompUni("r",0x2171) ; Rmisch ii
- or CheckCompUni("R",0x2161) ; Rmisch II
- or CheckComp3Uni("r_1",0x217B) ; Rmisch xii
- or CheckComp3Uni("R_1",0x216B) ; Rmisch XII
- or CheckCompUni("{!}",0x203C) ; DOUBLE EXCLAMATION MARK
- or CheckCompUni("?",0x2047))) ; DOUBLE QUESTION MARK
+ or CheckDeadUni("c5",0x2082))) ; Tiefgestellte 2
OutputChar(2)
else if (Ebene = 2)
SendUnicodeChar(0x2116) ; Numero
@@ -68,12 +60,8 @@ neo_3:
noCaps = 1
EbeneAktualisieren()
if Ebene12 and !(CheckDeadUni("c1",0x00B3) ; Hochgestellte 3
- or CheckDeadUni("c5",0x2083) ; Tiefgestellte 3
- or CheckCompUni("1",0x2153) ; 1/3
- or CheckCompUni("2",0x2154) ; 2/3
- or CheckCompUni("r",0x2172) ; Rmisch iii
- or CheckCompUni("R",0x2162)) ; Rmisch III
- OutputChar12(3,"")
+ or CheckDeadUni("c5",0x2083)) ; Tiefgestellte 3
+ OutputChar12(3,"")
else if (Ebene = 3)
SendUnicodeChar(0x00B3) ; Hochgestellte 3
else if (Ebene = 4)
@@ -87,13 +75,10 @@ return
neo_4:
noCaps = 1
EbeneAktualisieren()
- if (Ebene = 1) {
- if !(CheckDeadUni("c1",0x2074) ; Hochgestellte 4
- or CheckDeadUni("c5",0x2084) ; Tiefgestellte 4
- or CheckCompUni("r",0x2173) ; Rmisch iv
- or CheckCompUni("R",0x2163)) ; Rmisch IV
- OutputChar(4)
- } else if (Ebene = 2)
+ if (Ebene = 1) and !(CheckDeadUni("c1",0x2074) ; Hochgestellte 4
+ or CheckDeadUni("c5",0x2084)) ; Tiefgestellte 4
+ OutputChar(4)
+ else if (Ebene = 2)
SendUnicodeChar(0x00BB) ; Double guillemot right
else if (Ebene = 3)
Send {blind} ; Single guillemot right
@@ -108,17 +93,10 @@ return
neo_5:
noCaps = 1
EbeneAktualisieren()
- if (Ebene = 1) {
- if !(CheckDeadUni("c1",0x2075) ; Hochgestellte 5
- or CheckDeadUni("c5",0x2085) ; Tiefgestellte 5
- 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) ; Rmisch v
- or CheckCompUni("R",0x2164)) ; Rmisch V
- OutputChar(5)
- } else if (Ebene = 2)
+ if (Ebene = 1) and !(CheckDeadUni("c1",0x2075) ; Hochgestellte 5
+ or CheckDeadUni("c5",0x2085)) ; Tiefgestellte 5
+ OutputChar(5)
+ else if (Ebene = 2)
SendUnicodeChar(0x00AB) ; Double guillemot left
else if (Ebene = 3)
Send {blind} ; Single guillemot left
@@ -131,15 +109,10 @@ return
neo_6:
noCaps = 1
EbeneAktualisieren()
- if (Ebene = 1) {
- if !(CheckDeadUni("c1",0x2076) ; Hochgestellte 6
- or CheckDeadUni("c5",0x2086) ; Tiefgestellte 6
- or CheckCompUni("1",0x2159) ; 1/6
- or CheckCompUni("5",0x215A) ; 5/6
- or CheckCompUni("r",0x2175) ; Rmisch vi
- or CheckCompUni("R",0x2165)) ; Rmisch VI
- OutputChar(6)
- } else if (Ebene = 2)
+ if (Ebene = 1) and !(CheckDeadUni("c1",0x2076) ; Hochgestellte 6
+ or CheckDeadUni("c5",0x2086)) ; Tiefgestellte 6
+ OutputChar(6)
+ else if (Ebene = 2)
SendUnicodeChar(0x20AC)
else if (Ebene = 3)
send {blind}
@@ -152,13 +125,10 @@ return
neo_7:
noCaps = 1
EbeneAktualisieren()
- if Ebene12 {
- if !(CheckDeadUni("c1",0x2077) ; Hochgestellte 7
- or CheckDeadUni("c5",0x2087) ; Tiefgestellte 7
- or CheckCompUni("r",0x2176) ; Rmisch vii
- or CheckCompUni("R",0x2166)) ; Rmisch VII
- OutputChar12(7,"$")
- } else if (Ebene = 3)
+ if Ebene12 and !(CheckDeadUni("c1",0x2077) ; Hochgestellte 7
+ or CheckDeadUni("c5",0x2087)) ; Tiefgestellte 7
+ OutputChar12(7,"$")
+ else if (Ebene = 3)
send {blind}
else if (Ebene = 4)
send {blind}
@@ -171,17 +141,10 @@ return
neo_8:
noCaps = 1
EbeneAktualisieren()
- if Ebene12 {
- if !(CheckDeadUni("c1",0x2078) ; Hochgestellte 8
- or CheckDeadUni("c5",0x2088) ; Tiefgestellte 8
- 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) ; Rmisch viii
- or CheckCompUni("R",0x2167)) ; Rmisch VIII
- OutputChar12(8,"")
- } else if (Ebene = 3)
+ if Ebene12 and !(CheckDeadUni("c1",0x2078) ; Hochgestellte 8
+ or CheckDeadUni("c5",0x2088)) ; Tiefgestellte 8
+ OutputChar12(8,"")
+ else if (Ebene = 3)
send {blind}
else if (Ebene = 4)
Send {blind}{NumpadDiv}
@@ -194,13 +157,10 @@ return
neo_9:
noCaps = 1
EbeneAktualisieren()
- if Ebene12 {
- if !(CheckDeadUni("c1",0x2079) ; Hochgestellte 9
- or CheckDeadUni("c5",0x2089) ; Tiefgestellte 9
- or CheckCompUni("r",0x2178) ; Rmisch ix
- or CheckCompUni("R",0x2168)) ; Rmisch IX
- OutputChar12(9,"")
- } else if (Ebene = 3)
+ if Ebene12 and !(CheckDeadUni("c1",0x2079) ; Hochgestellte 9
+ or CheckDeadUni("c5",0x2089)) ; Tiefgestellte 9
+ OutputChar12(9,"")
+ else if (Ebene = 3)
send {blind}
else if (Ebene = 4)
Send {blind}{NumpadMult}
@@ -213,13 +173,10 @@ return
neo_0:
noCaps = 1
EbeneAktualisieren()
- if Ebene12 {
- if !(CheckDeadUni("c1",0x2070) ; Hochgestellte 0
- or CheckDeadUni("c5",0x2080) ; Tiefgestellte 0
- or CheckDeadUni("r_1",0x2177) ; Rmisch x
- or CheckComp3Uni("R_1",0x2169)) ; Rmisch X
- OutputChar12(0,"")
- } else if (Ebene = 3)
+ if Ebene12 and !(CheckDeadUni("c1",0x2070) ; Hochgestellte 0
+ or CheckDeadUni("c5",0x2080)) ; Tiefgestellte 0
+ OutputChar12(0,"")
+ else if (Ebene = 3)
send {blind}
else if (Ebene = 4)
Send {blind}{NumpadSub}
@@ -269,7 +226,7 @@ return
neo_x:
EbeneAktualisieren()
- if (Ebene12 and !CheckCompUni12("G","",0x039D))
+ if Ebene12
OutputChar12("x","X")
else if (Ebene = 3)
SendUnicodeChar(0x2026) ; Ellipse horizontal
@@ -303,9 +260,7 @@ neo_l:
or CheckDeadUni12("c2",0x013E,0x013D)
or CheckDeadUni12("c4",0x0140,0x013F)
or CheckDeadUni12("c6",0x1E37,0x1E36)
- or CheckDeadUni12("t4",0x0142,0x0141)
- or CheckCompUni("f",0xFB02)
- or CheckCompUni("F",0xFB04)))
+ or CheckDeadUni12("t4",0x0142,0x0141)))
OutputChar12("l","L")
else if (Ebene = 3)
send {blind}[
@@ -324,9 +279,7 @@ neo_c:
or CheckDeadUni12("a3",0x00E7,0x00E6)
or CheckDeadUni12("a4",0x010B,0x010A)
or CheckDeadUni12("c1",0x0109,0x0108)
- or CheckDeadUni12("c2",0x010D,0x010C)
- or CheckCompAsc12("o","","")
- or CheckCompAsc12("O","","")))
+ or CheckDeadUni12("c2",0x010D,0x010C)))
OutputChar12("c","C")
else if (Ebene = 3)
send {blind}]
@@ -355,8 +308,7 @@ return
neo_k:
EbeneAktualisieren()
if (Ebene12 and !(CheckDeadUni12("a3",0x0137,0x0136)
- or CheckDeadUni12("c6",0x1E33,0x1E32)
- or CheckCompUni12("G","",0x039A)))
+ or CheckDeadUni12("c6",0x1E33,0x1E32)))
OutputChar12("k","K")
else if (Ebene = 3)
OutputChar("{!}")
@@ -373,14 +325,13 @@ neo_h:
if (Ebene12 and !(CheckDeadUni12("a4",0x1E23,0x1E22)
or CheckDeadUni12("c1",0x0125,0x0124)
or CheckDeadUni12("c5",0x0127,0x0126)
- or CheckDeadUni12("c6",0x1E25,0x1E24)
- or CheckCompUni12("G","",0x0397)))
+ or CheckDeadUni12("c6",0x1E25,0x1E24)))
OutputChar12("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}
+ OutputChar("{Numpad7}")
else if (Ebene = 5)
SendUnicodeChar(0x03C8) ; psi
else if (Ebene = 6)
@@ -398,7 +349,7 @@ neo_g:
send {blind}>
else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2078)
or CheckDeadUni("c5",0x2088)))
- Send {blind}{NumPad8}
+ OutputChar("{Numpad8}")
else if (Ebene = 5)
SendUnicodeChar(0x03B3) ; gamma
else if (Ebene = 6)
@@ -408,8 +359,7 @@ return
neo_f:
EbeneAktualisieren()
if (Ebene12 and !(CheckDeadUni12("a4",0x1E1F,0x1E1E)
- or CheckDeadUni12("t4",0x0192,0x0191)
- or CheckCompUni("f",0xFB00)))
+ or CheckDeadUni12("t4",0x0192,0x0191)))
OutputChar12("f","F")
else if ((Ebene = 3) and !(CheckDeadUni("a6",0x2257) ; ring equal to
or CheckDeadUni("c1",0x2259) ; entspricht
@@ -420,7 +370,7 @@ neo_f:
send {blind}`=
else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2079)
or CheckDeadUni("c5",0x2089)))
- send {blind}{NumPad9}
+ OutputChar("{Numpad9}")
else if (Ebene = 5)
SendUnicodeChar(0x03C6) ; phi
else if (Ebene = 6)
@@ -522,13 +472,10 @@ neo_i:
or CheckDeadUni12("c3",0x012D,0x012C)
or CheckDeadUni12("t1",0x0129,0x0128)
or CheckDeadUni12("t2",0x012B,0x012A)
- or CheckDeadAsc12("t3","","")
- or CheckCompUni("f",0xFB01)
- or CheckCompUni("F",0xFB03)
- or CheckCompUni12("G","",0x0399)))
+ or CheckDeadAsc12("t3","","")))
OutputChar12("i","I")
else if (Ebene = 3)
- send {blind}`/
+ OutputChar("`/")
else if (Ebene = 4)
Send {Blind}{Left}
else if (Ebene = 5)
@@ -548,8 +495,7 @@ neo_a:
or CheckDeadUni12("c3",0x0103,0x0102)
or CheckDeadUni12("t1",0x00E3,0x00C3)
or CheckDeadUni12("t2",0x0101,0x0100)
- or CheckDeadAsc12("t3","","")
- or CheckCompUni12("G","",0x0391)))
+ or CheckDeadAsc12("t3","","")))
OutputChar12("a","A")
else if (Ebene = 3)
send {blind}{{}
@@ -572,13 +518,7 @@ neo_e:
or CheckDeadUni12("c3",0x0115,0x0114)
or CheckDeadUni12("t1",0x1EBD,0x1EBC)
or CheckDeadUni12("t2",0x0113,0x0112)
- or CheckDeadAsc12("t3","","")
- or CheckCompAsc12("a","","")
- or CheckCompAsc12("A","","")
- or CheckCompAsc12("o","","")
- or CheckCompAsc12("O","","")
- or CheckCompUni12("G","",0x0395)
- or CheckCompUni12("E","",0x018F)))
+ or CheckDeadAsc12("t3","","")))
OutputChar12("e","E")
else if (Ebene = 3)
send {blind}{}}
@@ -602,8 +542,7 @@ neo_o:
or CheckDeadUni12("t2",0x014D,0x014C)
or CheckDeadAsc12("t3","","")
or CheckDeadUni12("t4",0x00F8,0x00D8)
- or CheckDeadUni12("t5",0x0151,0x0150)
- or CheckCompUni12("G","",0x039F)))
+ or CheckDeadUni12("t5",0x0151,0x0150)))
OutputChar12("o","O")
else if (Ebene = 3)
send {blind}*
@@ -642,14 +581,13 @@ neo_n:
or CheckDeadUni12("a3",0x0146,0x0145)
or CheckDeadUni12("a4",0x1E45,0x1E44)
or CheckDeadUni12("c2",0x0148,0x0147)
- or CheckDeadUni12("t1",0x00F1,0x00D1)
- or CheckCompUni12("G","",0x039D)))
+ or CheckDeadUni12("t1",0x00F1,0x00D1)))
OutputChar12("n","N")
else if (Ebene = 3)
OutputChar("(")
else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2074)
or CheckDeadUni("c5",0x2084)))
- Send {blind}{NumPad4}
+ OutputChar("{Numpad4}")
else if (Ebene = 5)
SendUnicodeChar(0x03BD) ; nu
else if (Ebene = 6)
@@ -662,15 +600,13 @@ neo_r:
or CheckDeadUni12("a3",0x0157,0x0156)
or CheckDeadUni12("a4",0x0E59,0x0E58)
or CheckDeadUni12("c2",0x0159,0x0158)
- or CheckDeadUni12("c6",0x1E5B,0x1E5A)
- or CheckCompAsc12("o","","")
- or CheckCompAsc12("O","","")))
+ or CheckDeadUni12("c6",0x1E5B,0x1E5A)))
OutputChar12("r","R")
else if (Ebene = 3)
OutputChar(")")
else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2075)
or CheckDeadUni("c5",0x2085)))
- Send {blind}{NumPad5}
+ OutputChar("{Numpad5}")
else if (Ebene = 5)
SendUnicodeChar(0x03F1) ; rho symbol (varrho)
else if (Ebene = 6)
@@ -684,16 +620,13 @@ neo_t:
or CheckDeadUni12("c2",0x0165,0x0164)
or CheckDeadUni12("c5",0x0167,0x0166)
or CheckDeadUni12("c6",0x1E6D,0x1E6C)
- or CheckDeadUni("t3",0x1E97)
- or CheckCompUni("0x017F",0xFB05)
- or CheckCompUni("s",0xFB06)
- or CheckCompUni12("G","",0x03A4)))
+ or CheckDeadUni("t3",0x1E97)))
OutputChar12("t","T")
else if (Ebene = 3)
- send {blind}- ; Bisstrich
- else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2076)
- or CheckDeadUni("c5",0x2086)))
- Send {blind}{NumPad6}
+ OutputChar("-") ; Bisstrich
+ else if (Ebene = 4) and !(CheckDeadUni("c1",0x2076)
+ or CheckDeadUni("c5",0x2086))
+ OutputChar("{Numpad6}")
else if (Ebene = 5)
SendUnicodeChar(0x03C4) ; tau
else if (Ebene = 6)
@@ -707,11 +640,11 @@ neo_d:
or CheckDeadUni12("c5",0x0111,0x0110)
or CheckDeadUni12("c6",0x1E0D,0x1E0C)
or CheckDeadUni12("t4",0x00F0,0x00D0)))
- OutputChar12("d","D")
+ OutputChar12("d","D")
else if (Ebene = 3)
- OutputChar(":")
+ OutputChar(":")
else if (Ebene = 4)
- send `,
+ send `,
else if (Ebene = 5)
SendUnicodeChar(0x03B4) ; delta
else if (Ebene = 6)
@@ -722,8 +655,7 @@ neo_y:
EbeneAktualisieren()
if (Ebene12 and !(CheckDeadUni12("a1",0x00FD,0x00DD)
or CheckDeadUni12("c1",0x0177,0x0176)
- or CheckDeadAsc12("t3","","")
- or CheckCompUni12("G","",0x03A5)))
+ or CheckDeadAsc12("t3","","")))
OutputChar12("y","Y")
else if (Ebene = 3)
send {blind}@
@@ -792,13 +724,12 @@ return
neo_p:
EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a4",0x1E57,0x1E56)
- or CheckCompUni12("G","",0x03A1)))
+ if (Ebene12 and !(CheckDeadUni12("a4",0x1E57,0x1E56)))
OutputChar12("p","P")
else if ((Ebene = 3) and !(CheckDeadUni("t1",0x2248)))
send {blind}~
else if (Ebene = 4)
- Send {blind}{Enter}
+ Send {blind}{Enter}
else if (Ebene = 5)
SendUnicodeChar(0x03C0) ; pi
else if (Ebene = 6)
@@ -810,17 +741,11 @@ neo_z:
if (Ebene12 and !(CheckDeadUni12("a1",0x017A,0x0179)
or CheckDeadUni12("a4",0x017C,0x017B)
or CheckDeadUni12("c2",0x017E,0x017D)
- or CheckDeadUni12("c6",0x1E93,0x1E92)
- or CheckCompUni("d",0x01C6)
- or CheckCompUni12("D",0x01C5,0x01C4)
- or CheckCompUni12("G","",0x0396)))
+ or CheckDeadUni12("c6",0x1E93,0x1E92)))
OutputChar12("z","Z")
else if (Ebene = 3)
send ``{space} ; untot
- else if (Ebene = 4) { ; leer
- DeadKey := PriorDeadKey
- CompKey := PriorCompKey
- } else if (Ebene = 5)
+ else if (Ebene = 5)
SendUnicodeChar(0x03B6) ; zeta
else if (Ebene = 6)
SendUnicodeChar(0x2124) ; Z (ganze Zahlen)
@@ -828,8 +753,7 @@ return
neo_b:
EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a4",0x1E03,0x1E02)
- or CheckCompUni12("G","",0x0392)))
+ if (Ebene12 and !(CheckDeadUni12("a4",0x1E03,0x1E02)))
OutputChar12("b","B")
else if (Ebene = 3)
if isMod2Locked
@@ -846,16 +770,13 @@ return
neo_m:
EbeneAktualisieren()
if (Ebene12 and !(CheckDeadUni12("a4",0x1E41,0x1E40)
- or CheckDeadUni12("c6",0x1E43,0x1E42)
- or CheckCompUni12("t",0x2122,0x2122) ; TM
- or CheckCompUni12("s",0x2120,0x2120) ; SM
- or CheckCompUni12("G","",0x039C)))
+ or CheckDeadUni12("c6",0x1E43,0x1E42)))
OutputChar12("m","M")
else if (Ebene = 3)
send {blind}`%
else if ((Ebene = 4) and !(CheckDeadUni("c1",0x00B9)
or CheckDeadUni("c5",0x2081)))
- Send {blind}{NumPad1}
+ OutputChar("{Numpad1}")
else if (Ebene = 5)
SendUnicodeChar(0x03BC) ; griechisch mu, micro wre 0x00B5
else if (Ebene = 6)
@@ -873,7 +794,7 @@ neo_komma:
OutputChar(Chr(34))
else if ((Ebene = 4) and !(CheckDeadUni("c1",0x00B2)
or CheckDeadUni("c5",0x2082)))
- Send {blind}{NumPad2}
+ OutputChar("{Numpad2}")
else if (Ebene = 5)
SendUnicodeChar(0x03C1) ; rho
else if (Ebene = 6)
@@ -891,7 +812,7 @@ neo_punkt:
send {blind}'
else if ((Ebene = 4) and !(CheckDeadUni("c1",0x00B3)
or CheckDeadUni("c5",0x2083)))
- Send {blind}{NumPad3}
+ OutputChar("{Numpad3}")
else if (Ebene = 5)
SendUnicodeChar(0x03D1) ; theta symbol (vartheta)
else if (Ebene = 6)
@@ -902,13 +823,7 @@ return
neo_j:
EbeneAktualisieren()
if (Ebene12 and !(CheckDeadUni12("c1",0x0135,0x0134)
- or CheckDeadUni12("c2",0x01F0,"")
- or CheckCompUni("I",0x0132) ; IJ
- or CheckCompUni("i",0x0133) ; ij
- or CheckCompUni("l",0x01C9) ; lj
- or CheckCompUni("n",0x01CC) ; nj
- or CheckCompUni12("L",0x01C8,0x01C7) ; Lj/LJ
- or CheckCompUni12("N",0x01CB,0x01CA))) ; Nj/NJ
+ or CheckDeadUni12("c2",0x01F0,"")))
OutputChar12("j","J")
else if (Ebene = 3)
send {blind}`;
@@ -939,7 +854,7 @@ return
neo_NumpadDiv:
EbeneAktualisieren()
if Ebene14
- send {blind}{NumpadDiv}
+ OutputChar("{NumpadDiv}")
else if (Ebene = 2)
SendUnicodeChar(0x2215) ; Slash
else if (Ebene = 3)
@@ -994,10 +909,7 @@ return
neo_Numpad8:
EbeneAktualisieren()
- if ((Ebene = 1) and !(CheckCompUni("{Numpad1}",0x215B) ; 1/8
- or CheckCompUni("{Numpad3}",0x215C) ; 3/8
- or CheckCompUni("{Numpad5}",0x215D) ; 5/8
- or CheckCompUni("{Numpad7}",0x215E))) ; 7/8
+ if (Ebene = 1)
OutputChar("{Numpad8}")
else if (Ebene = 2)
SendUnicodeChar(0x2229) ; Durchschnitt
@@ -1021,8 +933,7 @@ return
neo_Numpad4:
EbeneAktualisieren()
- if ((Ebene = 1) and !(CheckCompUni("{Numpad1}",0x00BC) ; 1/4
- or CheckCompUni("{Numpad3}",0x00BE))) ; 3/4
+ if (Ebene = 1)
OutputChar("{Numpad4}")
else if (Ebene = 2)
SendUnicodeChar(0x2282) ; Teilmenge
@@ -1034,10 +945,7 @@ return
neo_Numpad5:
EbeneAktualisieren()
- if ((Ebene = 1) and !(CheckCompUni("{Numpad1}",0x2155) ; 1/5
- or CheckCompUni("{Numpad2}",0x2156) ; 2/5
- or CheckCompUni("{Numpad3}",0x2157) ; 3/5
- or CheckCompUni("{Numpad4}",0x2158))) ; 4/5
+ if (Ebene = 1)
OutputChar("{Numpad5}")
else if (Ebene = 2)
SendUnicodeChar(0x20AC) ; Euro
@@ -1049,8 +957,7 @@ return
neo_Numpad6:
EbeneAktualisieren()
- if ((Ebene = 1) and !(CheckCompUni("{Numpad1}",0x2159) ; 1/6
- or CheckCompUni("{Numpad5}",0x215a))) ; 5/6
+ if (Ebene = 1)
OutputChar("{Numpad6}")
else if (Ebene = 2)
SendUnicodeChar(0x2283) ; Obermenge
@@ -1062,9 +969,9 @@ return
neo_Numpad1:
EbeneAktualisieren()
- if (Ebene = 1) {
+ if (Ebene = 1)
OutputChar("{Numpad1}")
- } else if (Ebene = 2)
+ else if (Ebene = 2)
SendUnicodeChar(0x2714) ; Hkchen
else if (Ebene = 3)
SendUnicodeChar(0x2194) ; Links-Rechts-Pfeil
@@ -1074,9 +981,7 @@ return
neo_Numpad2:
EbeneAktualisieren()
- if ((Ebene = 1) and !(CheckCompUni("{Numpad1}",0x00BD) ; 1/2
- or CheckCompUni("{!}",0x203C) ; DOUBLE EXCLAMATION MARK
- or CheckCompUni("?",0x2047))) ; DOUBLE QUESTION MARK
+ if (Ebene = 1)
OutputChar("{Numpad2}")
else if (Ebene = 2)
SendUnicodeChar(0x222A) ; Vereinigung
@@ -1088,8 +993,7 @@ return
neo_Numpad3:
EbeneAktualisieren()
- if ((Ebene = 1) and !(CheckCompUni("{Numpad1}",0x2153) ; 1/3
- or CheckCompUni("{Numpad5}",0x2154))) ; 2/3
+ if (Ebene = 1)
OutputChar("{Numpad3}")
else if (Ebene = 2)
SendUnicodeChar(0x2718) ; Kreuzchen
@@ -1145,15 +1049,13 @@ return
neo_SpaceUp:
EbeneAktualisieren()
- if (Ebene = 1) and !(CheckComp3Uni("r_1",0x2170) ; Rmisch i
- or CheckComp3Uni("R_1",0x2160) ; Rmisch I
- or CheckDeadUni("c5",0x2010)) ; Echter Bindestrich
- Send {blind}{Space}
+ if (Ebene = 1) and !CheckDeadUni("c5",0x2010) ; Echter Bindestrich
+ OutputChar("{Space}")
else if (Ebene = 2) or (Ebene = 3)
Send {blind}{Space}
else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2070)
or CheckDeadUni("c5",0x2080)))
- Send {blind}{NumPad0}
+ OutputChar("{Numpad0}")
else if (Ebene = 5)
SendUnicodeChar(0x00A0) ; geschtztes Leerzeichen
else if (Ebene = 6)
diff --git a/windows/autohotkey/neo20.ahk b/windows/autohotkey/neo20.ahk
index 37aca06..28e7544 100644
--- a/windows/autohotkey/neo20.ahk
+++ b/windows/autohotkey/neo20.ahk
@@ -775,10 +775,8 @@ neo_1:
noCaps=1
EbeneAktualisieren()
if Ebene12 and !(CheckDeadUni("c1",0x00B9) ; Hochgestellte 1
- or CheckDeadUni("c5",0x2081) ; Tiefgestellte 1
- or CheckComp3Uni("r_1",0x217A) ; Rmisch xi
- or CheckComp3Uni("R_1",0x216A)) ; Rmisch XI
- OutputChar12(1,"")
+ or CheckDeadUni("c5",0x2081)) ; Tiefgestellte 1
+ OutputChar12(1,"")
else if (Ebene = 3)
SendUnicodeChar(0x00B9) ; Hochgestellte 1
else if (Ebene = 4)
@@ -793,13 +791,7 @@ neo_2:
noCaps = 1
EbeneAktualisieren()
if (Ebene = 1 and !(CheckDeadUni("c1",0x00B2) ; Hochgestellte 2
- or CheckDeadUni("c5",0x2082) ; Tiefgestellte 2
- or CheckCompUni("r",0x2171) ; Rmisch ii
- or CheckCompUni("R",0x2161) ; Rmisch II
- or CheckComp3Uni("r_1",0x217B) ; Rmisch xii
- or CheckComp3Uni("R_1",0x216B) ; Rmisch XII
- or CheckCompUni("{!}",0x203C) ; DOUBLE EXCLAMATION MARK
- or CheckCompUni("?",0x2047))) ; DOUBLE QUESTION MARK
+ or CheckDeadUni("c5",0x2082))) ; Tiefgestellte 2
OutputChar(2)
else if (Ebene = 2)
SendUnicodeChar(0x2116) ; Numero
@@ -817,12 +809,8 @@ neo_3:
noCaps = 1
EbeneAktualisieren()
if Ebene12 and !(CheckDeadUni("c1",0x00B3) ; Hochgestellte 3
- or CheckDeadUni("c5",0x2083) ; Tiefgestellte 3
- or CheckCompUni("1",0x2153) ; 1/3
- or CheckCompUni("2",0x2154) ; 2/3
- or CheckCompUni("r",0x2172) ; Rmisch iii
- or CheckCompUni("R",0x2162)) ; Rmisch III
- OutputChar12(3,"")
+ or CheckDeadUni("c5",0x2083)) ; Tiefgestellte 3
+ OutputChar12(3,"")
else if (Ebene = 3)
SendUnicodeChar(0x00B3) ; Hochgestellte 3
else if (Ebene = 4)
@@ -836,13 +824,10 @@ return
neo_4:
noCaps = 1
EbeneAktualisieren()
- if (Ebene = 1) {
- if !(CheckDeadUni("c1",0x2074) ; Hochgestellte 4
- or CheckDeadUni("c5",0x2084) ; Tiefgestellte 4
- or CheckCompUni("r",0x2173) ; Rmisch iv
- or CheckCompUni("R",0x2163)) ; Rmisch IV
- OutputChar(4)
- } else if (Ebene = 2)
+ if (Ebene = 1) and !(CheckDeadUni("c1",0x2074) ; Hochgestellte 4
+ or CheckDeadUni("c5",0x2084)) ; Tiefgestellte 4
+ OutputChar(4)
+ else if (Ebene = 2)
SendUnicodeChar(0x00BB) ; Double guillemot right
else if (Ebene = 3)
Send {blind} ; Single guillemot right
@@ -857,17 +842,10 @@ return
neo_5:
noCaps = 1
EbeneAktualisieren()
- if (Ebene = 1) {
- if !(CheckDeadUni("c1",0x2075) ; Hochgestellte 5
- or CheckDeadUni("c5",0x2085) ; Tiefgestellte 5
- 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) ; Rmisch v
- or CheckCompUni("R",0x2164)) ; Rmisch V
- OutputChar(5)
- } else if (Ebene = 2)
+ if (Ebene = 1) and !(CheckDeadUni("c1",0x2075) ; Hochgestellte 5
+ or CheckDeadUni("c5",0x2085)) ; Tiefgestellte 5
+ OutputChar(5)
+ else if (Ebene = 2)
SendUnicodeChar(0x00AB) ; Double guillemot left
else if (Ebene = 3)
Send {blind} ; Single guillemot left
@@ -880,15 +858,10 @@ return
neo_6:
noCaps = 1
EbeneAktualisieren()
- if (Ebene = 1) {
- if !(CheckDeadUni("c1",0x2076) ; Hochgestellte 6
- or CheckDeadUni("c5",0x2086) ; Tiefgestellte 6
- or CheckCompUni("1",0x2159) ; 1/6
- or CheckCompUni("5",0x215A) ; 5/6
- or CheckCompUni("r",0x2175) ; Rmisch vi
- or CheckCompUni("R",0x2165)) ; Rmisch VI
- OutputChar(6)
- } else if (Ebene = 2)
+ if (Ebene = 1) and !(CheckDeadUni("c1",0x2076) ; Hochgestellte 6
+ or CheckDeadUni("c5",0x2086)) ; Tiefgestellte 6
+ OutputChar(6)
+ else if (Ebene = 2)
SendUnicodeChar(0x20AC)
else if (Ebene = 3)
send {blind}
@@ -901,13 +874,10 @@ return
neo_7:
noCaps = 1
EbeneAktualisieren()
- if Ebene12 {
- if !(CheckDeadUni("c1",0x2077) ; Hochgestellte 7
- or CheckDeadUni("c5",0x2087) ; Tiefgestellte 7
- or CheckCompUni("r",0x2176) ; Rmisch vii
- or CheckCompUni("R",0x2166)) ; Rmisch VII
- OutputChar12(7,"$")
- } else if (Ebene = 3)
+ if Ebene12 and !(CheckDeadUni("c1",0x2077) ; Hochgestellte 7
+ or CheckDeadUni("c5",0x2087)) ; Tiefgestellte 7
+ OutputChar12(7,"$")
+ else if (Ebene = 3)
send {blind}
else if (Ebene = 4)
send {blind}
@@ -920,17 +890,10 @@ return
neo_8:
noCaps = 1
EbeneAktualisieren()
- if Ebene12 {
- if !(CheckDeadUni("c1",0x2078) ; Hochgestellte 8
- or CheckDeadUni("c5",0x2088) ; Tiefgestellte 8
- 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) ; Rmisch viii
- or CheckCompUni("R",0x2167)) ; Rmisch VIII
- OutputChar12(8,"")
- } else if (Ebene = 3)
+ if Ebene12 and !(CheckDeadUni("c1",0x2078) ; Hochgestellte 8
+ or CheckDeadUni("c5",0x2088)) ; Tiefgestellte 8
+ OutputChar12(8,"")
+ else if (Ebene = 3)
send {blind}
else if (Ebene = 4)
Send {blind}{NumpadDiv}
@@ -943,13 +906,10 @@ return
neo_9:
noCaps = 1
EbeneAktualisieren()
- if Ebene12 {
- if !(CheckDeadUni("c1",0x2079) ; Hochgestellte 9
- or CheckDeadUni("c5",0x2089) ; Tiefgestellte 9
- or CheckCompUni("r",0x2178) ; Rmisch ix
- or CheckCompUni("R",0x2168)) ; Rmisch IX
- OutputChar12(9,"")
- } else if (Ebene = 3)
+ if Ebene12 and !(CheckDeadUni("c1",0x2079) ; Hochgestellte 9
+ or CheckDeadUni("c5",0x2089)) ; Tiefgestellte 9
+ OutputChar12(9,"")
+ else if (Ebene = 3)
send {blind}
else if (Ebene = 4)
Send {blind}{NumpadMult}
@@ -962,13 +922,10 @@ return
neo_0:
noCaps = 1
EbeneAktualisieren()
- if Ebene12 {
- if !(CheckDeadUni("c1",0x2070) ; Hochgestellte 0
- or CheckDeadUni("c5",0x2080) ; Tiefgestellte 0
- or CheckDeadUni("r_1",0x2177) ; Rmisch x
- or CheckComp3Uni("R_1",0x2169)) ; Rmisch X
- OutputChar12(0,"")
- } else if (Ebene = 3)
+ if Ebene12 and !(CheckDeadUni("c1",0x2070) ; Hochgestellte 0
+ or CheckDeadUni("c5",0x2080)) ; Tiefgestellte 0
+ OutputChar12(0,"")
+ else if (Ebene = 3)
send {blind}
else if (Ebene = 4)
Send {blind}{NumpadSub}
@@ -1018,7 +975,7 @@ return
neo_x:
EbeneAktualisieren()
- if (Ebene12 and !CheckCompUni12("G","",0x039D))
+ if Ebene12
OutputChar12("x","X")
else if (Ebene = 3)
SendUnicodeChar(0x2026) ; Ellipse horizontal
@@ -1052,9 +1009,7 @@ neo_l:
or CheckDeadUni12("c2",0x013E,0x013D)
or CheckDeadUni12("c4",0x0140,0x013F)
or CheckDeadUni12("c6",0x1E37,0x1E36)
- or CheckDeadUni12("t4",0x0142,0x0141)
- or CheckCompUni("f",0xFB02)
- or CheckCompUni("F",0xFB04)))
+ or CheckDeadUni12("t4",0x0142,0x0141)))
OutputChar12("l","L")
else if (Ebene = 3)
send {blind}[
@@ -1073,9 +1028,7 @@ neo_c:
or CheckDeadUni12("a3",0x00E7,0x00E6)
or CheckDeadUni12("a4",0x010B,0x010A)
or CheckDeadUni12("c1",0x0109,0x0108)
- or CheckDeadUni12("c2",0x010D,0x010C)
- or CheckCompAsc12("o","","")
- or CheckCompAsc12("O","","")))
+ or CheckDeadUni12("c2",0x010D,0x010C)))
OutputChar12("c","C")
else if (Ebene = 3)
send {blind}]
@@ -1104,8 +1057,7 @@ return
neo_k:
EbeneAktualisieren()
if (Ebene12 and !(CheckDeadUni12("a3",0x0137,0x0136)
- or CheckDeadUni12("c6",0x1E33,0x1E32)
- or CheckCompUni12("G","",0x039A)))
+ or CheckDeadUni12("c6",0x1E33,0x1E32)))
OutputChar12("k","K")
else if (Ebene = 3)
OutputChar("{!}")
@@ -1122,14 +1074,13 @@ neo_h:
if (Ebene12 and !(CheckDeadUni12("a4",0x1E23,0x1E22)
or CheckDeadUni12("c1",0x0125,0x0124)
or CheckDeadUni12("c5",0x0127,0x0126)
- or CheckDeadUni12("c6",0x1E25,0x1E24)
- or CheckCompUni12("G","",0x0397)))
+ or CheckDeadUni12("c6",0x1E25,0x1E24)))
OutputChar12("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}
+ OutputChar("{Numpad7}")
else if (Ebene = 5)
SendUnicodeChar(0x03C8) ; psi
else if (Ebene = 6)
@@ -1147,7 +1098,7 @@ neo_g:
send {blind}>
else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2078)
or CheckDeadUni("c5",0x2088)))
- Send {blind}{NumPad8}
+ OutputChar("{Numpad8}")
else if (Ebene = 5)
SendUnicodeChar(0x03B3) ; gamma
else if (Ebene = 6)
@@ -1157,8 +1108,7 @@ return
neo_f:
EbeneAktualisieren()
if (Ebene12 and !(CheckDeadUni12("a4",0x1E1F,0x1E1E)
- or CheckDeadUni12("t4",0x0192,0x0191)
- or CheckCompUni("f",0xFB00)))
+ or CheckDeadUni12("t4",0x0192,0x0191)))
OutputChar12("f","F")
else if ((Ebene = 3) and !(CheckDeadUni("a6",0x2257) ; ring equal to
or CheckDeadUni("c1",0x2259) ; entspricht
@@ -1169,7 +1119,7 @@ neo_f:
send {blind}`=
else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2079)
or CheckDeadUni("c5",0x2089)))
- send {blind}{NumPad9}
+ OutputChar("{Numpad9}")
else if (Ebene = 5)
SendUnicodeChar(0x03C6) ; phi
else if (Ebene = 6)
@@ -1271,13 +1221,10 @@ neo_i:
or CheckDeadUni12("c3",0x012D,0x012C)
or CheckDeadUni12("t1",0x0129,0x0128)
or CheckDeadUni12("t2",0x012B,0x012A)
- or CheckDeadAsc12("t3","","")
- or CheckCompUni("f",0xFB01)
- or CheckCompUni("F",0xFB03)
- or CheckCompUni12("G","",0x0399)))
+ or CheckDeadAsc12("t3","","")))
OutputChar12("i","I")
else if (Ebene = 3)
- send {blind}`/
+ OutputChar("`/")
else if (Ebene = 4)
Send {Blind}{Left}
else if (Ebene = 5)
@@ -1297,8 +1244,7 @@ neo_a:
or CheckDeadUni12("c3",0x0103,0x0102)
or CheckDeadUni12("t1",0x00E3,0x00C3)
or CheckDeadUni12("t2",0x0101,0x0100)
- or CheckDeadAsc12("t3","","")
- or CheckCompUni12("G","",0x0391)))
+ or CheckDeadAsc12("t3","","")))
OutputChar12("a","A")
else if (Ebene = 3)
send {blind}{{}
@@ -1321,13 +1267,7 @@ neo_e:
or CheckDeadUni12("c3",0x0115,0x0114)
or CheckDeadUni12("t1",0x1EBD,0x1EBC)
or CheckDeadUni12("t2",0x0113,0x0112)
- or CheckDeadAsc12("t3","","")
- or CheckCompAsc12("a","","")
- or CheckCompAsc12("A","","")
- or CheckCompAsc12("o","","")
- or CheckCompAsc12("O","","")
- or CheckCompUni12("G","",0x0395)
- or CheckCompUni12("E","",0x018F)))
+ or CheckDeadAsc12("t3","","")))
OutputChar12("e","E")
else if (Ebene = 3)
send {blind}{}}
@@ -1351,8 +1291,7 @@ neo_o:
or CheckDeadUni12("t2",0x014D,0x014C)
or CheckDeadAsc12("t3","","")
or CheckDeadUni12("t4",0x00F8,0x00D8)
- or CheckDeadUni12("t5",0x0151,0x0150)
- or CheckCompUni12("G","",0x039F)))
+ or CheckDeadUni12("t5",0x0151,0x0150)))
OutputChar12("o","O")
else if (Ebene = 3)
send {blind}*
@@ -1391,14 +1330,13 @@ neo_n:
or CheckDeadUni12("a3",0x0146,0x0145)
or CheckDeadUni12("a4",0x1E45,0x1E44)
or CheckDeadUni12("c2",0x0148,0x0147)
- or CheckDeadUni12("t1",0x00F1,0x00D1)
- or CheckCompUni12("G","",0x039D)))
+ or CheckDeadUni12("t1",0x00F1,0x00D1)))
OutputChar12("n","N")
else if (Ebene = 3)
OutputChar("(")
else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2074)
or CheckDeadUni("c5",0x2084)))
- Send {blind}{NumPad4}
+ OutputChar("{Numpad4}")
else if (Ebene = 5)
SendUnicodeChar(0x03BD) ; nu
else if (Ebene = 6)
@@ -1411,15 +1349,13 @@ neo_r:
or CheckDeadUni12("a3",0x0157,0x0156)
or CheckDeadUni12("a4",0x0E59,0x0E58)
or CheckDeadUni12("c2",0x0159,0x0158)
- or CheckDeadUni12("c6",0x1E5B,0x1E5A)
- or CheckCompAsc12("o","","")
- or CheckCompAsc12("O","","")))
+ or CheckDeadUni12("c6",0x1E5B,0x1E5A)))
OutputChar12("r","R")
else if (Ebene = 3)
OutputChar(")")
else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2075)
or CheckDeadUni("c5",0x2085)))
- Send {blind}{NumPad5}
+ OutputChar("{Numpad5}")
else if (Ebene = 5)
SendUnicodeChar(0x03F1) ; rho symbol (varrho)
else if (Ebene = 6)
@@ -1433,16 +1369,13 @@ neo_t:
or CheckDeadUni12("c2",0x0165,0x0164)
or CheckDeadUni12("c5",0x0167,0x0166)
or CheckDeadUni12("c6",0x1E6D,0x1E6C)
- or CheckDeadUni("t3",0x1E97)
- or CheckCompUni("0x017F",0xFB05)
- or CheckCompUni("s",0xFB06)
- or CheckCompUni12("G","",0x03A4)))
+ or CheckDeadUni("t3",0x1E97)))
OutputChar12("t","T")
else if (Ebene = 3)
- send {blind}- ; Bisstrich
- else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2076)
- or CheckDeadUni("c5",0x2086)))
- Send {blind}{NumPad6}
+ OutputChar("-") ; Bisstrich
+ else if (Ebene = 4) and !(CheckDeadUni("c1",0x2076)
+ or CheckDeadUni("c5",0x2086))
+ OutputChar("{Numpad6}")
else if (Ebene = 5)
SendUnicodeChar(0x03C4) ; tau
else if (Ebene = 6)
@@ -1456,11 +1389,11 @@ neo_d:
or CheckDeadUni12("c5",0x0111,0x0110)
or CheckDeadUni12("c6",0x1E0D,0x1E0C)
or CheckDeadUni12("t4",0x00F0,0x00D0)))
- OutputChar12("d","D")
+ OutputChar12("d","D")
else if (Ebene = 3)
- OutputChar(":")
+ OutputChar(":")
else if (Ebene = 4)
- send `,
+ send `,
else if (Ebene = 5)
SendUnicodeChar(0x03B4) ; delta
else if (Ebene = 6)
@@ -1471,8 +1404,7 @@ neo_y:
EbeneAktualisieren()
if (Ebene12 and !(CheckDeadUni12("a1",0x00FD,0x00DD)
or CheckDeadUni12("c1",0x0177,0x0176)
- or CheckDeadAsc12("t3","","")
- or CheckCompUni12("G","",0x03A5)))
+ or CheckDeadAsc12("t3","","")))
OutputChar12("y","Y")
else if (Ebene = 3)
send {blind}@
@@ -1541,13 +1473,12 @@ return
neo_p:
EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a4",0x1E57,0x1E56)
- or CheckCompUni12("G","",0x03A1)))
+ if (Ebene12 and !(CheckDeadUni12("a4",0x1E57,0x1E56)))
OutputChar12("p","P")
else if ((Ebene = 3) and !(CheckDeadUni("t1",0x2248)))
send {blind}~
else if (Ebene = 4)
- Send {blind}{Enter}
+ Send {blind}{Enter}
else if (Ebene = 5)
SendUnicodeChar(0x03C0) ; pi
else if (Ebene = 6)
@@ -1559,17 +1490,11 @@ neo_z:
if (Ebene12 and !(CheckDeadUni12("a1",0x017A,0x0179)
or CheckDeadUni12("a4",0x017C,0x017B)
or CheckDeadUni12("c2",0x017E,0x017D)
- or CheckDeadUni12("c6",0x1E93,0x1E92)
- or CheckCompUni("d",0x01C6)
- or CheckCompUni12("D",0x01C5,0x01C4)
- or CheckCompUni12("G","",0x0396)))
+ or CheckDeadUni12("c6",0x1E93,0x1E92)))
OutputChar12("z","Z")
else if (Ebene = 3)
send ``{space} ; untot
- else if (Ebene = 4) { ; leer
- DeadKey := PriorDeadKey
- CompKey := PriorCompKey
- } else if (Ebene = 5)
+ else if (Ebene = 5)
SendUnicodeChar(0x03B6) ; zeta
else if (Ebene = 6)
SendUnicodeChar(0x2124) ; Z (ganze Zahlen)
@@ -1577,8 +1502,7 @@ return
neo_b:
EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a4",0x1E03,0x1E02)
- or CheckCompUni12("G","",0x0392)))
+ if (Ebene12 and !(CheckDeadUni12("a4",0x1E03,0x1E02)))
OutputChar12("b","B")
else if (Ebene = 3)
if isMod2Locked
@@ -1595,16 +1519,13 @@ return
neo_m:
EbeneAktualisieren()
if (Ebene12 and !(CheckDeadUni12("a4",0x1E41,0x1E40)
- or CheckDeadUni12("c6",0x1E43,0x1E42)
- or CheckCompUni12("t",0x2122,0x2122) ; TM
- or CheckCompUni12("s",0x2120,0x2120) ; SM
- or CheckCompUni12("G","",0x039C)))
+ or CheckDeadUni12("c6",0x1E43,0x1E42)))
OutputChar12("m","M")
else if (Ebene = 3)
send {blind}`%
else if ((Ebene = 4) and !(CheckDeadUni("c1",0x00B9)
or CheckDeadUni("c5",0x2081)))
- Send {blind}{NumPad1}
+ OutputChar("{Numpad1}")
else if (Ebene = 5)
SendUnicodeChar(0x03BC) ; griechisch mu, micro wre 0x00B5
else if (Ebene = 6)
@@ -1622,7 +1543,7 @@ neo_komma:
OutputChar(Chr(34))
else if ((Ebene = 4) and !(CheckDeadUni("c1",0x00B2)
or CheckDeadUni("c5",0x2082)))
- Send {blind}{NumPad2}
+ OutputChar("{Numpad2}")
else if (Ebene = 5)
SendUnicodeChar(0x03C1) ; rho
else if (Ebene = 6)
@@ -1640,7 +1561,7 @@ neo_punkt:
send {blind}'
else if ((Ebene = 4) and !(CheckDeadUni("c1",0x00B3)
or CheckDeadUni("c5",0x2083)))
- Send {blind}{NumPad3}
+ OutputChar("{Numpad3}")
else if (Ebene = 5)
SendUnicodeChar(0x03D1) ; theta symbol (vartheta)
else if (Ebene = 6)
@@ -1651,13 +1572,7 @@ return
neo_j:
EbeneAktualisieren()
if (Ebene12 and !(CheckDeadUni12("c1",0x0135,0x0134)
- or CheckDeadUni12("c2",0x01F0,"")
- or CheckCompUni("I",0x0132) ; IJ
- or CheckCompUni("i",0x0133) ; ij
- or CheckCompUni("l",0x01C9) ; lj
- or CheckCompUni("n",0x01CC) ; nj
- or CheckCompUni12("L",0x01C8,0x01C7) ; Lj/LJ
- or CheckCompUni12("N",0x01CB,0x01CA))) ; Nj/NJ
+ or CheckDeadUni12("c2",0x01F0,"")))
OutputChar12("j","J")
else if (Ebene = 3)
send {blind}`;
@@ -1688,7 +1603,7 @@ return
neo_NumpadDiv:
EbeneAktualisieren()
if Ebene14
- send {blind}{NumpadDiv}
+ OutputChar("{NumpadDiv}")
else if (Ebene = 2)
SendUnicodeChar(0x2215) ; Slash
else if (Ebene = 3)
@@ -1743,10 +1658,7 @@ return
neo_Numpad8:
EbeneAktualisieren()
- if ((Ebene = 1) and !(CheckCompUni("{Numpad1}",0x215B) ; 1/8
- or CheckCompUni("{Numpad3}",0x215C) ; 3/8
- or CheckCompUni("{Numpad5}",0x215D) ; 5/8
- or CheckCompUni("{Numpad7}",0x215E))) ; 7/8
+ if (Ebene = 1)
OutputChar("{Numpad8}")
else if (Ebene = 2)
SendUnicodeChar(0x2229) ; Durchschnitt
@@ -1770,8 +1682,7 @@ return
neo_Numpad4:
EbeneAktualisieren()
- if ((Ebene = 1) and !(CheckCompUni("{Numpad1}",0x00BC) ; 1/4
- or CheckCompUni("{Numpad3}",0x00BE))) ; 3/4
+ if (Ebene = 1)
OutputChar("{Numpad4}")
else if (Ebene = 2)
SendUnicodeChar(0x2282) ; Teilmenge
@@ -1783,10 +1694,7 @@ return
neo_Numpad5:
EbeneAktualisieren()
- if ((Ebene = 1) and !(CheckCompUni("{Numpad1}",0x2155) ; 1/5
- or CheckCompUni("{Numpad2}",0x2156) ; 2/5
- or CheckCompUni("{Numpad3}",0x2157) ; 3/5
- or CheckCompUni("{Numpad4}",0x2158))) ; 4/5
+ if (Ebene = 1)
OutputChar("{Numpad5}")
else if (Ebene = 2)
SendUnicodeChar(0x20AC) ; Euro
@@ -1798,8 +1706,7 @@ return
neo_Numpad6:
EbeneAktualisieren()
- if ((Ebene = 1) and !(CheckCompUni("{Numpad1}",0x2159) ; 1/6
- or CheckCompUni("{Numpad5}",0x215a))) ; 5/6
+ if (Ebene = 1)
OutputChar("{Numpad6}")
else if (Ebene = 2)
SendUnicodeChar(0x2283) ; Obermenge
@@ -1811,9 +1718,9 @@ return
neo_Numpad1:
EbeneAktualisieren()
- if (Ebene = 1) {
+ if (Ebene = 1)
OutputChar("{Numpad1}")
- } else if (Ebene = 2)
+ else if (Ebene = 2)
SendUnicodeChar(0x2714) ; Hkchen
else if (Ebene = 3)
SendUnicodeChar(0x2194) ; Links-Rechts-Pfeil
@@ -1823,9 +1730,7 @@ return
neo_Numpad2:
EbeneAktualisieren()
- if ((Ebene = 1) and !(CheckCompUni("{Numpad1}",0x00BD) ; 1/2
- or CheckCompUni("{!}",0x203C) ; DOUBLE EXCLAMATION MARK
- or CheckCompUni("?",0x2047))) ; DOUBLE QUESTION MARK
+ if (Ebene = 1)
OutputChar("{Numpad2}")
else if (Ebene = 2)
SendUnicodeChar(0x222A) ; Vereinigung
@@ -1837,8 +1742,7 @@ return
neo_Numpad3:
EbeneAktualisieren()
- if ((Ebene = 1) and !(CheckCompUni("{Numpad1}",0x2153) ; 1/3
- or CheckCompUni("{Numpad5}",0x2154))) ; 2/3
+ if (Ebene = 1)
OutputChar("{Numpad3}")
else if (Ebene = 2)
SendUnicodeChar(0x2718) ; Kreuzchen
@@ -1894,15 +1798,13 @@ return
neo_SpaceUp:
EbeneAktualisieren()
- if (Ebene = 1) and !(CheckComp3Uni("r_1",0x2170) ; Rmisch i
- or CheckComp3Uni("R_1",0x2160) ; Rmisch I
- or CheckDeadUni("c5",0x2010)) ; Echter Bindestrich
- Send {blind}{Space}
+ if (Ebene = 1) and !CheckDeadUni("c5",0x2010) ; Echter Bindestrich
+ OutputChar("{Space}")
else if (Ebene = 2) or (Ebene = 3)
Send {blind}{Space}
else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2070)
or CheckDeadUni("c5",0x2080)))
- Send {blind}{NumPad0}
+ OutputChar("{Numpad0}")
else if (Ebene = 5)
SendUnicodeChar(0x00A0) ; geschtztes Leerzeichen
else if (Ebene = 6)
@@ -2332,77 +2234,207 @@ CheckComp(d) {
}
}
CheckCompose() {
-CheckCompAsc("p_{!}","")
-CheckCompAsc("P_{!}","")
-CheckCompAsc("P_P","")
-CheckCompAsc("t_h","")
-CheckCompAsc("T_H","")
+CheckCompUni("-_h",0x0127)
+CheckCompUni("-_H",0x0126)
+CheckCompUni(":_:",0x2025)
+CheckCompUni(":_(",0x2639)
+CheckCompUni(":_)",0x263A)
+CheckCompUni("?_{!}",0x2048)
+CheckCompUni("?_{Numpad2}",0x2047)
+CheckCompUni("?_2",0x2047)
+CheckCompUni("{!}_?",0x2049)
+CheckCompUni("{!}_{Numpad2}",0x203C)
+CheckCompUni("{!}_2",0x203C)
+CheckCompUni("{Numpad1}_`/",0x215F)
+CheckCompUni("{Numpad1}__",0x2E18)
+CheckCompUni("{Numpad1}_?_{!}",0x203D)
+CheckCompUni("{Numpad1}__",0x2E18)
+CheckCompUni("{Numpad1}_{!}_?",0x203D)
+CheckCompUni("{Numpad1}_{Numpad2}",0x00BD)
+CheckCompUni("{Numpad1}_{Numpad3}",0x2153)
+CheckCompUni("{Numpad1}_{Numpad4}",0x00BC)
+CheckCompUni("{Numpad1}_{Numpad5}",0x2155)
+CheckCompUni("{Numpad1}_{Numpad6}",0x2159)
+CheckCompUni("{Numpad1}_{Numpad8}",0x215B)
+CheckCompUni("{Numpad1}_{NumpadDiv}",0x215F)
+CheckCompUni("{Numpad2}_?",0x2047)
+CheckCompUni("{Numpad2}_{!}",0x203C)
+CheckCompUni("{Numpad2}_{Numpad5}",0x2156)
+CheckCompUni("{Numpad3}_{Numpad4}",0x00BE)
+CheckCompUni("{Numpad3}_{Numpad5}",0x2157)
+CheckCompUni("{Numpad3}_{Numpad8}",0x215C)
+CheckCompUni("{Numpad4}_{Numpad5}",0x2158)
+CheckCompUni("{Numpad5}_{Numpad3}",0x2154)
+CheckCompUni("{Numpad5}_{Numpad6}",0x215A)
+CheckCompUni("{Numpad5}_{Numpad8}",0x215D)
+CheckCompUni("{Numpad7}_{Numpad8}",0x215E)
+CheckCompUni("0x017F_0x017F",0xE03F)
+CheckCompUni("0x017F_i",0xE03E)
+CheckCompUni("0x017F_l",0xE043)
+CheckCompUni("0x017F_s",0xE045)
+CheckCompUni("0x017F_t",0xFB05)
+CheckCompUni("0x2020_0x2020",0x2021)
+CheckCompUni("1_`/",0x215F)
+CheckCompUni("1__",0x2E18)
+CheckCompUni("1_?_{!}",0x203D)
+CheckCompUni("1__",0x2E18)
+CheckCompUni("1_{!}_?",0x203D)
+CheckCompUni("1_{NumpadDiv}",0x215F)
+CheckCompUni("1_2",0x00BD)
+CheckCompUni("1_3",0x2153)
+CheckCompUni("1_4",0x00BC)
+CheckCompUni("1_5",0x2155)
+CheckCompUni("1_6",0x2159)
+CheckCompUni("1_8",0x215B)
+CheckCompUni("2_?",0x2047)
+CheckCompUni("2_{!}",0x203C)
+CheckCompUni("2_5",0x2156)
+CheckCompUni("3_4",0x00BE)
+CheckCompUni("3_5",0x2157)
+CheckCompUni("3_8",0x215C)
+CheckCompUni("4_5",0x2158)
+CheckCompUni("5_3",0x2154)
+CheckCompUni("5_6",0x215A)
+CheckCompUni("5_8",0x215D)
+CheckCompUni("7_8",0x215E)
+CheckCompUni("a_{Numpad0}",0x0660)
+CheckCompUni("a_{Numpad1}",0x0661)
+CheckCompUni("a_{Numpad2}",0x0662)
+CheckCompUni("a_{Numpad3}",0x0663)
+CheckCompUni("a_{Numpad4}",0x0664)
+CheckCompUni("a_{Numpad5}",0x0665)
+CheckCompUni("a_{Numpad6}",0x0666)
+CheckCompUni("a_{Numpad7}",0x0667)
+CheckCompUni("a_{Numpad8}",0x0668)
+CheckCompUni("a_{Numpad9}",0x0669)
+CheckCompUni("a_0",0x0660)
+CheckCompUni("a_1",0x0661)
+CheckCompUni("a_2",0x0662)
+CheckCompUni("a_3",0x0663)
+CheckCompUni("a_4",0x0664)
+CheckCompUni("a_5",0x0665)
+CheckCompUni("a_6",0x0666)
+CheckCompUni("a_7",0x0667)
+CheckCompUni("a_8",0x0668)
+CheckCompUni("a_9",0x0669)
+CheckCompAsc("a_e","")
+CheckCompAsc("A_E","")
+CheckCompUni("c_h",0xE03B)
+CheckCompUni("c_k",0xE03A)
+CheckCompUni("c_t",0xE03D)
+CheckCompUni("D_z",0x01C4)
+CheckCompUni("D_z",0x01C5)
+CheckCompUni("d_z",0x01C6)
+CheckCompUni("E_E",0x018F)
CheckCompUni("f_b",0xE030)
CheckCompUni("F_b",0xE031)
+CheckCompUni("f_f",0xFB00)
CheckCompUni("F_h",0xE032)
-CheckCompUni("F_j",0xE033)
-CheckCompUni("F_k",0xE034)
-CheckCompUni("F_t",0xE035)
CheckCompUni("f_h",0xE036)
+CheckCompUni("f_i",0xFB01)
+CheckCompUni("F_i",0xFB03)
+CheckCompUni("F_j",0xE033)
CheckCompUni("f_j",0xE037)
+CheckCompUni("F_k",0xE034)
CheckCompUni("f_k",0xE038)
+CheckCompUni("f_l",0xFB02)
+CheckCompUni("F_l",0xFB04)
+CheckCompUni("F_t",0xE035)
CheckCompUni("f_t",0xE039)
-CheckCompUni("c_k",0xE03A)
-CheckCompUni("c_h",0xE03B)
-CheckCompUni("t_t",0xE03C)
-CheckCompUni("c_t",0xE03D)
-CheckCompUni("0x017F_i",0xE03E)
-CheckCompUni("0x017F_0x017F",0xE03F)
-CheckCompUni("0x017F_l",0xE043)
-CheckCompUni("S_i",0xE044)
-CheckCompUni("0x017F_s",0xE045)
-CheckCompUni("t_z",0xE04A)
+CheckCompUni("G_A",0x0391)
+CheckCompUni("G_B",0x0392)
+CheckCompUni("G_E",0x0395)
+CheckCompUni("G_H",0x0397)
+CheckCompUni("G_I",0x0399)
+CheckCompUni("G_K",0x039A)
+CheckCompUni("G_M",0x039C)
+CheckCompUni("G_N",0x039D)
+CheckCompUni("G_O",0x039F)
+CheckCompUni("G_P",0x03A1)
+CheckCompUni("G_T",0x03A4)
+CheckCompUni("G_X",0x039D)
+CheckCompUni("G_Y",0x03A5)
+CheckCompUni("G_Z",0x0396)
+CheckCompUni("I_J",0x0132)
+CheckCompUni("i_j",0x0133)
+CheckCompUni("L_J",0x01C7)
+CheckCompUni("L_j",0x01C8)
+CheckCompUni("l_j",0x01C9)
+CheckCompUni("N_J",0x01CA)
+CheckCompUni("N_j",0x01CB)
+CheckCompUni("n_j",0x01CC)
+CheckCompAsc("o_c","")
+CheckCompAsc("o_C","")
+CheckCompAsc("O_C","")
+CheckCompAsc("O_c","")
+CheckCompAsc("o_e","")
+CheckCompAsc("O_E","")
+CheckCompAsc("o_o","")
+CheckCompAsc("O_o","")
+CheckCompAsc("o_O","")
+CheckCompAsc("O_O","")
+CheckCompAsc("p_{!}","")
+CheckCompAsc("P_{!}","")
+CheckCompAsc("P_P","")
CheckCompUni("Q_u",0xE048)
-CheckCompUni("T_h",0xE049)
-CheckCompUni("{!}_{Numpad2}",0x203C)
-CheckCompUni("2_{!}",0x203C)
-CheckCompUni("{Numpad2}_{!}",0x203C)
-CheckCompUni("?_{Numpad2}",0x2047)
-CheckCompUni("2_?",0x2047)
-CheckCompUni("{Numpad2}_?",0x2047)
-CheckCompUni("{!}_?",0x2049)
-CheckCompUni("?_{!}",0x2048)
-CheckCompUni("1_?_{!}",0x203D)
-CheckComp3Uni("1_{!}_?",0x203D)
-CheckComp3Uni("{Numpad1}_?_{!}",0x203D)
-CheckComp3Uni("{Numpad1}_{!}_?",0x203D)
-CheckComp3Uni("1__",0x2E18)
-CheckComp3Uni("1__",0x2E18)
-CheckComp3Uni("{Numpad1}__",0x2E18)
-CheckComp3Uni("{Numpad1}__",0x2E18)
-CheckCompUni("0x2020_0x2020",0x2021)
-CheckCompUni(":_:",0x2025)
-CheckCompUni("R_{Numpad1}_ ",0x2160)
-CheckCompUni("R_{Numpad2}",0x2161)
-CheckCompUni("R_{Numpad3}",0x2162)
-CheckCompUni("R_{Numpad4}",0x2163)
-CheckCompUni("R_{Numpad5}",0x2164)
-CheckCompUni("R_{Numpad6}",0x2165)
-CheckCompUni("R_{Numpad7}",0x2166)
-CheckCompUni("R_{Numpad8}",0x2167)
-CheckCompUni("R_{Numpad9}",0x2168)
CheckCompUni("R_{Numpad1}_{Numpad0}",0x2169)
+CheckCompUni("r_{Numpad1}_{Numpad0}",0x2179)
CheckCompUni("R_{Numpad1}_{Numpad1}",0x216A)
+CheckCompUni("r_{Numpad1}_{Numpad1}",0x217A)
CheckCompUni("R_{Numpad1}_{Numpad2}",0x216B)
-CheckCompUni("r_{Numpad1}_ ",0x2170)
+CheckCompUni("r_{Numpad1}_{Numpad2}",0x217B)
+CheckCompUni("R_{Numpad1}_{Space}",0x2160)
+CheckCompUni("r_{Numpad1}_{Space}",0x2170)
+CheckCompUni("R_{Numpad2}",0x2161)
CheckCompUni("r_{Numpad2}",0x2171)
+CheckCompUni("R_{Numpad3}",0x2162)
CheckCompUni("r_{Numpad3}",0x2172)
+CheckCompUni("R_{Numpad4}",0x2163)
CheckCompUni("r_{Numpad4}",0x2173)
+CheckCompUni("R_{Numpad5}",0x2164)
CheckCompUni("r_{Numpad5}",0x2174)
+CheckCompUni("R_{Numpad6}",0x2165)
CheckCompUni("r_{Numpad6}",0x2175)
+CheckCompUni("R_{Numpad7}",0x2166)
CheckCompUni("r_{Numpad7}",0x2176)
+CheckCompUni("R_{Numpad8}",0x2167)
CheckCompUni("r_{Numpad8}",0x2177)
+CheckCompUni("R_{Numpad9}",0x2168)
CheckCompUni("r_{Numpad9}",0x2178)
-CheckCompUni("r_{Numpad1}_{Numpad0}",0x2179)
-CheckCompUni("r_{Numpad1}_{Numpad1}",0x217A)
-CheckCompUni("r_{Numpad1}_{Numpad2}",0x217B)
-CheckCompUni(":_)",0x263A)
-CheckCompUni(":_(",0x2639)
+CheckCompUni("R_1_{Space}",0x2160)
+CheckCompUni("r_1_{Space}",0x2170)
+CheckCompUni("R_1_0",0x2169)
+CheckCompUni("r_1_0",0x2179)
+CheckCompUni("R_1_1",0x216A)
+CheckCompUni("r_1_1",0x217A)
+CheckCompUni("R_1_2",0x216B)
+CheckCompUni("r_1_2",0x217B)
+CheckCompUni("R_2",0x2161)
+CheckCompUni("r_2",0x2171)
+CheckCompUni("R_3",0x2162)
+CheckCompUni("r_3",0x2172)
+CheckCompUni("R_4",0x2163)
+CheckCompUni("r_4",0x2173)
+CheckCompUni("R_5",0x2164)
+CheckCompUni("r_5",0x2174)
+CheckCompUni("R_6",0x2165)
+CheckCompUni("r_6",0x2175)
+CheckCompUni("R_7",0x2166)
+CheckCompUni("r_7",0x2176)
+CheckCompUni("R_8",0x2167)
+CheckCompUni("r_8",0x2177)
+CheckCompUni("R_9",0x2168)
+CheckCompUni("r_9",0x2178)
+CheckCompUni("S_i",0xE044)
+CheckCompUni("s_m",0x2120)
+CheckCompUni("s_t",0xFB06)
+CheckCompAsc("t_h","")
+CheckCompAsc("T_H","")
+CheckCompUni("T_h",0xE049)
+CheckCompUni("t_m",0x2122)
+CheckCompUni("t_t",0xE03C)
+CheckCompUni("t_z",0xE04A)
+
}
/*
------------------------------------------------------
diff --git a/windows/autohotkey/neo20.exe b/windows/autohotkey/neo20.exe
index 9c826a2..8ff45c1 100644
--- a/windows/autohotkey/neo20.exe
+++ b/windows/autohotkey/neo20.exe
Binary files differ