1150 lines
34 KiB
AutoHotkey
1150 lines
34 KiB
AutoHotkey
/*
|
||
Die eigentliche NEO-Belegung und der Hauptteil des AHK-Treibers.
|
||
|
||
Reihe 1
|
||
*/
|
||
|
||
neo_tot1:
|
||
noCaps = 1
|
||
EbeneAktualisieren()
|
||
if (Ebene = 1) and !CheckDeadUni("c1",0x0302)
|
||
deadUni(0x02C6, "dead_circumflex", "c1") ; Zirkumflex, tot
|
||
else if (Ebene = 2) and !CheckDeadUni("c2",0x030C)
|
||
deadUni(0x02C7, "dead_caron", "c2") ; Caron, tot
|
||
else if (Ebene = 3) and !CheckDeadUni("c3",0x0306)
|
||
deadUni(0x02D8, "dead_breve", "c3") ; Brevis, tot
|
||
;CompKey := PriorCompKey
|
||
return
|
||
|
||
neo_1:
|
||
noCaps=1
|
||
EbeneAktualisieren()
|
||
if Ebene12 and !(CheckDeadUni("c1",0x00B9) ; Hochgestellte 1
|
||
or CheckDeadUni("c5",0x2081)) ; Tiefgestellte 1
|
||
OutputChar12(1,"°",1,"degree")
|
||
else if (Ebene = 3)
|
||
SendUnicodeChar(0x00B9, "onesuperior") ; Hochgestellte 1
|
||
else if (Ebene = 4)
|
||
SendUnicodeChar(0x2022, "enfilledcircbullet") ; Bullet
|
||
else if (Ebene = 5)
|
||
SendUnicodeChar(0x2081, "U2081") ; Tiefgestellte 1
|
||
else if (Ebene = 6)
|
||
SendUnicodeChar(0x00AC, "notsign") ; Nicht-Symbol
|
||
return
|
||
|
||
neo_2:
|
||
noCaps = 1
|
||
EbeneAktualisieren()
|
||
if (Ebene = 1 and !(CheckDeadUni("c1",0x00B2) ; Hochgestellte 2
|
||
or CheckDeadUni("c5",0x2082))) ; Tiefgestellte 2
|
||
OutputChar(2,2)
|
||
else if (Ebene = 2)
|
||
SendUnicodeChar(0x2116, "numerosign") ; Numero
|
||
else if (Ebene = 3)
|
||
SendUnicodeChar(0x00B2, "twosuperior") ; Hochgestellte 2
|
||
else if (Ebene = 4)
|
||
SendUnicodeChar(0x2023, "U2023") ; Aufzählungspfeil
|
||
else if (Ebene = 5)
|
||
SendUnicodeChar(0x2082, "U2082") ; Tiefgestellte 2
|
||
else if (Ebene = 6)
|
||
SendUnicodeChar(0x2228, "logicalor") ; Logisches Oder
|
||
return
|
||
|
||
neo_3:
|
||
noCaps = 1
|
||
EbeneAktualisieren()
|
||
if Ebene12 and !(CheckDeadUni("c1",0x00B3) ; Hochgestellte 3
|
||
or CheckDeadUni("c5",0x2083)) ; Tiefgestellte 3
|
||
OutputChar12(3,"§",3,"section")
|
||
else if (Ebene = 3)
|
||
SendUnicodeChar(0x00B3, "threesuperior") ; Hochgestellte 3
|
||
else if (Ebene = 4)
|
||
SendUnicodeChar(0x266B, "U226B") ; 2 Achtelnoten
|
||
else if (Ebene = 5)
|
||
SendUnicodeChar(0x2083, "U2083") ; Tiefgestellte 3
|
||
else if (Ebene = 6)
|
||
SendUnicodeChar(0x2227, "logicaland") ; Logisches Und
|
||
return
|
||
|
||
neo_4:
|
||
noCaps = 1
|
||
EbeneAktualisieren()
|
||
if (Ebene = 1) and !(CheckDeadUni("c1",0x2074) ; Hochgestellte 4
|
||
or CheckDeadUni("c5",0x2084)) ; Tiefgestellte 4
|
||
OutputChar(4,4)
|
||
else if (Ebene = 2)
|
||
SendUnicodeChar(0x00BB, "guillemotright") ; Double guillemot right
|
||
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
|
||
else if (Ebene = 6)
|
||
SendUnicodeChar(0x22A5, "uptack") ; Senkrecht
|
||
return
|
||
|
||
neo_5:
|
||
noCaps = 1
|
||
EbeneAktualisieren()
|
||
if (Ebene = 1) and !(CheckDeadUni("c1",0x2075) ; Hochgestellte 5
|
||
or CheckDeadUni("c5",0x2085)) ; Tiefgestellte 5
|
||
OutputChar(5,5)
|
||
else if (Ebene = 2)
|
||
SendUnicodeChar(0x00AB, "guillemotleft") ; Double guillemot left
|
||
else if (Ebene = 3)
|
||
OutputChar("‹", "U2039") ; Single guillemot left
|
||
else if (Ebene = 5)
|
||
SendUnicodeChar(0x0AF8, "femalesymbol") ; Kreuz (Dagger)
|
||
else if (Ebene = 6)
|
||
SendUnicodeChar(0x2221, "U2221") ; Winkel
|
||
return
|
||
|
||
neo_6:
|
||
noCaps = 1
|
||
EbeneAktualisieren()
|
||
if (Ebene = 1) and !(CheckDeadUni("c1",0x2076) ; Hochgestellte 6
|
||
or CheckDeadUni("c5",0x2086)) ; Tiefgestellte 6
|
||
OutputChar(6,6)
|
||
else if (Ebene = 2)
|
||
SendUnicodeChar(0x20AC, "EuroSign")
|
||
else if (Ebene = 3)
|
||
OutputChar("¢", "cent")
|
||
else if (Ebene = 4)
|
||
OutputChar("£", "sterling")
|
||
else if (Ebene = 5)
|
||
SendUnicodeChar(0x0AF7, "malesymbol")
|
||
else if (Ebene = 6)
|
||
SendUnicodeChar(0x2225, "U2225") ; parallel
|
||
return
|
||
|
||
neo_7:
|
||
noCaps = 1
|
||
EbeneAktualisieren()
|
||
if Ebene12 and !(CheckDeadUni("c1",0x2077) ; Hochgestellte 7
|
||
or CheckDeadUni("c5",0x2087)) ; Tiefgestellte 7
|
||
OutputChar12(7,"$",7,"dollar")
|
||
else if (Ebene = 3)
|
||
OutputChar("¥", "yen")
|
||
else if (Ebene = 4)
|
||
OutputChar("¤", "currency")
|
||
else if (Ebene = 5)
|
||
SendUnicodeChar(0x03BA, "Greek_kappa") ; greek small letter kappa
|
||
else if (Ebene = 6)
|
||
SendUnicodeChar(0x2209, "notelementof") ; nicht Element von
|
||
return
|
||
|
||
neo_8:
|
||
noCaps = 1
|
||
EbeneAktualisieren()
|
||
if Ebene12 and !(CheckDeadUni("c1",0x2078) ; Hochgestellte 8
|
||
or CheckDeadUni("c5",0x2088)) ; Tiefgestellte 8
|
||
OutputChar12(8,"„",8,"doublelowquotemark")
|
||
else if (Ebene = 3)
|
||
OutputChar("‚", "singlelowquotemark")
|
||
else if (Ebene = 4)
|
||
OutputChar("{NumpadDiv}", "KP_Divide")
|
||
else if (Ebene = 5)
|
||
SendUnicodeChar(0x27E8, "U27E8") ; bra (öffnende spitze Klammer)
|
||
else if (Ebene = 6)
|
||
SendUnicodeChar(0x2204, "U2204") ; es existiert nicht
|
||
return
|
||
|
||
neo_9:
|
||
noCaps = 1
|
||
EbeneAktualisieren()
|
||
if Ebene12 and !(CheckDeadUni("c1",0x2079) ; Hochgestellte 9
|
||
or CheckDeadUni("c5",0x2089)) ; Tiefgestellte 9
|
||
OutputChar12(9,"“",9,"leftdoublequotemark")
|
||
else if (Ebene = 3)
|
||
OutputChar("‘", "leftsinglequotemark")
|
||
else if (Ebene = 4)
|
||
OutputChar("{NumpadMult}", "KP_Multiply")
|
||
else if (Ebene = 5)
|
||
SendUnicodeChar(0x27E9, "U27E9") ; ket (schließende spitze Klammer)
|
||
else if (Ebene = 6)
|
||
SendUnicodeChar(0x2226, "U2226") ; nicht parallel
|
||
return
|
||
|
||
neo_0:
|
||
noCaps = 1
|
||
EbeneAktualisieren()
|
||
if Ebene12 and !(CheckDeadUni("c1",0x2070) ; Hochgestellte 0
|
||
or CheckDeadUni("c5",0x2080)) ; Tiefgestellte 0
|
||
OutputChar12(0,"”",0,"rightdoublequotemark")
|
||
else if (Ebene = 3)
|
||
OutputChar("’", "rightsingleqoutemark")
|
||
else if (Ebene = 4)
|
||
OutputChar("{NumpadSub}", "minus") ; s. Mail vom Sun, 14 Sep 2008 00:33:47 +0200
|
||
else if (Ebene = 6)
|
||
SendUnicodeChar(0x2205, "emptyset") ; leere Menge
|
||
return
|
||
|
||
neo_strich:
|
||
noCaps = 1
|
||
EbeneAktualisieren()
|
||
if (Ebene = 1)
|
||
OutputChar("-", "minus") ; Bindestrich-Minus
|
||
else if (Ebene = 2)
|
||
SendUnicodeChar(0x2013, "endash") ; Gedankenstrich
|
||
else if (Ebene = 3)
|
||
SendUnicodeChar(0x2014, "emdash") ; Englischer Gedankenstrich (Geviertstrich)
|
||
else if (Ebene = 5)
|
||
SendUnicodeChar(0x2011, "U2011") ; geschützter Bindestrich (Bindestrich ohne Zeilenumbruch)
|
||
else if (Ebene = 6)
|
||
SendUnicodeChar(0x00AD, "hyphen") ; weicher Bindestrich
|
||
return
|
||
|
||
neo_tot2:
|
||
noCaps = 1
|
||
EbeneAktualisieren()
|
||
if (Ebene = 1) and !CheckDeadUni("a1",0x0301)
|
||
deadAsc("{´}{space}", "dead_acute", "a1") ; Akut, tot
|
||
else if (Ebene = 2) and !CheckDeadUni("a2",0x0300)
|
||
deadAsc("``{space}", "dead_grave", "a2") ; Gravis, tot
|
||
else if (Ebene = 3) and !CheckDeadUni("a3",0x0327)
|
||
deadAsc("¸", "dead_cedilla", "a3") ; Cedilla, tot
|
||
else if (Ebene = 4) and !CheckDeadUni("a4",0x0307)
|
||
deadUni(0x02D9, "dead_abovedot", "a4") ; Punkt oben
|
||
else if (Ebene = 5) and !CheckDeadUni("a5",0x0328)
|
||
deadUni(0x02DB, "dead_ogonek", "a5") ; Ogonek
|
||
else if (Ebene = 6) and !CheckDeadUni("a6",0x030A)
|
||
deadUni(0x02DA, "dead_abovering", "a6") ; Ring oben
|
||
CompKey := PriorCompKey
|
||
return
|
||
|
||
|
||
/*
|
||
|
||
Reihe 2
|
||
|
||
*/
|
||
|
||
neo_x:
|
||
EbeneAktualisieren()
|
||
if Ebene12
|
||
OutputChar12("x","X","x","X")
|
||
else if (Ebene = 3)
|
||
SendUnicodeChar(0x2026, "ellipsis") ; Ellipse horizontal
|
||
else if (Ebene = 4)
|
||
SendUnicodeChar(0x22EE, "U22EE") ; Ellipse vertikal
|
||
else if (Ebene = 5)
|
||
SendUnicodeChar(0x03BE, "Greek_xi") ; xi
|
||
else if (Ebene = 6)
|
||
SendUnicodeChar(0x039E, "Greek_XI") ; Xi
|
||
return
|
||
|
||
neo_v:
|
||
EbeneAktualisieren()
|
||
if (Ebene12 and !(CheckDeadUni12("c6",0x1E7F,0x1E7E)))
|
||
OutputChar12("v","V","v","V")
|
||
else if (Ebene = 3)
|
||
OutputChar("_","underscore")
|
||
else if (Ebene = 4) and (!lernModus or lernModus_neo_Backspace)
|
||
OutputChar("{Backspace}", "BackSpace")
|
||
else if (Ebene = 6)
|
||
SendUnicodeChar(0x2259, "U2259") ; estimates/entspricht
|
||
return
|
||
|
||
neo_l:
|
||
EbeneAktualisieren()
|
||
if (Ebene12 and !(CheckDeadUni12("a1",0x013A,0x0139)
|
||
or CheckDeadUni12("a3",0x013C,0x013B)
|
||
or CheckDeadUni12("c2",0x013E,0x013D)
|
||
or CheckDeadUni12("c4",0x0140,0x013F)
|
||
or CheckDeadUni12("c6",0x1E37,0x1E36)
|
||
or CheckDeadUni12("t4",0x0142,0x0141)))
|
||
OutputChar12("l","L","l","L")
|
||
else if (Ebene = 3)
|
||
OutputChar("[", "bracketleft")
|
||
else if (Ebene = 4)
|
||
OutputChar("{Up}", "Up")
|
||
else if (Ebene = 5)
|
||
SendUnicodeChar(0x03BB, "Greek_lambda") ; lambda
|
||
else if (Ebene = 6)
|
||
SendUnicodeChar(0x039B, "Greek_LAMBDA") ; Lambda
|
||
return
|
||
|
||
neo_c:
|
||
EbeneAktualisieren()
|
||
if (Ebene12 and !(CheckDeadUni12("a1",0x0107,0x0106)
|
||
or CheckDeadUni12("a3",0x00E7,0x00E6)
|
||
or CheckDeadUni12("a4",0x010B,0x010A)
|
||
or CheckDeadUni12("c1",0x0109,0x0108)
|
||
or CheckDeadUni12("c2",0x010D,0x010C)))
|
||
OutputChar12("c","C","c","C")
|
||
else if (Ebene = 3)
|
||
OutputChar("]", "bracketright")
|
||
else if (Ebene = 4) and (!lernModus or lernModus_neo_Entf)
|
||
OutputChar("{Del}", "Delete")
|
||
else if (Ebene = 5)
|
||
SendUnicodeChar(0x03C7, "Greek_chi") ; chi
|
||
else if (Ebene = 6)
|
||
SendUnicodeChar(0x2102, "U2102") ; C (Komplexe Zahlen)]
|
||
return
|
||
|
||
neo_w:
|
||
EbeneAktualisieren()
|
||
if (Ebene12 and !(CheckDeadUni12("c1",0x0175,0x0174)))
|
||
OutputChar12("w","W","w","W")
|
||
else if (Ebene = 3)
|
||
SendUnicodeChar(0x005E, "asciicircum") ; Zirkumflex
|
||
else if (Ebene = 4)
|
||
OutputChar("{Insert}", "Insert") ; Einfg
|
||
else if (Ebene = 5)
|
||
SendUnicodeChar(0x03C9, "Greek_omega") ; omega
|
||
else if (Ebene = 6)
|
||
SendUnicodeChar(0x03A9, "Greek_OMEGA") ; Omega
|
||
return
|
||
|
||
neo_k:
|
||
EbeneAktualisieren()
|
||
if (Ebene12 and !(CheckDeadUni12("a3",0x0137,0x0136)
|
||
or CheckDeadUni12("c6",0x1E33,0x1E32)))
|
||
OutputChar12("k","K","k","K")
|
||
else if (Ebene = 3)
|
||
OutputChar("{!}", "exclam")
|
||
else if (Ebene = 4)
|
||
OutputChar("¡", "exclamdown")
|
||
else if (Ebene = 5)
|
||
SendUnicodeChar(0x03F0, "U03F0") ; kappa symbol (varkappa)
|
||
else if (Ebene = 6)
|
||
SendUnicodeChar(0x221A, "radical") ; Wurzel
|
||
return
|
||
|
||
neo_h:
|
||
EbeneAktualisieren()
|
||
if (Ebene12 and !(CheckDeadUni12("a4",0x1E23,0x1E22)
|
||
or CheckDeadUni12("c1",0x0125,0x0124)
|
||
or CheckDeadUni12("c5",0x0127,0x0126)
|
||
or CheckDeadUni12("c6",0x1E25,0x1E24)))
|
||
OutputChar12("h","H","h","H")
|
||
else if ((Ebene = 3) and !(CheckDeadUni("t4",0x2264))) ; kleiner gleich
|
||
OutputChar("<", "less")
|
||
else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2077)
|
||
or CheckDeadUni("t4",0x2087)))
|
||
OutputChar("{Numpad7}", "KP_7")
|
||
else if (Ebene = 5)
|
||
SendUnicodeChar(0x03C8, "Greek_psi") ; psi
|
||
else if (Ebene = 6)
|
||
SendUnicodeChar(0x03A8, "Greek_PSI") ; Psi
|
||
return
|
||
|
||
neo_g:
|
||
EbeneAktualisieren()
|
||
if (Ebene12 and !(CheckDeadUni12("a3",0x0123,0x0122)
|
||
or CheckDeadUni12("a4",0x0121,0x0120)
|
||
or CheckDeadUni12("c1",0x011D,0x011C)
|
||
or CheckDeadUni12("c3",0x011F,0x011E)))
|
||
OutputChar12("g","G","g","G")
|
||
else if ((Ebene = 3) and !(CheckDeadUni("t4",0x2265))) ; größer gleich
|
||
OutputChar(">", "greater")
|
||
else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2078)
|
||
or CheckDeadUni("t4",0x2088)))
|
||
OutputChar("{Numpad8}", "KP_8")
|
||
else if (Ebene = 5)
|
||
SendUnicodeChar(0x03B3, "Greek_gamma") ; gamma
|
||
else if (Ebene = 6)
|
||
SendUnicodeChar(0x0393, "Greek_GAMMA") ; Gamma
|
||
return
|
||
|
||
neo_f:
|
||
EbeneAktualisieren()
|
||
if (Ebene12 and !(CheckDeadUni12("a4",0x1E1F,0x1E1E)
|
||
or CheckDeadUni12("t4",0x0192,0x0191)))
|
||
OutputChar12("f","F","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("t2",0x2261) ; identisch
|
||
or CheckDeadUni("t1",0x2245) ; ungefähr gleich
|
||
or CheckDeadUni("t4",0x2260))) ; ungleich
|
||
OutputChar("`=", "equal")
|
||
else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2079)
|
||
or CheckDeadUni("t4",0x2089)))
|
||
OutputChar("{Numpad9}", "KP_9")
|
||
else if (Ebene = 5)
|
||
SendUnicodeChar(0x03C6, "Greek_phi") ; phi
|
||
else if (Ebene = 6)
|
||
SendUnicodeChar(0x03A6, "Greek_PHI") ; Phi
|
||
return
|
||
|
||
neo_q:
|
||
EbeneAktualisieren()
|
||
if (Ebene12)
|
||
OutputChar12("q","Q","q","Q")
|
||
else if (Ebene = 3)
|
||
OutputChar("{&}", "ampersand")
|
||
else if ((Ebene = 4) and !(CheckDeadUni("c1",0x207A)
|
||
or CheckDeadUni("c5",0x208A)))
|
||
OutputChar("{NumPadAdd}", "plus") ; !!!
|
||
else if (Ebene = 5)
|
||
SendUnicodeChar(0x03D5, "U03D5") ; phi symbol (varphi)
|
||
else if (Ebene = 6)
|
||
SendUnicodeChar(0x211A, "U211A") ; Q (rationale Zahlen)
|
||
return
|
||
|
||
neo_sz:
|
||
EbeneAktualisieren()
|
||
if (Ebene = 1)
|
||
if LangSTastatur
|
||
OutputChar("s", "s")
|
||
else OutputChar("ß", "ssharp")
|
||
else if (Ebene = 2)
|
||
SendUnicodeChar(0x1E9E, "U1E9E") ; versal-ß
|
||
else if (Ebene = 3)
|
||
if LangSTastatur
|
||
OutputChar("ß", "ssharp")
|
||
else SendUnicodeChar(0x017F, "17F") ; langes s
|
||
else if (Ebene = 5)
|
||
SendUnicodeChar(0x03C2, "Greek_finalsmallsigma") ; varsigma
|
||
else if (Ebene = 6)
|
||
SendUnicodeChar(0x2218, "jot") ; Verknüpfungsoperator
|
||
return
|
||
|
||
|
||
neo_tot3:
|
||
noCaps = 1
|
||
EbeneAktualisieren()
|
||
if (Ebene = 1) and !CheckDeadUni("t1",0x0303)
|
||
deadUni(0x02DC, "dead_tilde", "t1") ; Tilde, tot
|
||
else if (Ebene = 2) and !CheckDeadUni("t2",0x0304)
|
||
deadUni(0x00AF, "dead_macron", "t2") ; Macron, tot
|
||
else if (Ebene = 3) and !CheckDeadUni("t3",0x0308)
|
||
deadUni(0x00A8, "dead_diaeresis", "t3") ; Diärese
|
||
else if (Ebene = 4) and !CheckDeadUni("t4",0x0338)
|
||
deadUni(0x002F, "", "t4") ; Schrägstrich, tot
|
||
else if (Ebene = 5) and !CheckDeadUni("t5",0x030B)
|
||
deadUni(0x02DD, "dead_doubleacute", "t5") ; Doppelakut
|
||
else if (Ebene = 6) and !CheckDeadUni("t6",0x0326)
|
||
deadUni(0x02CF, "", "t6") ; Komma drunter, tot
|
||
return
|
||
|
||
|
||
/*
|
||
|
||
Reihe 3
|
||
|
||
*/
|
||
|
||
neo_u:
|
||
EbeneAktualisieren()
|
||
if (Ebene12 and !(CheckDeadUni12("a1",0x00FA,0x00DA)
|
||
or CheckDeadUni12("a2",0x00F9,0x00D9)
|
||
or CheckDeadUni12("a5",0x0173,0x0172)
|
||
or CheckDeadUni12("a6",0x016F,0x016E)
|
||
or CheckDeadUni12("c1",0x00FB,0x00DB)
|
||
or CheckDeadUni12("c2",0x01D4,0x01D3)
|
||
or CheckDeadUni12("c3",0x016D,0x016C)
|
||
or CheckDeadUni12("t1",0x0169,0x0168)
|
||
or CheckDeadUni12("t2",0x016B,0x016A)
|
||
or CheckDeadAsc12("t3","ü","Ü")
|
||
or CheckDeadUni12("t5",0x0171,0x0170)))
|
||
OutputChar12("u","U","u","U")
|
||
else if (Ebene = 3)
|
||
OutputChar("\", "backslash")
|
||
else if (Ebene = 4)
|
||
OutputChar("{Home}", "Home")
|
||
else if (Ebene = 6)
|
||
SendUnicodeChar(0x222E, "U222E") ; contour integral
|
||
return
|
||
|
||
neo_i:
|
||
EbeneAktualisieren()
|
||
if (Ebene12 and !(CheckDeadUni12("a1",0x00ED,0x00CD)
|
||
or CheckDeadUni12("a2",0x00EC,0x00CC)
|
||
or CheckDeadUni12("a4",0x012F,0x012E)
|
||
or CheckDeadUni12("a5",0x0131,0x0130)
|
||
or CheckDeadUni12("c1",0x00EE,0x00CE)
|
||
or CheckDeadUni12("c2",0x01D0,0x01CF)
|
||
or CheckDeadUni12("c3",0x012D,0x012C)
|
||
or CheckDeadUni12("t1",0x0129,0x0128)
|
||
or CheckDeadUni12("t2",0x012B,0x012A)
|
||
or CheckDeadAsc12("t3","ï","Ï")))
|
||
OutputChar12("i","I","i","I")
|
||
else if (Ebene = 3)
|
||
OutputChar("`/", "slash")
|
||
else if (Ebene = 4)
|
||
OutputChar("{Left}", "Left")
|
||
else if (Ebene = 5)
|
||
SendUnicodeChar(0x03B9, "Greek_iota") ; iota
|
||
else if (Ebene = 6)
|
||
SendUnicodeChar(0x222B, "integral") ; integral
|
||
return
|
||
|
||
neo_a:
|
||
EbeneAktualisieren()
|
||
if (Ebene12 and !(CheckDeadUni12("a1",0x00E1,0x00C1)
|
||
or CheckDeadUni12("a2",0x00E0,0x00C0)
|
||
or CheckDeadUni12("a5",0x0105,0x0104)
|
||
or CheckDeadAsc12("a6","å","Å")
|
||
or CheckDeadUni12("c1",0x00E2,0x00C2)
|
||
or CheckDeadUni12("c2",0x01CE,0x01CD)
|
||
or CheckDeadUni12("c3",0x0103,0x0102)
|
||
or CheckDeadUni12("t1",0x00E3,0x00C3)
|
||
or CheckDeadUni12("t2",0x0101,0x0100)
|
||
or CheckDeadAsc12("t3","ä","Ä")))
|
||
OutputChar12("a","A","a","A")
|
||
else if (Ebene = 3)
|
||
OutputChar("{{}", "braceleft")
|
||
else if (Ebene = 4)
|
||
OutputChar("{Down}", "Down")
|
||
else if (Ebene = 5)
|
||
SendUnicodeChar(0x03B1, "Greek_alpha") ; alpha
|
||
else if (Ebene = 6)
|
||
SendUnicodeChar(0x2200, "U2200") ; für alle
|
||
return
|
||
|
||
neo_e:
|
||
EbeneAktualisieren()
|
||
if (Ebene12 and !(CheckDeadUni12("a1",0x00E9,0x00C9)
|
||
or CheckDeadUni12("a2",0x00E8,0x00C8)
|
||
or CheckDeadUni12("a4",0x0117,0x0116)
|
||
or CheckDeadUni12("a5",0x0119,0x0118)
|
||
or CheckDeadUni12("c1",0x00EA,0x00CA)
|
||
or CheckDeadUni12("c2",0x011B,0x011A)
|
||
or CheckDeadUni12("c3",0x0115,0x0114)
|
||
or CheckDeadUni12("t1",0x1EBD,0x1EBC)
|
||
or CheckDeadUni12("t2",0x0113,0x0112)
|
||
or CheckDeadAsc12("t3","ë","Ë")))
|
||
OutputChar12("e","E","e","E")
|
||
else if (Ebene = 3)
|
||
OutputChar("{}}", "braceright")
|
||
else if (Ebene = 4)
|
||
OutputChar("{Right}", "Right")
|
||
else if (Ebene = 5)
|
||
SendUnicodeChar(0x03B5, "Greek_epsilon") ; epsilon
|
||
else if (Ebene = 6)
|
||
SendUnicodeChar(0x2203, "U2203") ; es existiert
|
||
return
|
||
|
||
neo_o:
|
||
EbeneAktualisieren()
|
||
if (Ebene12 and !(CheckDeadUni12("a1",0x00F3,0x00D3)
|
||
or CheckDeadUni12("a2",0x00F2,0x00D2)
|
||
or CheckDeadUni12("a5",0x01EB,0x01EA)
|
||
or CheckDeadUni12("c1",0x00F4,0x00D4)
|
||
or CheckDeadUni12("c2",0x01D2,0x01D1)
|
||
or CheckDeadUni12("c3",0x014F,0x014E)
|
||
or CheckDeadUni12("t1",0x00F5,0x00D5)
|
||
or CheckDeadUni12("t2",0x014D,0x014C)
|
||
or CheckDeadAsc12("t3","ö","Ö")
|
||
or CheckDeadUni12("t4",0x00F8,0x00D8)
|
||
or CheckDeadUni12("t5",0x0151,0x0150)))
|
||
OutputChar12("o","O","o","O")
|
||
else if (Ebene = 3)
|
||
OutputChar("*", "asterisk")
|
||
else if (Ebene = 4)
|
||
OutputChar("{End}", "End")
|
||
else if (Ebene = 5)
|
||
SendUnicodeChar(0x03BF, "Greek_omicron") ; omicron
|
||
else if (Ebene = 6)
|
||
SendUnicodeChar(0x2208, "elementof") ; element of
|
||
return
|
||
|
||
neo_s:
|
||
EbeneAktualisieren()
|
||
if (Ebene12 and !(CheckDeadUni12("a1",0x015B,0x015A)
|
||
or CheckDeadUni12("a3",0x015F,0x015E)
|
||
or CheckDeadUni12("a4",0x1E61,0x1E60)
|
||
or CheckDeadUni12("c1",0x015D,0x015C)
|
||
or CheckDeadUni12("c2",0x0161,0x0160)
|
||
or CheckDeadUni12("c6",0x1E63,0x1A62))) {
|
||
if LangSTastatur and (Ebene = 1)
|
||
SendUnicodeChar(0x017F, "17F") ; langes s
|
||
else OutputChar12("s","S","s","S")
|
||
} else if (Ebene = 3)
|
||
OutputChar("?", "question")
|
||
else if Ebene7 {
|
||
if LangSTastatur
|
||
OutputChar("s", "s")
|
||
else SendUnicodeChar(0x017F, "17F")
|
||
} else if (Ebene = 4)
|
||
OutputChar("¿", "questiondown")
|
||
else if (Ebene = 5)
|
||
SendUnicodeChar(0x03C3, "Greek_sigma") ;sigma
|
||
else if (Ebene = 6)
|
||
SendUnicodeChar(0x03A3, "Greek_SIGMA") ;Sigma
|
||
return
|
||
|
||
neo_n:
|
||
EbeneAktualisieren()
|
||
if (Ebene12 and !(CheckDeadUni12("a1",0x0144,0x0143)
|
||
or CheckDeadUni12("a3",0x0146,0x0145)
|
||
or CheckDeadUni12("a4",0x1E45,0x1E44)
|
||
or CheckDeadUni12("c2",0x0148,0x0147)
|
||
or CheckDeadUni12("t1",0x00F1,0x00D1)))
|
||
OutputChar12("n","N","n","N")
|
||
else if (Ebene = 3)
|
||
OutputChar("(", "parenleft")
|
||
else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2074)
|
||
or CheckDeadUni("t4",0x2084)))
|
||
OutputChar("{Numpad4}", "KP_4")
|
||
else if (Ebene = 5)
|
||
SendUnicodeChar(0x03BD, "Greek_nu") ; nu
|
||
else if (Ebene = 6)
|
||
SendUnicodeChar(0x2115, "U2115") ; N (natürliche Zahlen)
|
||
return
|
||
|
||
neo_r:
|
||
EbeneAktualisieren()
|
||
if (Ebene12 and !(CheckDeadUni12("a1",0x0155,0x0154)
|
||
or CheckDeadUni12("a3",0x0157,0x0156)
|
||
or CheckDeadUni12("a4",0x0E59,0x0E58)
|
||
or CheckDeadUni12("c2",0x0159,0x0158)
|
||
or CheckDeadUni12("t3",0x1E5B,0x1E5A)))
|
||
OutputChar12("r","R","r","R")
|
||
else if (Ebene = 3)
|
||
OutputChar(")", "parenright")
|
||
else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2075)
|
||
or CheckDeadUni("t4",0x2085)))
|
||
OutputChar("{Numpad5}", "KP_5")
|
||
else if (Ebene = 5)
|
||
SendUnicodeChar(0x03F1, "U03F1") ; rho symbol (varrho)
|
||
else if (Ebene = 6)
|
||
SendUnicodeChar(0x211D, "U221D") ; R (reelle Zahlen)
|
||
return
|
||
|
||
neo_t:
|
||
EbeneAktualisieren()
|
||
if (Ebene12 and !(CheckDeadUni12("a3",0x0163,0x0162)
|
||
or CheckDeadUni12("a4",0x1E6B,0x1E6A)
|
||
or CheckDeadUni12("c2",0x0165,0x0164)
|
||
or CheckDeadUni12("c5",0x0167,0x0166)
|
||
or CheckDeadUni12("t4",0x1E6D,0x1E6C)
|
||
or CheckDeadUni("t3",0x1E97)))
|
||
OutputChar12("t","T","t","T")
|
||
else if (Ebene = 3)
|
||
OutputChar("-", "minus") ; Bisstrich
|
||
else if (Ebene = 4) and !(CheckDeadUni("c1",0x2076)
|
||
or CheckDeadUni("c5",0x2086))
|
||
OutputChar("{Numpad6}", "KP_6")
|
||
else if (Ebene = 5)
|
||
SendUnicodeChar(0x03C4, "Greek_tau") ; tau
|
||
else if (Ebene = 6)
|
||
SendUnicodeChar(0x2202, "partialderivative") ; partielle Ableitung
|
||
return
|
||
|
||
neo_d:
|
||
EbeneAktualisieren()
|
||
if (Ebene12 and !(CheckDeadUni12("a4",0x1E0B,0x1E0A)
|
||
or CheckDeadUni12("c2",0x010F,0x010E)
|
||
or CheckDeadUni12("t2",0x0111,0x0110)
|
||
or CheckDeadUni12("t3",0x1E0D,0x1E0C)
|
||
or CheckDeadUni12("t4",0x00F0,0x00D0)))
|
||
OutputChar12("d","D","d","D")
|
||
else if (Ebene = 3)
|
||
OutputChar(":", "colon")
|
||
else if (Ebene = 4)
|
||
OutputChar("`,", "comma")
|
||
else if (Ebene = 5)
|
||
SendUnicodeChar(0x03B4, "Greek_delta") ; delta
|
||
else if (Ebene = 6)
|
||
SendUnicodeChar(0x0394, "Greek_DELTA") ; Delta
|
||
return
|
||
|
||
neo_y:
|
||
EbeneAktualisieren()
|
||
if (Ebene12 and !(CheckDeadUni12("a1",0x00FD,0x00DD)
|
||
or CheckDeadUni12("c1",0x0177,0x0176)
|
||
or CheckDeadAsc12("t3","ÿ","Ÿ")))
|
||
OutputChar12("y","Y","y","Y")
|
||
else if (Ebene = 3)
|
||
OutputChar("@", "at")
|
||
else if (Ebene = 4)
|
||
OutputChar(".", "period")
|
||
else if (Ebene = 5)
|
||
SendUnicodeChar(0x03C5, "Greek_upsilon") ; upsilon
|
||
else if (Ebene = 6)
|
||
SendUnicodeChar(0x2207, "nabla") ; nabla
|
||
return
|
||
|
||
/*
|
||
|
||
Reihe 4
|
||
|
||
*/
|
||
|
||
neo_ü:
|
||
EbeneAktualisieren()
|
||
if (Ebene12 and !(CheckDeadUni12("a1",0x01D8,0x01D7)
|
||
or CheckDeadUni12("a2",0x01DC,0x01DB)
|
||
or CheckDeadUni12("c2",0x01DA,0x01D9)
|
||
or CheckDeadUni12("t2",0x01D6,0x01D5)))
|
||
OutputChar12("ü","Ü","udiaeresis","Udiaeresis")
|
||
else if (Ebene = 3)
|
||
if isMod2Locked
|
||
OutputChar("{Shift Up}{#}", "numbersign")
|
||
else OutputChar("{blind}{#}", "numbersign")
|
||
else if (Ebene = 4)
|
||
OutputChar("{Esc}", "Escape")
|
||
else if (Ebene = 6)
|
||
SendUnicodeChar(0x221D, "variation") ; proportional
|
||
return
|
||
|
||
neo_ö:
|
||
EbeneAktualisieren()
|
||
if (Ebene12 and !(CheckDeadUni12("t2",0x022B,0x022A)))
|
||
OutputChar12("ö","Ö","odiaeresis","Odiaeresis")
|
||
else if (Ebene = 3)
|
||
OutputChar("$", "dollar")
|
||
else if (Ebene = 4)
|
||
OutputChar("{Tab}", "Tab")
|
||
else if (Ebene = 6)
|
||
SendUnicodeChar(0x2111, "U2221") ; Fraktur I
|
||
return
|
||
|
||
neo_ä:
|
||
EbeneAktualisieren()
|
||
if (Ebene12 and !(CheckDeadUni12("t2",0x01DF,0x01DE)))
|
||
OutputChar12("ä","Ä","adiaeresis","Adiaeresis")
|
||
else if (Ebene = 3)
|
||
OutputChar("|", "bar")
|
||
else if (Ebene = 4)
|
||
OutputChar("{PgDn}", "Next")
|
||
else if (Ebene = 5)
|
||
SendUnicodeChar(0x03B7, "Greek_eta") ; eta
|
||
else if (Ebene = 6)
|
||
SendUnicodeChar(0x211C, "U221C") ; Fraktur R
|
||
return
|
||
|
||
neo_p:
|
||
EbeneAktualisieren()
|
||
if (Ebene12 and !(CheckDeadUni12("a4",0x1E57,0x1E56)))
|
||
OutputChar12("p","P","p","P")
|
||
else if ((Ebene = 3) and !(CheckDeadUni("t1",0x2248)))
|
||
OutputChar("~", "asciitilde")
|
||
else if (Ebene = 4)
|
||
OutputChar("{Enter}", "Return")
|
||
else if (Ebene = 5)
|
||
SendUnicodeChar(0x03C0, "Greek_pi") ; pi
|
||
else if (Ebene = 6)
|
||
SendUnicodeChar(0x03A0, "Greek_PI") ; Pi
|
||
return
|
||
|
||
neo_z:
|
||
EbeneAktualisieren()
|
||
if (Ebene12 and !(CheckDeadUni12("a1",0x017A,0x0179)
|
||
or CheckDeadUni12("a4",0x017C,0x017B)
|
||
or CheckDeadUni12("c2",0x017E,0x017D)
|
||
or CheckDeadUni12("c6",0x1E93,0x1E92)))
|
||
OutputChar12("z","Z","z","Z")
|
||
else if (Ebene = 3)
|
||
OutputChar("``{space}", "grave") ; untot
|
||
else if (Ebene = 5)
|
||
SendUnicodeChar(0x03B6, "Greek_zeta") ; zeta
|
||
else if (Ebene = 6)
|
||
SendUnicodeChar(0x2124, "U2124") ; Z (ganze Zahlen)
|
||
return
|
||
|
||
neo_b:
|
||
EbeneAktualisieren()
|
||
if (Ebene12 and !(CheckDeadUni12("a4",0x1E03,0x1E02)))
|
||
OutputChar12("b","B","b","B")
|
||
else if (Ebene = 3)
|
||
if isMod2Locked
|
||
OutputChar("{Shift Up}{+}", "plus")
|
||
else OutputChar("{blind}{+}", "plus")
|
||
else if (Ebene = 4)
|
||
OutputChar(":", "colon")
|
||
else if (Ebene = 5)
|
||
SendUnicodeChar(0x03B2, "Greek_beta") ; beta
|
||
else if (Ebene = 6)
|
||
SendUnicodeChar(0x21D2, "implies") ; Doppel-Pfeil rechts
|
||
return
|
||
|
||
neo_m:
|
||
EbeneAktualisieren()
|
||
if (Ebene12 and !(CheckDeadUni12("a4",0x1E41,0x1E40)
|
||
or CheckDeadUni12("c6",0x1E43,0x1E42)))
|
||
OutputChar12("m","M","m","M")
|
||
else if (Ebene = 3)
|
||
OutputChar("`%", "percent")
|
||
else if ((Ebene = 4) and !(CheckDeadUni("c1",0x00B9)
|
||
or CheckDeadUni("t4",0x2081)))
|
||
OutputChar("{Numpad1}", "KP_1")
|
||
else if (Ebene = 5)
|
||
SendUnicodeChar(0x03BC, "Greek_mu") ; griechisch mu, micro wäre 0x00B5
|
||
else if (Ebene = 6)
|
||
SendUnicodeChar(0x21D4, "ifonlyif") ; doppelter Doppelpfeil (genau dann wenn)
|
||
return
|
||
|
||
neo_komma:
|
||
noCaps = 1
|
||
EbeneAktualisieren()
|
||
if (Ebene = 1)
|
||
OutputChar(",", "comma")
|
||
else if (Ebene = 3)
|
||
OutputChar(Chr(34), "quotedbl")
|
||
else if ((Ebene = 4) and !(CheckDeadUni("c1",0x00B2)
|
||
or CheckDeadUni("c5",0x2082)))
|
||
OutputChar("{Numpad2}", "KP_2")
|
||
else if (Ebene = 5)
|
||
SendUnicodeChar(0x03C1, "Greek_rho") ; rho
|
||
else if (Ebene = 6)
|
||
SendUnicodeChar(0x21D0, "U21D0") ; Doppelpfeil links
|
||
return
|
||
|
||
neo_punkt:
|
||
noCaps = 1
|
||
EbeneAktualisieren()
|
||
if (Ebene = 1)
|
||
OutputChar(".", "period")
|
||
else if (Ebene = 3)
|
||
OutputChar("'", "apostrophe")
|
||
else if ((Ebene = 4) and !(CheckDeadUni("c1",0x00B3)
|
||
or CheckDeadUni("t4",0x2083)))
|
||
OutputChar("{Numpad3}", "KP_3")
|
||
else if (Ebene = 5)
|
||
SendUnicodeChar(0x03D1, "U03D1") ; theta symbol (vartheta)
|
||
else if (Ebene = 6)
|
||
SendUnicodeChar(0x0398, "Greek_THETA") ; Theta
|
||
return
|
||
|
||
|
||
neo_j:
|
||
EbeneAktualisieren()
|
||
if (Ebene12 and !(CheckDeadUni12("c1",0x0135,0x0134)
|
||
or CheckDeadUni("c2",0x01F0)))
|
||
OutputChar12("j","J","j","J")
|
||
else if (Ebene = 3)
|
||
OutputChar("`;", "semicolon")
|
||
else if (Ebene = 4)
|
||
OutputChar("`;", "semicolon")
|
||
else if (Ebene = 5)
|
||
SendUnicodeChar(0x03B8, "Greek_theta") ; theta
|
||
else if (Ebene = 6)
|
||
SendUnicodeChar(0x2261, "identical") ; identisch
|
||
return
|
||
|
||
/*
|
||
|
||
Numpad
|
||
|
||
*/
|
||
|
||
neo_NumLock:
|
||
EbeneAktualisieren()
|
||
if (Ebene = 1) ;…
|
||
OutputChar("`=", "equal")
|
||
if (Ebene = 3)
|
||
SendUnicodeChar(0x2248, "U2248") ; Fast gleich
|
||
if (Ebene = 2)
|
||
SendUnicodeChar(0x2260, "U2260") ; Ungleich zu
|
||
return
|
||
|
||
neo_NumpadDiv:
|
||
EbeneAktualisieren()
|
||
if Ebene12
|
||
OutputChar("{NumpadDiv}", "KP_Divide")
|
||
else if (Ebene = 4)
|
||
SendUnicodeChar(0x2215, "division") ; Slash
|
||
else if (Ebene = 3)
|
||
OutputChar("÷", "U2044")
|
||
return
|
||
|
||
neo_NumpadMult:
|
||
EbeneAktualisieren()
|
||
if Ebene12
|
||
send {blind}{NumpadMult}
|
||
else if (Ebene = 3)
|
||
SendUnicodeChar(0x22C5, "multiply") ; Cdot
|
||
else if (Ebene = 4)
|
||
OutputChar("×", "U2219")
|
||
return
|
||
|
||
neo_NumpadSub:
|
||
EbeneAktualisieren()
|
||
if (Ebene12 and !(CheckDeadUni("c1",0x207B)
|
||
or CheckDeadUni("t4",0x208B)))
|
||
send {blind}{NumpadSub}
|
||
else if (Ebene = 3) or (Ebene = 4)
|
||
SendUnicodeChar(0x2212, "U2212") ; Echtes Minus
|
||
return
|
||
|
||
neo_NumpadAdd:
|
||
EbeneAktualisieren()
|
||
if (Ebene12 and !(CheckDeadUni("c1",0x207A)
|
||
or CheckDeadUni("c5",0x208A)))
|
||
send {blind}{NumpadAdd}
|
||
else if (Ebene = 3)
|
||
OutputChar("±", "plusminus")
|
||
else if (Ebene = 4)
|
||
SendUnicodeChar(0x2213, "U2213") ; Inverses ±
|
||
return
|
||
|
||
neo_NumpadEnter:
|
||
send {blind}{NumpadEnter}
|
||
return
|
||
|
||
neo_Numpad7:
|
||
EbeneAktualisieren()
|
||
if (Ebene = 1)
|
||
OutputChar("{Numpad7}", "KP_7")
|
||
else if (Ebene = 2)
|
||
SendUnicodeChar(0x2020, "dagger") ; Kreuz
|
||
else if (Ebene = 3)
|
||
SendUnicodeChar(0x2195, "U2195") ; Hoch-Runter-Pfeil
|
||
else if (Ebene = 4)
|
||
send {blind}{NumpadHome}
|
||
return
|
||
|
||
neo_Numpad8:
|
||
EbeneAktualisieren()
|
||
if (Ebene = 1)
|
||
OutputChar("{Numpad8}", "KP_8")
|
||
else if (Ebene = 2)
|
||
SendUnicodeChar(0x2229, "intersection") ; Durchschnitt
|
||
else if (Ebene = 3)
|
||
SendUnicodeChar(0x2191, "uparrow") ; Hochpfeil
|
||
else if (Ebene = 4)
|
||
send {blind}{NumpadUp}
|
||
return
|
||
|
||
neo_Numpad9:
|
||
EbeneAktualisieren()
|
||
if (Ebene = 1)
|
||
OutputChar("{Numpad9}", "KP_9")
|
||
else if (Ebene = 2)
|
||
SendUnicodeChar(0x2297, "U2297") ; Tensorprodukt / Vektor in die Ebene zeigend
|
||
else if (Ebene = 3)
|
||
SendUnicodeChar(0x220D, "U220D") ; Kleines umgekehrtes Elementzeichen
|
||
else if (Ebene = 4)
|
||
send {blind}{NumpadPgUp}
|
||
return
|
||
|
||
neo_Numpad4:
|
||
EbeneAktualisieren()
|
||
if (Ebene = 1)
|
||
OutputChar("{Numpad4}", "KP_4")
|
||
else if (Ebene = 2)
|
||
SendUnicodeChar(0x2282, "includein") ; Teilmenge
|
||
else if (Ebene = 3)
|
||
SendUnicodeChar(0x2190, "leftarrow") ; Linkspfeil
|
||
else if (Ebene = 4)
|
||
send {blind}{NumpadLeft}
|
||
return
|
||
|
||
neo_Numpad5:
|
||
EbeneAktualisieren()
|
||
if (Ebene = 1)
|
||
OutputChar("{Numpad5}", "KP_5")
|
||
else if (Ebene = 2)
|
||
SendUnicodeChar(0x20AC, "EuroSign") ; Euro
|
||
else if (Ebene = 3)
|
||
SendUnicodeChar(0x221E, "infinity") ; Unendlich
|
||
else if (Ebene = 4) ; Beg
|
||
send {blind}{NumPadClear}
|
||
return
|
||
|
||
neo_Numpad6:
|
||
EbeneAktualisieren()
|
||
if (Ebene = 1)
|
||
OutputChar("{Numpad6}", "KP_6")
|
||
else if (Ebene = 2)
|
||
SendUnicodeChar(0x2283, "includes") ; Obermenge
|
||
else if (Ebene = 3)
|
||
SendUnicodeChar(0x2192, "rightarrow") ; Rechtspfeil
|
||
else if (Ebene = 4)
|
||
send {blind}{NumpadRight}
|
||
return
|
||
|
||
neo_Numpad1:
|
||
EbeneAktualisieren()
|
||
if (Ebene = 1)
|
||
OutputChar("{Numpad1}", "KP_1")
|
||
else if (Ebene = 2)
|
||
SendUnicodeChar(0x2714, "U2714") ; Häkchen
|
||
else if (Ebene = 3)
|
||
SendUnicodeChar(0x2194, "U2194") ; Links-Rechts-Pfeil
|
||
else if (Ebene = 4)
|
||
send {blind}{NumpadEnd}
|
||
return
|
||
|
||
neo_Numpad2:
|
||
EbeneAktualisieren()
|
||
if (Ebene = 1)
|
||
OutputChar("{Numpad2}", "KP_2")
|
||
else if (Ebene = 2)
|
||
SendUnicodeChar(0x222A, "union") ; Vereinigung
|
||
else if (Ebene = 3)
|
||
SendUnicodeChar(0x2192, "downarrow") ; Untenpfeil
|
||
else if (Ebene = 4)
|
||
send {blind}{NumpadDown}
|
||
return
|
||
|
||
neo_Numpad3:
|
||
EbeneAktualisieren()
|
||
if (Ebene = 1)
|
||
OutputChar("{Numpad3}", "KP_3")
|
||
else if (Ebene = 2)
|
||
SendUnicodeChar(0x2718, "U2718") ; Kreuzchen
|
||
else if (Ebene = 3)
|
||
SendUnicodeChar(0x21CC, "U21CC") ; Harpune
|
||
else if (Ebene = 4)
|
||
send {blind}{NumpadPgDn}
|
||
return
|
||
|
||
neo_Numpad0:
|
||
EbeneAktualisieren()
|
||
if (Ebene = 1)
|
||
OutputChar("{Numpad0}", "KP_0")
|
||
else if (Ebene = 2)
|
||
SendUnicodeChar(0x0025, "percent") ; Prozent
|
||
else if (Ebene = 3)
|
||
SendUnicodeChar(0x2030, "U2030") ; Promille
|
||
else if (Ebene = 4)
|
||
send {blind}{NumpadIns}
|
||
return
|
||
|
||
neo_NumpadDot:
|
||
EbeneAktualisieren()
|
||
if (Ebene = 1)
|
||
send {blind}{NumpadDot}
|
||
else if (Ebene = 2)
|
||
send `,
|
||
else if (Ebene = 3)
|
||
send {blind}.
|
||
else if (Ebene = 4)
|
||
send {blind}{NumpadDel}
|
||
return
|
||
|
||
/*
|
||
|
||
Sondertasten
|
||
|
||
*/
|
||
|
||
*space::
|
||
if einHandNeo
|
||
spacepressed := 1
|
||
else goto neo_SpaceUp
|
||
return
|
||
|
||
*space up::
|
||
if einHandNeo
|
||
if keypressed {
|
||
keypressed := 0
|
||
spacepressed := 0
|
||
} else goto neo_SpaceUp
|
||
return
|
||
|
||
neo_SpaceUp:
|
||
EbeneAktualisieren()
|
||
if (Ebene = 1) and !CheckDeadUni("t4",0x2010) ; Echter Bindestrich
|
||
OutputChar("{Space}", "Space")
|
||
else if (Ebene = 2) or (Ebene = 3)
|
||
Send {blind}{Space}
|
||
else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2070)
|
||
or CheckDeadUni("c5",0x2080)))
|
||
OutputChar("{Numpad0}", "KP_0")
|
||
else if (Ebene = 5)
|
||
SendUnicodeChar(0x00A0, "U00A0") ; geschütztes Leerzeichen
|
||
else if (Ebene = 6)
|
||
SendUnicodeChar(0x202F, "U202F") ; schmales geschütztes Leerzeichen
|
||
DeadKey := ""
|
||
CompKey := ""
|
||
spacepressed := 0
|
||
keypressed := 0
|
||
return
|
||
|
||
/*
|
||
Folgende Tasten sind nur aufgeführt, um DeadKey zu leeren.
|
||
Irgendwie sieht das noch nicht schön aus. Vielleicht lässt sich dieses
|
||
Problem auch eleganter lösen...
|
||
*/
|
||
|
||
*Enter::
|
||
if !lernModus or lernModus_std_Return {
|
||
send {Blind}{Enter}
|
||
DeadKey := ""
|
||
CompKey := ""
|
||
} return
|
||
|
||
*Backspace::
|
||
if !lernModus or lernModus_std_Backspace {
|
||
send {Blind}{Backspace}
|
||
DeadKey := ""
|
||
CompKey := ""
|
||
} return
|
||
|
||
*Del::
|
||
if !lernModus or lernModus_std_Entf
|
||
send {Blind}{Del}
|
||
return
|
||
|
||
*Ins::
|
||
if !lernModus or lernModus_std_Einf
|
||
send {Blind}{Ins}
|
||
return
|
||
|
||
/*
|
||
Auf Mod3+Tab liegt Compose.
|
||
*/
|
||
|
||
neo_tab:
|
||
if (IsMod3Pressed()) {
|
||
DeadKey := "comp"
|
||
CompKey := ""
|
||
} else {
|
||
send {blind}{Tab}
|
||
DeadKey := ""
|
||
CompKey := ""
|
||
} return
|
||
|
||
*Home::
|
||
if !lernModus or lernModus_std_Pos1 {
|
||
send {Blind}{Home}
|
||
DeadKey := ""
|
||
CompKey := ""
|
||
} return
|
||
|
||
*End::
|
||
if !lernModus or lernModus_std_Ende {
|
||
send {Blind}{End}
|
||
DeadKey := ""
|
||
CompKey := ""
|
||
} return
|
||
|
||
*PgUp::
|
||
if !lernModus or lernModus_std_PgUp {
|
||
send {Blind}{PgUp}
|
||
DeadKey := ""
|
||
CompKey := ""
|
||
} return
|
||
|
||
*PgDn::
|
||
if !lernModus or lernModus_std_PgDn {
|
||
send {Blind}{PgDn}
|
||
DeadKey := ""
|
||
CompKey := ""
|
||
} return
|
||
|
||
*Up::
|
||
if !lernModus or lernModus_std_Hoch {
|
||
send {Blind}{Up}
|
||
DeadKey := ""
|
||
CompKey := ""
|
||
} return
|
||
|
||
*Down::
|
||
if !lernModus or lernModus_std_Runter {
|
||
send {Blind}{Down}
|
||
DeadKey := ""
|
||
CompKey := ""
|
||
} return
|
||
|
||
*Left::
|
||
if !lernModus or lernModus_std_Links {
|
||
send {Blind}{Left}
|
||
DeadKey := ""
|
||
CompKey := ""
|
||
} return
|
||
|
||
*Right::
|
||
if !lernModus or lernModus_std_Rechts {
|
||
send {Blind}{Right}
|
||
DeadKey := ""
|
||
CompKey := ""
|
||
} return
|