From a79f538254e2ee4044e4a2022df1246346e82c53 Mon Sep 17 00:00:00 2001 From: martin_r Date: Mon, 27 Oct 2008 19:39:39 +0000 Subject: Anpassung an die Referenz git-svn-id: https://svn.neo-layout.org@1046 b9310e46-f624-0410-8ea1-cfbb3a30dc96 --- windows/autohotkey/Changelog-and-Todo.txt | 4 +- windows/autohotkey/Source/Compose.ahk | 1 - windows/autohotkey/Source/Global-Part.ahk | 2 +- windows/autohotkey/Source/Keys-DeadKeys.ahk | 2 +- windows/autohotkey/Source/Keys-Neo.ahk | 40 +++---- windows/autohotkey/Source/Keys-NumPad.ahk | 18 ++-- windows/autohotkey/Source/Keys-Numbers.ahk | 46 ++++---- windows/autohotkey/Source/Keys-Special.ahk | 11 +- windows/autohotkey/Source/Methods-Other.ahk | 40 +++++++ windows/autohotkey/neo20-test~.exe | Bin 440301 -> 0 bytes windows/autohotkey/neo20.ahk | 161 +++++++++++++++++----------- windows/autohotkey/neo20.exe | Bin 441099 -> 440377 bytes 12 files changed, 205 insertions(+), 120 deletions(-) delete mode 100644 windows/autohotkey/neo20-test~.exe diff --git a/windows/autohotkey/Changelog-and-Todo.txt b/windows/autohotkey/Changelog-and-Todo.txt index d84e455..fe9f253 100644 --- a/windows/autohotkey/Changelog-and-Todo.txt +++ b/windows/autohotkey/Changelog-and-Todo.txt @@ -23,8 +23,10 @@ Matthias Wächter === Änderungshistorie === +Revision 1046 (von Martin Roppelt) +- Anpassung an Referenz. Revision 1039 (von Dennis Heidsiek) -- Lang-Å¿-Modus wiederhergestellt (neo_s war defekt) +- Lang-Å¿-Modus wiederhergestellt (neo_s war defekt). Revision 1016 (von Martin Roppelt) - Tote Tasten fertig angepasst. Revision 993 (von Martin Roppelt) diff --git a/windows/autohotkey/Source/Compose.ahk b/windows/autohotkey/Source/Compose.ahk index aa846fa..a1b2962 100644 --- a/windows/autohotkey/Source/Compose.ahk +++ b/windows/autohotkey/Source/Compose.ahk @@ -354,7 +354,6 @@ CheckCompUni(" ", 0x26A2) CheckCompUni(" ", 0x26A3) CheckCompUni(" ", 0x26A4) CheckCompUni(" ", 0x26A5) -CheckCompUni("", 0x266B) CheckCompUni(" ", 0x332) CheckCompUni(" ", 0x27) CheckCompUni(" ", 0x5E) diff --git a/windows/autohotkey/Source/Global-Part.ahk b/windows/autohotkey/Source/Global-Part.ahk index 7735edc..6187169 100644 --- a/windows/autohotkey/Source/Global-Part.ahk +++ b/windows/autohotkey/Source/Global-Part.ahk @@ -71,7 +71,7 @@ If LangSTastatur KeyboardLED(2,"on") ; Sollen tote Tasten blind angezeigt werden? -IniRead,DeadSilence,%ini%,Global,DeadSilence,0 +IniRead,DeadSilence,%ini%,Global,DeadSilence,1 ;Sollen Compose-Tasten blind angezeigt werden? IniRead,DeadCompose,%ini%,Global,DeadCompose,1 diff --git a/windows/autohotkey/Source/Keys-DeadKeys.ahk b/windows/autohotkey/Source/Keys-DeadKeys.ahk index e2bc338..6a8a697 100644 --- a/windows/autohotkey/Source/Keys-DeadKeys.ahk +++ b/windows/autohotkey/Source/Keys-DeadKeys.ahk @@ -37,7 +37,7 @@ neo_tot2: deadUni(0x00A8, "dead_diaeresis", "g3") - else if (Ebene = 4) and !CheckDeadUni("g4",0x030F) ; Doppelgravis, tot + else if (Ebene = 4) and !CheckDeadUni("g4",0x030F) ; Doppelgravis, tot deadUni(0x02F5, "dead_doublegrave", "g4") diff --git a/windows/autohotkey/Source/Keys-Neo.ahk b/windows/autohotkey/Source/Keys-Neo.ahk index aacb605..cd610e7 100644 --- a/windows/autohotkey/Source/Keys-Neo.ahk +++ b/windows/autohotkey/Source/Keys-Neo.ahk @@ -1,18 +1,20 @@ neo_a: EbeneAktualisieren() - if (Ebene12 and !(CheckDeadUni12("c1",0x00E2,0x00C2) - or CheckDeadUni12("c2",0x00E3,0x00C3) - or CheckDeadAsc12("c3","å","Å") - or CheckDeadUni12("c4",0x01CE,0x01CD) - or CheckDeadUni12("c5",0x0103,0x0102) - or CheckDeadUni12("c6",0x0101,0x0100) - or CheckDeadUni12("g1",0x00E0,0x00C0) - or CheckDeadAsc12("g3","ä","Ä") - or CheckDeadUni12("g4",0x0201,0x0200) - or CheckDeadUni12("a1",0x00E1,0x00C1) - or CheckDeadUni12("a2",0x0105,0x0104) - or CheckDeadUni12("a3",0x2C65,0x023A) - or CheckDeadUni12("a6",0x0227,0x0226))) + if (((Ebene = 2) and !(CheckDeadUni("a5g1",0x1F02) + or CheckDeadUni("g5g1",0x1F03))) + or (Ebene12 and !(CheckDeadUni12("c1",0x00E2,0x00C2) + or CheckDeadUni12("c2",0x00E3,0x00C3) + or CheckDeadAsc12("c3","å","Å") + or CheckDeadUni12("c4",0x01CE,0x01CD) + or CheckDeadUni12("c5",0x0103,0x0102) + or CheckDeadUni12("c6",0x0101,0x0100) + or CheckDeadUni12("g1",0x00E0,0x00C0) + or CheckDeadAsc12("g3","ä","Ä") + or CheckDeadUni12("g4",0x0201,0x0200) + or CheckDeadUni12("a1",0x00E1,0x00C1) + or CheckDeadUni12("a2",0x0105,0x0104) + or CheckDeadUni12("a3",0x2C65,0x023A) + or CheckDeadUni12("a6",0x0227,0x0226)))) OutputChar12("a","A","a","A") else if (Ebene = 3) OutputChar("{{}", "braceleft") @@ -45,7 +47,7 @@ neo_b: else if (Ebene = 5) SendUnicodeChar(0x03B2, "Greek_beta") ; beta else if (Ebene = 6) - SendUnicodeChar(0x21D2, "implies") ; Doppel-Pfeil rechts + SendUnicodeChar(0x21D0, "U21D0") ; Doppelpfeil links return neo_c: @@ -204,7 +206,7 @@ neo_j: else if (Ebene = 5) SendUnicodeChar(0x03B8, "Greek_theta") ; theta else if (Ebene = 6) - SendUnicodeChar(0x2261, "identical") ; identisch + SendUnicodeChar(0x221D, "variation") ; proportional return neo_k: @@ -424,7 +426,7 @@ neo_w: if (Ebene12 and !(CheckDeadUni12("c1",0x0175,0x0174))) OutputChar12("w","W","w","W") else if (Ebene = 3) - SendUnicodeChar(0x005E, "asciicircum") ; Zirkumflex + OutputChar("{^}{space}", "asciicircum") ; Zirkumflex else if (Ebene = 4) OutputChar("{Insert}", "Insert") ; Einfg else if (Ebene = 5) @@ -438,7 +440,7 @@ neo_x: if Ebene12 OutputChar12("x","X","x","X") else if (Ebene = 3) - SendUnicodeChar(0x2026, "ellipsis") ; Ellipse horizontal + OutputChar("…", "ellipsis") ; Ellipse horizontal else if (Ebene = 4) SendUnicodeChar(0x22EE, "U22EE") ; Ellipse vertikal else if (Ebene = 5) @@ -490,7 +492,7 @@ neo_ else if (Ebene = 5) SendUnicodeChar(0x03B7, "Greek_eta") ; eta else if (Ebene = 6) - SendUnicodeChar(0x211C, "U221C") ; Fraktur R + SendUnicodeChar(0x2135, "U2135") ; Kardinalzahlen, Aleph-Symbol return neo_ö: @@ -519,7 +521,7 @@ neo_ else if (Ebene = 4) OutputChar("{Esc}", "Escape") else if (Ebene = 6) - SendUnicodeChar(0x221D, "variation") ; proportional + SendUnicodeChar(0x211C, "U221C") ; Fraktur R return neo_sz: diff --git a/windows/autohotkey/Source/Keys-NumPad.ahk b/windows/autohotkey/Source/Keys-NumPad.ahk index 293447d..5f85a27 100644 --- a/windows/autohotkey/Source/Keys-NumPad.ahk +++ b/windows/autohotkey/Source/Keys-NumPad.ahk @@ -9,7 +9,7 @@ neo_Numpad0: else if (Ebene = 4) send {blind}{NumpadIns} else if (Ebene = 5) - SendUnicodeChar(0x2030, "U2030") ; Promille + OutputChar("‰", "U2030") ; Promille else if (Ebene = 6) SendUnicodeChar(0x25A1, "U25A1") ; white square return @@ -25,9 +25,9 @@ neo_Numpad1: else if (Ebene = 4) send {blind}{NumpadEnd} else if (Ebene = 5) - SendUnicodeChar(0x226A, "U226A") ; much less - else if (Ebene = 6) SendUnicodeChar(0x2264, "lessthanequal") + else if (Ebene = 6) + SendUnicodeChar(0x230A, "downstile") ;linke Untergrenze return neo_Numpad2: @@ -57,9 +57,9 @@ neo_Numpad3: else if (Ebene = 4) send {blind}{NumpadPgDn} else if (Ebene = 5) - SendUnicodeChar(0x226B, "U226B") ; much greater - else if (Ebene = 6) SendUnicodeChar(0x2265, "greaterthanequal") + else if (Ebene = 6) + SendUnicodeChar(0x230B, "U230B") ; rechte Untergrenze return neo_Numpad4: @@ -85,7 +85,7 @@ neo_Numpad5: else if (Ebene = 2) SendUnicodeChar(0x20AC, "EuroSign") ; Euro else if (Ebene = 3) - SendUnicodeChar(0x221E, "infinity") ; Unendlich + SendUnicodeChar(0x00A6, "brokenbar") else if (Ebene = 4) send {blind}{NumPadClear} ; begin else if (Ebene = 5) @@ -98,8 +98,6 @@ neo_Numpad6: EbeneAktualisieren() if (Ebene = 1) OutputChar("{Numpad6}", "KP_6") - if (Ebene = 2) - OutputChar("¦", "brokenbar") else if (Ebene = 3) SendUnicodeChar(0x2192, "rightarrow") ; Rechtspfeil else if (Ebene = 4) @@ -121,7 +119,7 @@ neo_Numpad7: else if (Ebene = 4) send {blind}{NumpadHome} else if (Ebene = 5) - SendUnicodeChar(0x230A, "downstile") ;linke Untergrenze + SendUnicodeChar(0x226A, "U226A") ; much less else if (Ebene = 6) SendUnicodeChar(0x2308, "upstile") ; linke Obergrenze return @@ -153,7 +151,7 @@ neo_Numpad9: else if (Ebene = 4) send {blind}{NumpadPgUp} else if (Ebene = 5) - SendUnicodeChar(0x230B, "U230B") ; rechte Untergrenze + SendUnicodeChar(0x226B, "U226B") ; much greater else if (Ebene = 6) SendUnicodeChar(0x2309, "U2309") ; rechte Obergrenze return diff --git a/windows/autohotkey/Source/Keys-Numbers.ahk b/windows/autohotkey/Source/Keys-Numbers.ahk index e4f5641..4f47afb 100644 --- a/windows/autohotkey/Source/Keys-Numbers.ahk +++ b/windows/autohotkey/Source/Keys-Numbers.ahk @@ -8,6 +8,8 @@ neo_0: OutputChar("’", "rightsingleqoutemark") else if (Ebene = 4) OutputChar("{NumpadSub}", "KP_Minus") + else if (Ebene = 5) + SendUnicodeChar(0x2080, "U2080") else if (Ebene = 6) SendUnicodeChar(0x2205, "emptyset") ; leere Menge return @@ -19,27 +21,25 @@ neo_1: or CheckDeadUni("a3",0x2081)) ; Tiefgestellte 1 OutputChar12(1,"°",1,"degree") else if (Ebene = 3) - SendUnicodeChar(0x00B9, "onesuperior") ; Hochgestellte 1 + OutputChar("¹", "onesuperior") ; Hochgestellte 1 else if (Ebene = 4) - SendUnicodeChar(0x2022, "enfilledcircbullet") ; Bullet + OutputChar("º", "U00BA") ; männlicher Ordinalindikator (º) else if (Ebene = 5) SendUnicodeChar(0x2081, "U2081") ; Tiefgestellte 1 else if (Ebene = 6) - SendUnicodeChar(0x00AC, "notsign") ; Nicht-Symbol + OutputChar("¬", "notsign") ; Nicht-Symbol return neo_2: noCaps = 1 EbeneAktualisieren() - if (Ebene = 1 and !(CheckDeadUni("c1",0x00B2) ; Hochgestellte 2 - or CheckDeadUni("a3",0x2082))) ; Tiefgestellte 2 - OutputChar(2,2) - else if (Ebene = 2) - SendUnicodeChar(0x2116, "numerosign") ; Numero + if Ebene12 and !(CheckDeadUni("c1",0x00B2) ; Hochgestellte 2 + or CheckDeadUni("a3",0x2082)) ; Tiefgestellte 2 + OutputChar12(2,"§",2,"section") else if (Ebene = 3) - SendUnicodeChar(0x00B2, "twosuperior") ; Hochgestellte 2 + OutputChar("²", "twosuperior") ; Hochgestellte 2 else if (Ebene = 4) - SendUnicodeChar(0x2023, "U2023") ; Aufzählungspfeil + OutputChar("ª", "U00AA") ; weiblicher Ordinalindikator (ª) else if (Ebene = 5) SendUnicodeChar(0x2082, "U2082") ; Tiefgestellte 2 else if (Ebene = 6) @@ -49,13 +49,15 @@ return neo_3: noCaps = 1 EbeneAktualisieren() - if Ebene12 and !(CheckDeadUni("c1",0x00B3) ; Hochgestellte 3 - or CheckDeadUni("a3",0x2083)) ; Tiefgestellte 3 - OutputChar12(3,"§",3,"section") + if (Ebene = 1) and !(CheckDeadUni("c1",0x00B3) ; Hochgestellte 3 + or CheckDeadUni("a3",0x2083)) ; Tiefgestellte 3 + OutputChar(3,3) + else if (Ebene = 2) + SendUnicodeChar(0x2113, "U2113") ; kleines l (Skript) else if (Ebene = 3) - SendUnicodeChar(0x00B3, "threesuperior") ; Hochgestellte 3 + OutputChar("³", "threesuperior") ; Hochgestellte 3 else if (Ebene = 4) - SendUnicodeChar(0x266B, "U226B") ; 2 Achtelnoten + SendUnicodeChar(0x2116, "numerosign") ; Numero else if (Ebene = 5) SendUnicodeChar(0x2083, "U2083") ; Tiefgestellte 3 else if (Ebene = 6) @@ -69,13 +71,13 @@ neo_4: or CheckDeadUni("a3",0x2084)) ; Tiefgestellte 4 OutputChar(4,4) else if (Ebene = 2) - SendUnicodeChar(0x00BB, "guillemotright") ; Double guillemot right + OutputChar("»", "guillemotright") else if (Ebene = 3) OutputChar("›", "U230A") ; Single guillemot right else if (Ebene = 4) OutputChar("{PgUp}", "Prior") ; Bild auf else if (Ebene = 5) - SendUnicodeChar(0x2113, "U2213") ; Script small L + OutputChar("†", "dagger") ; Kreuz else if (Ebene = 6) SendUnicodeChar(0x22A5, "uptack") ; Senkrecht return @@ -87,11 +89,11 @@ neo_5: or CheckDeadUni("a3",0x2085)) ; Tiefgestellte 5 OutputChar(5,5) else if (Ebene = 2) - SendUnicodeChar(0x00AB, "guillemotleft") ; Double guillemot left + OutputChar("«", "guillemotleft") ; Double guillemot left else if (Ebene = 3) OutputChar("‹", "U2039") ; Single guillemot left else if (Ebene = 5) - SendUnicodeChar(0x0AF8, "femalesymbol") ; Kreuz (Dagger) + SendUnicodeChar(0x2640, "femalesymbol") else if (Ebene = 6) SendUnicodeChar(0x2221, "U2221") ; Winkel return @@ -109,7 +111,7 @@ neo_6: else if (Ebene = 4) OutputChar("£", "sterling") else if (Ebene = 5) - SendUnicodeChar(0x0AF7, "malesymbol") + SendUnicodeChar(0x2642, "malesymbol") else if (Ebene = 6) SendUnicodeChar(0x2225, "U2225") ; parallel return @@ -127,7 +129,7 @@ neo_7: else if (Ebene = 5) SendUnicodeChar(0x03BA, "Greek_kappa") ; greek small letter kappa else if (Ebene = 6) - SendUnicodeChar(0x2209, "notelementof") ; nicht Element von + SendUnicodeChar(0x2192, "rightarrow") ; Rechtspfeil return neo_8: @@ -143,7 +145,7 @@ neo_8: else if (Ebene = 5) SendUnicodeChar(0x27E8, "U27E8") ; bra (öffnende spitze Klammer) else if (Ebene = 6) - SendUnicodeChar(0x2204, "U2204") ; es existiert nicht + SendUnicodeChar(0x221E, "infinity") return neo_9: diff --git a/windows/autohotkey/Source/Keys-Special.ahk b/windows/autohotkey/Source/Keys-Special.ahk index c9633b8..70c15cc 100644 --- a/windows/autohotkey/Source/Keys-Special.ahk +++ b/windows/autohotkey/Source/Keys-Special.ahk @@ -4,7 +4,7 @@ neo_punkt: if (Ebene = 1) OutputChar(".", "period") else if (Ebene = 2) - SendUnicodeChar("0x2026", "ellipsis") ; Ellipse + SendUnicodeChar(0x2023, "") ; Dreieckiges Aufzählungszeichen else if (Ebene = 3) OutputChar("'", "apostrophe") else if ((Ebene = 4) and !(CheckDeadUni("c1",0x00B3) @@ -22,7 +22,7 @@ neo_komma: if (Ebene = 1) OutputChar(",", "comma") else if (Ebene = 2) - SendUnicodeChar(0x22EE, "U22EE") ; vertikale Ellipse + OutputChar("•", "enfilledcircbullet") ; Bullet else if (Ebene = 3) OutputChar(Chr(34), "quotedbl") else if ((Ebene = 4) and !(CheckDeadUni("c1",0x00B2) @@ -31,7 +31,7 @@ neo_komma: else if (Ebene = 5) SendUnicodeChar(0x03C1, "Greek_rho") ; rho else if (Ebene = 6) - SendUnicodeChar(0x21D0, "U21D0") ; Doppelpfeil links + SendUnicodeChar(0x21D2, "implies") ; Doppelpfeil rechts return neo_strich: @@ -110,11 +110,12 @@ return return neo_tab: - if (IsMod3Pressed()) { ; Compose! + EbeneAktualisieren() + if IsMod3Pressed() { ; Compose! DeadKey := "comp" CompKey := "" } else { - OutputChar("{Tab}","Tab") + OutputChar("{Tab}", "Tab") DeadKey := "" CompKey := "" } return diff --git a/windows/autohotkey/Source/Methods-Other.ahk b/windows/autohotkey/Source/Methods-Other.ahk index 30fbcb2..1f7ad1d 100644 --- a/windows/autohotkey/Source/Methods-Other.ahk +++ b/windows/autohotkey/Source/Methods-Other.ahk @@ -143,4 +143,44 @@ CheckComp(d) { } } +CumulateDeadKey(a) { + if DeadKey = a5 + { if a = g1 + DeadKey = a5g1 + else if a = a1 + DeadKey = a5a1 + else if a = a2 + DeadKey = a5a2 + else if a = g1a2 + DeadKey = a5g1a2 + else if a = a1a2 + DeadKey = a5a1a2 + else if a = c1a2 + DeadKey = a5c1a2 + } else if DeadKey = g5 + { if a = g1 + DeadKey = g5g1 + else if a = a1 + DeadKey = g5a1 + else if a = a2 + DeadKey = g5a2 + else if a = g1a2 + DeadKey = g5g1a2 + else if a = a1a2 + DeadKey = g5a1a2 + else if a = c1a2 + DeadKey = g5c1a2 + } else if DeadKey = g1 + { if a = a5 + DeadKey = a5g1 + else if a = g5 + DeadKey = g5g1 + else if a = a2 + DeadKey = g1a2 + else if a = a5a2 + DeadKey = a5g1a2 + else if a = g5a2 + DeadKey = g5g1a2 + } +} diff --git a/windows/autohotkey/neo20-test~.exe b/windows/autohotkey/neo20-test~.exe deleted file mode 100644 index 14a707e..0000000 Binary files a/windows/autohotkey/neo20-test~.exe and /dev/null differ diff --git a/windows/autohotkey/neo20.ahk b/windows/autohotkey/neo20.ahk index 2975cb6..d2afabd 100644 --- a/windows/autohotkey/neo20.ahk +++ b/windows/autohotkey/neo20.ahk @@ -116,7 +116,7 @@ If LangSTastatur KeyboardLED(2,"on") ; Sollen tote Tasten blind angezeigt werden? -IniRead,DeadSilence,%ini%,Global,DeadSilence,0 +IniRead,DeadSilence,%ini%,Global,DeadSilence,1 ;Sollen Compose-Tasten blind angezeigt werden? IniRead,DeadCompose,%ini%,Global,DeadCompose,1 @@ -756,19 +756,21 @@ VK09SC00F::goto neo_tab neo_a: EbeneAktualisieren() - if (Ebene12 and !(CheckDeadUni12("c1",0x00E2,0x00C2) - or CheckDeadUni12("c2",0x00E3,0x00C3) - or CheckDeadAsc12("c3","å","Å") - or CheckDeadUni12("c4",0x01CE,0x01CD) - or CheckDeadUni12("c5",0x0103,0x0102) - or CheckDeadUni12("c6",0x0101,0x0100) - or CheckDeadUni12("g1",0x00E0,0x00C0) - or CheckDeadAsc12("g3","ä","Ä") - or CheckDeadUni12("g4",0x0201,0x0200) - or CheckDeadUni12("a1",0x00E1,0x00C1) - or CheckDeadUni12("a2",0x0105,0x0104) - or CheckDeadUni12("a3",0x2C65,0x023A) - or CheckDeadUni12("a6",0x0227,0x0226))) + if (((Ebene = 2) and !(CheckDeadUni("a5g1",0x1F02) + or CheckDeadUni("g5g1",0x1F03))) + or (Ebene12 and !(CheckDeadUni12("c1",0x00E2,0x00C2) + or CheckDeadUni12("c2",0x00E3,0x00C3) + or CheckDeadAsc12("c3","å","Å") + or CheckDeadUni12("c4",0x01CE,0x01CD) + or CheckDeadUni12("c5",0x0103,0x0102) + or CheckDeadUni12("c6",0x0101,0x0100) + or CheckDeadUni12("g1",0x00E0,0x00C0) + or CheckDeadAsc12("g3","ä","Ä") + or CheckDeadUni12("g4",0x0201,0x0200) + or CheckDeadUni12("a1",0x00E1,0x00C1) + or CheckDeadUni12("a2",0x0105,0x0104) + or CheckDeadUni12("a3",0x2C65,0x023A) + or CheckDeadUni12("a6",0x0227,0x0226)))) OutputChar12("a","A","a","A") else if (Ebene = 3) OutputChar("{{}", "braceleft") @@ -801,7 +803,7 @@ neo_b: else if (Ebene = 5) SendUnicodeChar(0x03B2, "Greek_beta") ; beta else if (Ebene = 6) - SendUnicodeChar(0x21D2, "implies") ; Doppel-Pfeil rechts + SendUnicodeChar(0x21D0, "U21D0") ; Doppelpfeil links return neo_c: @@ -960,7 +962,7 @@ neo_j: else if (Ebene = 5) SendUnicodeChar(0x03B8, "Greek_theta") ; theta else if (Ebene = 6) - SendUnicodeChar(0x2261, "identical") ; identisch + SendUnicodeChar(0x221D, "variation") ; proportional return neo_k: @@ -1180,7 +1182,7 @@ neo_w: if (Ebene12 and !(CheckDeadUni12("c1",0x0175,0x0174))) OutputChar12("w","W","w","W") else if (Ebene = 3) - SendUnicodeChar(0x005E, "asciicircum") ; Zirkumflex + OutputChar("{^}{space}", "asciicircum") ; Zirkumflex else if (Ebene = 4) OutputChar("{Insert}", "Insert") ; Einfg else if (Ebene = 5) @@ -1194,7 +1196,7 @@ neo_x: if Ebene12 OutputChar12("x","X","x","X") else if (Ebene = 3) - SendUnicodeChar(0x2026, "ellipsis") ; Ellipse horizontal + OutputChar("…", "ellipsis") ; Ellipse horizontal else if (Ebene = 4) SendUnicodeChar(0x22EE, "U22EE") ; Ellipse vertikal else if (Ebene = 5) @@ -1246,7 +1248,7 @@ neo_ else if (Ebene = 5) SendUnicodeChar(0x03B7, "Greek_eta") ; eta else if (Ebene = 6) - SendUnicodeChar(0x211C, "U221C") ; Fraktur R + SendUnicodeChar(0x2135, "U2135") ; Kardinalzahlen, Aleph-Symbol return neo_ö: @@ -1275,7 +1277,7 @@ neo_ else if (Ebene = 4) OutputChar("{Esc}", "Escape") else if (Ebene = 6) - SendUnicodeChar(0x221D, "variation") ; proportional + SendUnicodeChar(0x211C, "U221C") ; Fraktur R return neo_sz: @@ -1306,6 +1308,8 @@ neo_0: OutputChar("’", "rightsingleqoutemark") else if (Ebene = 4) OutputChar("{NumpadSub}", "KP_Minus") + else if (Ebene = 5) + SendUnicodeChar(0x2080, "U2080") else if (Ebene = 6) SendUnicodeChar(0x2205, "emptyset") ; leere Menge return @@ -1317,27 +1321,25 @@ neo_1: or CheckDeadUni("a3",0x2081)) ; Tiefgestellte 1 OutputChar12(1,"°",1,"degree") else if (Ebene = 3) - SendUnicodeChar(0x00B9, "onesuperior") ; Hochgestellte 1 + OutputChar("¹", "onesuperior") ; Hochgestellte 1 else if (Ebene = 4) - SendUnicodeChar(0x2022, "enfilledcircbullet") ; Bullet + OutputChar("º", "U00BA") ; männlicher Ordinalindikator (º) else if (Ebene = 5) SendUnicodeChar(0x2081, "U2081") ; Tiefgestellte 1 else if (Ebene = 6) - SendUnicodeChar(0x00AC, "notsign") ; Nicht-Symbol + OutputChar("¬", "notsign") ; Nicht-Symbol return neo_2: noCaps = 1 EbeneAktualisieren() - if (Ebene = 1 and !(CheckDeadUni("c1",0x00B2) ; Hochgestellte 2 - or CheckDeadUni("a3",0x2082))) ; Tiefgestellte 2 - OutputChar(2,2) - else if (Ebene = 2) - SendUnicodeChar(0x2116, "numerosign") ; Numero + if Ebene12 and !(CheckDeadUni("c1",0x00B2) ; Hochgestellte 2 + or CheckDeadUni("a3",0x2082)) ; Tiefgestellte 2 + OutputChar12(2,"§",2,"section") else if (Ebene = 3) - SendUnicodeChar(0x00B2, "twosuperior") ; Hochgestellte 2 + OutputChar("²", "twosuperior") ; Hochgestellte 2 else if (Ebene = 4) - SendUnicodeChar(0x2023, "U2023") ; Aufzählungspfeil + OutputChar("ª", "U00AA") ; weiblicher Ordinalindikator (ª) else if (Ebene = 5) SendUnicodeChar(0x2082, "U2082") ; Tiefgestellte 2 else if (Ebene = 6) @@ -1347,13 +1349,15 @@ return neo_3: noCaps = 1 EbeneAktualisieren() - if Ebene12 and !(CheckDeadUni("c1",0x00B3) ; Hochgestellte 3 - or CheckDeadUni("a3",0x2083)) ; Tiefgestellte 3 - OutputChar12(3,"§",3,"section") + if (Ebene = 1) and !(CheckDeadUni("c1",0x00B3) ; Hochgestellte 3 + or CheckDeadUni("a3",0x2083)) ; Tiefgestellte 3 + OutputChar(3,3) + else if (Ebene = 2) + SendUnicodeChar(0x2113, "U2113") ; kleines l (Skript) else if (Ebene = 3) - SendUnicodeChar(0x00B3, "threesuperior") ; Hochgestellte 3 + OutputChar("³", "threesuperior") ; Hochgestellte 3 else if (Ebene = 4) - SendUnicodeChar(0x266B, "U226B") ; 2 Achtelnoten + SendUnicodeChar(0x2116, "numerosign") ; Numero else if (Ebene = 5) SendUnicodeChar(0x2083, "U2083") ; Tiefgestellte 3 else if (Ebene = 6) @@ -1367,13 +1371,13 @@ neo_4: or CheckDeadUni("a3",0x2084)) ; Tiefgestellte 4 OutputChar(4,4) else if (Ebene = 2) - SendUnicodeChar(0x00BB, "guillemotright") ; Double guillemot right + OutputChar("»", "guillemotright") else if (Ebene = 3) OutputChar("›", "U230A") ; Single guillemot right else if (Ebene = 4) OutputChar("{PgUp}", "Prior") ; Bild auf else if (Ebene = 5) - SendUnicodeChar(0x2113, "U2213") ; Script small L + OutputChar("†", "dagger") ; Kreuz else if (Ebene = 6) SendUnicodeChar(0x22A5, "uptack") ; Senkrecht return @@ -1385,11 +1389,11 @@ neo_5: or CheckDeadUni("a3",0x2085)) ; Tiefgestellte 5 OutputChar(5,5) else if (Ebene = 2) - SendUnicodeChar(0x00AB, "guillemotleft") ; Double guillemot left + OutputChar("«", "guillemotleft") ; Double guillemot left else if (Ebene = 3) OutputChar("‹", "U2039") ; Single guillemot left else if (Ebene = 5) - SendUnicodeChar(0x0AF8, "femalesymbol") ; Kreuz (Dagger) + SendUnicodeChar(0x2640, "femalesymbol") else if (Ebene = 6) SendUnicodeChar(0x2221, "U2221") ; Winkel return @@ -1407,7 +1411,7 @@ neo_6: else if (Ebene = 4) OutputChar("£", "sterling") else if (Ebene = 5) - SendUnicodeChar(0x0AF7, "malesymbol") + SendUnicodeChar(0x2642, "malesymbol") else if (Ebene = 6) SendUnicodeChar(0x2225, "U2225") ; parallel return @@ -1425,7 +1429,7 @@ neo_7: else if (Ebene = 5) SendUnicodeChar(0x03BA, "Greek_kappa") ; greek small letter kappa else if (Ebene = 6) - SendUnicodeChar(0x2209, "notelementof") ; nicht Element von + SendUnicodeChar(0x2192, "rightarrow") ; Rechtspfeil return neo_8: @@ -1441,7 +1445,7 @@ neo_8: else if (Ebene = 5) SendUnicodeChar(0x27E8, "U27E8") ; bra (öffnende spitze Klammer) else if (Ebene = 6) - SendUnicodeChar(0x2204, "U2204") ; es existiert nicht + SendUnicodeChar(0x221E, "infinity") return neo_9: @@ -1466,7 +1470,7 @@ neo_punkt: if (Ebene = 1) OutputChar(".", "period") else if (Ebene = 2) - SendUnicodeChar("0x2026", "ellipsis") ; Ellipse + SendUnicodeChar(0x2023, "") ; Dreieckiges Aufzählungszeichen else if (Ebene = 3) OutputChar("'", "apostrophe") else if ((Ebene = 4) and !(CheckDeadUni("c1",0x00B3) @@ -1484,7 +1488,7 @@ neo_komma: if (Ebene = 1) OutputChar(",", "comma") else if (Ebene = 2) - SendUnicodeChar(0x22EE, "U22EE") ; vertikale Ellipse + OutputChar("•", "enfilledcircbullet") ; Bullet else if (Ebene = 3) OutputChar(Chr(34), "quotedbl") else if ((Ebene = 4) and !(CheckDeadUni("c1",0x00B2) @@ -1493,7 +1497,7 @@ neo_komma: else if (Ebene = 5) SendUnicodeChar(0x03C1, "Greek_rho") ; rho else if (Ebene = 6) - SendUnicodeChar(0x21D0, "U21D0") ; Doppelpfeil links + SendUnicodeChar(0x21D2, "implies") ; Doppelpfeil rechts return neo_strich: @@ -1572,11 +1576,12 @@ return return neo_tab: - if (IsMod3Pressed()) { ; Compose! + EbeneAktualisieren() + if IsMod3Pressed() { ; Compose! DeadKey := "comp" CompKey := "" } else { - OutputChar("{Tab}","Tab") + OutputChar("{Tab}", "Tab") DeadKey := "" CompKey := "" } return @@ -1648,7 +1653,7 @@ neo_Numpad0: else if (Ebene = 4) send {blind}{NumpadIns} else if (Ebene = 5) - SendUnicodeChar(0x2030, "U2030") ; Promille + OutputChar("‰", "U2030") ; Promille else if (Ebene = 6) SendUnicodeChar(0x25A1, "U25A1") ; white square return @@ -1664,9 +1669,9 @@ neo_Numpad1: else if (Ebene = 4) send {blind}{NumpadEnd} else if (Ebene = 5) - SendUnicodeChar(0x226A, "U226A") ; much less - else if (Ebene = 6) SendUnicodeChar(0x2264, "lessthanequal") + else if (Ebene = 6) + SendUnicodeChar(0x230A, "downstile") ;linke Untergrenze return neo_Numpad2: @@ -1696,9 +1701,9 @@ neo_Numpad3: else if (Ebene = 4) send {blind}{NumpadPgDn} else if (Ebene = 5) - SendUnicodeChar(0x226B, "U226B") ; much greater - else if (Ebene = 6) SendUnicodeChar(0x2265, "greaterthanequal") + else if (Ebene = 6) + SendUnicodeChar(0x230B, "U230B") ; rechte Untergrenze return neo_Numpad4: @@ -1724,7 +1729,7 @@ neo_Numpad5: else if (Ebene = 2) SendUnicodeChar(0x20AC, "EuroSign") ; Euro else if (Ebene = 3) - SendUnicodeChar(0x221E, "infinity") ; Unendlich + SendUnicodeChar(0x00A6, "brokenbar") else if (Ebene = 4) send {blind}{NumPadClear} ; begin else if (Ebene = 5) @@ -1737,8 +1742,6 @@ neo_Numpad6: EbeneAktualisieren() if (Ebene = 1) OutputChar("{Numpad6}", "KP_6") - if (Ebene = 2) - OutputChar("¦", "brokenbar") else if (Ebene = 3) SendUnicodeChar(0x2192, "rightarrow") ; Rechtspfeil else if (Ebene = 4) @@ -1760,7 +1763,7 @@ neo_Numpad7: else if (Ebene = 4) send {blind}{NumpadHome} else if (Ebene = 5) - SendUnicodeChar(0x230A, "downstile") ;linke Untergrenze + SendUnicodeChar(0x226A, "U226A") ; much less else if (Ebene = 6) SendUnicodeChar(0x2308, "upstile") ; linke Obergrenze return @@ -1792,7 +1795,7 @@ neo_Numpad9: else if (Ebene = 4) send {blind}{NumpadPgUp} else if (Ebene = 5) - SendUnicodeChar(0x230B, "U230B") ; rechte Untergrenze + SendUnicodeChar(0x226B, "U226B") ; much greater else if (Ebene = 6) SendUnicodeChar(0x2309, "U2309") ; rechte Obergrenze return @@ -1928,7 +1931,7 @@ neo_tot2: deadUni(0x00A8, "dead_diaeresis", "g3") - else if (Ebene = 4) and !CheckDeadUni("g4",0x030F) ; Doppelgravis, tot + else if (Ebene = 4) and !CheckDeadUni("g4",0x030F) ; Doppelgravis, tot deadUni(0x02F5, "dead_doublegrave", "g4") @@ -2218,7 +2221,46 @@ CheckComp(d) { } } - +CumulateDeadKey(a) { + if DeadKey = a5 + { if a = g1 + DeadKey = a5g1 + else if a = a1 + DeadKey = a5a1 + else if a = a2 + DeadKey = a5a2 + else if a = g1a2 + DeadKey = a5g1a2 + else if a = a1a2 + DeadKey = a5a1a2 + else if a = c1a2 + DeadKey = a5c1a2 + } else if DeadKey = g5 + { if a = g1 + DeadKey = g5g1 + else if a = a1 + DeadKey = g5a1 + else if a = a2 + DeadKey = g5a2 + else if a = g1a2 + DeadKey = g5g1a2 + else if a = a1a2 + DeadKey = g5a1a2 + else if a = c1a2 + DeadKey = g5c1a2 + } else if DeadKey = g1 + { if a = a5 + DeadKey = a5g1 + else if a = g5 + DeadKey = g5g1 + else if a = a2 + DeadKey = g1a2 + else if a = a5a2 + DeadKey = a5g1a2 + else if a = g5a2 + DeadKey = g5g1a2 + } +} CheckCompose() { CheckCompUni(" ", 0x391) CheckCompUni(" ", 0x392) @@ -2575,7 +2617,6 @@ CheckCompUni(" ", 0x26A2) CheckCompUni(" ", 0x26A3) CheckCompUni(" ", 0x26A4) CheckCompUni(" ", 0x26A5) -CheckCompUni("", 0x266B) CheckCompUni(" ", 0x332) CheckCompUni(" ", 0x27) CheckCompUni(" ", 0x5E) diff --git a/windows/autohotkey/neo20.exe b/windows/autohotkey/neo20.exe index 529952d..752dfb7 100644 Binary files a/windows/autohotkey/neo20.exe and b/windows/autohotkey/neo20.exe differ -- cgit v1.2.3