| 1 | /* |
|---|
| 2 | Die eigentliche NEO-Belegung und der Hauptteil des AHK-Treibers. |
|---|
| 3 | |
|---|
| 4 | Reihe 1 |
|---|
| 5 | */ |
|---|
| 6 | |
|---|
| 7 | neo_tot1: |
|---|
| 8 | noCaps = 1 |
|---|
| 9 | EbeneAktualisieren() |
|---|
| 10 | if (Ebene = 1) and !CheckDeadUni("c1",0x0302) |
|---|
| 11 | deadUni(0x02C6, "dead_circumflex", "c1") ; Zirkumflex, tot |
|---|
| 12 | else if (Ebene = 2) and !CheckDeadUni("c2",0x030C) |
|---|
| 13 | deadUni(0x02C7, "dead_caron", "c2") ; Caron, tot |
|---|
| 14 | else if (Ebene = 3) and !CheckDeadUni("c3",0x0306) |
|---|
| 15 | deadUni(0x02D8, "dead_breve", "c3") ; Brevis, tot |
|---|
| 16 | ;CompKey := PriorCompKey |
|---|
| 17 | return |
|---|
| 18 | |
|---|
| 19 | neo_1: |
|---|
| 20 | noCaps=1 |
|---|
| 21 | EbeneAktualisieren() |
|---|
| 22 | if Ebene12 and !(CheckDeadUni("c1",0x00B9) ; Hochgestellte 1 |
|---|
| 23 | or CheckDeadUni("c5",0x2081)) ; Tiefgestellte 1 |
|---|
| 24 | OutputChar12(1,"�",1,"degree") |
|---|
| 25 | else if (Ebene = 3) |
|---|
| 26 | SendUnicodeChar(0x00B9, "onesuperior") ; Hochgestellte 1 |
|---|
| 27 | else if (Ebene = 4) |
|---|
| 28 | SendUnicodeChar(0x2022, "enfilledcircbullet") ; Bullet |
|---|
| 29 | else if (Ebene = 5) |
|---|
| 30 | SendUnicodeChar(0x2081, "U2081") ; Tiefgestellte 1 |
|---|
| 31 | else if (Ebene = 6) |
|---|
| 32 | SendUnicodeChar(0x00AC, "notsign") ; Nicht-Symbol |
|---|
| 33 | return |
|---|
| 34 | |
|---|
| 35 | neo_2: |
|---|
| 36 | noCaps = 1 |
|---|
| 37 | EbeneAktualisieren() |
|---|
| 38 | if (Ebene = 1 and !(CheckDeadUni("c1",0x00B2) ; Hochgestellte 2 |
|---|
| 39 | or CheckDeadUni("c5",0x2082))) ; Tiefgestellte 2 |
|---|
| 40 | OutputChar(2,2) |
|---|
| 41 | else if (Ebene = 2) |
|---|
| 42 | SendUnicodeChar(0x2116, "numerosign") ; Numero |
|---|
| 43 | else if (Ebene = 3) |
|---|
| 44 | SendUnicodeChar(0x00B2, "twosuperior") ; Hochgestellte 2 |
|---|
| 45 | else if (Ebene = 4) |
|---|
| 46 | SendUnicodeChar(0x2023, "U2023") ; Aufz�hlungspfeil |
|---|
| 47 | else if (Ebene = 5) |
|---|
| 48 | SendUnicodeChar(0x2082, "U2082") ; Tiefgestellte 2 |
|---|
| 49 | else if (Ebene = 6) |
|---|
| 50 | SendUnicodeChar(0x2228, "logicalor") ; Logisches Oder |
|---|
| 51 | return |
|---|
| 52 | |
|---|
| 53 | neo_3: |
|---|
| 54 | noCaps = 1 |
|---|
| 55 | EbeneAktualisieren() |
|---|
| 56 | if Ebene12 and !(CheckDeadUni("c1",0x00B3) ; Hochgestellte 3 |
|---|
| 57 | or CheckDeadUni("c5",0x2083)) ; Tiefgestellte 3 |
|---|
| 58 | OutputChar12(3,"�",3,"section") |
|---|
| 59 | else if (Ebene = 3) |
|---|
| 60 | SendUnicodeChar(0x00B3, "threesuperior") ; Hochgestellte 3 |
|---|
| 61 | else if (Ebene = 4) |
|---|
| 62 | SendUnicodeChar(0x266B, "U226B") ; 2 Achtelnoten |
|---|
| 63 | else if (Ebene = 5) |
|---|
| 64 | SendUnicodeChar(0x2083, "U2083") ; Tiefgestellte 3 |
|---|
| 65 | else if (Ebene = 6) |
|---|
| 66 | SendUnicodeChar(0x2227, "logicaland") ; Logisches Und |
|---|
| 67 | return |
|---|
| 68 | |
|---|
| 69 | neo_4: |
|---|
| 70 | noCaps = 1 |
|---|
| 71 | EbeneAktualisieren() |
|---|
| 72 | if (Ebene = 1) and !(CheckDeadUni("c1",0x2074) ; Hochgestellte 4 |
|---|
| 73 | or CheckDeadUni("c5",0x2084)) ; Tiefgestellte 4 |
|---|
| 74 | OutputChar(4,4) |
|---|
| 75 | else if (Ebene = 2) |
|---|
| 76 | SendUnicodeChar(0x00BB, "guillemotright") ; Double guillemot right |
|---|
| 77 | else if (Ebene = 3) |
|---|
| 78 | OutputChar("�", "U230A") ; Single guillemot right |
|---|
| 79 | else if (Ebene = 4) |
|---|
| 80 | OutputChar("{PgUp}", "Prior") ; Bild auf |
|---|
| 81 | else if (Ebene = 5) |
|---|
| 82 | SendUnicodeChar(0x2113, "U2213") ; Script small L |
|---|
| 83 | else if (Ebene = 6) |
|---|
| 84 | SendUnicodeChar(0x22A5, "uptack") ; Senkrecht |
|---|
| 85 | return |
|---|
| 86 | |
|---|
| 87 | neo_5: |
|---|
| 88 | noCaps = 1 |
|---|
| 89 | EbeneAktualisieren() |
|---|
| 90 | if (Ebene = 1) and !(CheckDeadUni("c1",0x2075) ; Hochgestellte 5 |
|---|
| 91 | or CheckDeadUni("c5",0x2085)) ; Tiefgestellte 5 |
|---|
| 92 | OutputChar(5,5) |
|---|
| 93 | else if (Ebene = 2) |
|---|
| 94 | SendUnicodeChar(0x00AB, "guillemotleft") ; Double guillemot left |
|---|
| 95 | else if (Ebene = 3) |
|---|
| 96 | OutputChar("�", "U2039") ; Single guillemot left |
|---|
| 97 | else if (Ebene = 5) |
|---|
| 98 | SendUnicodeChar(0x0AF8, "femalesymbol") ; Kreuz (Dagger) |
|---|
| 99 | else if (Ebene = 6) |
|---|
| 100 | SendUnicodeChar(0x2221, "U2221") ; Winkel |
|---|
| 101 | return |
|---|
| 102 | |
|---|
| 103 | neo_6: |
|---|
| 104 | noCaps = 1 |
|---|
| 105 | EbeneAktualisieren() |
|---|
| 106 | if (Ebene = 1) and !(CheckDeadUni("c1",0x2076) ; Hochgestellte 6 |
|---|
| 107 | or CheckDeadUni("c5",0x2086)) ; Tiefgestellte 6 |
|---|
| 108 | OutputChar(6,6) |
|---|
| 109 | else if (Ebene = 2) |
|---|
| 110 | SendUnicodeChar(0x20AC, "EuroSign") |
|---|
| 111 | else if (Ebene = 3) |
|---|
| 112 | OutputChar("�", "cent") |
|---|
| 113 | else if (Ebene = 4) |
|---|
| 114 | OutputChar("�", "sterling") |
|---|
| 115 | else if (Ebene = 5) |
|---|
| 116 | SendUnicodeChar(0x0AF7, "malesymbol") |
|---|
| 117 | else if (Ebene = 6) |
|---|
| 118 | SendUnicodeChar(0x2225, "U2225") ; parallel |
|---|
| 119 | return |
|---|
| 120 | |
|---|
| 121 | neo_7: |
|---|
| 122 | noCaps = 1 |
|---|
| 123 | EbeneAktualisieren() |
|---|
| 124 | if Ebene12 and !(CheckDeadUni("c1",0x2077) ; Hochgestellte 7 |
|---|
| 125 | or CheckDeadUni("c5",0x2087)) ; Tiefgestellte 7 |
|---|
| 126 | OutputChar12(7,"$",7,"dollar") |
|---|
| 127 | else if (Ebene = 3) |
|---|
| 128 | OutputChar("�", "yen") |
|---|
| 129 | else if (Ebene = 4) |
|---|
| 130 | OutputChar("�", "currency") |
|---|
| 131 | else if (Ebene = 5) |
|---|
| 132 | SendUnicodeChar(0x03BA, "Greek_kappa") ; greek small letter kappa |
|---|
| 133 | else if (Ebene = 6) |
|---|
| 134 | SendUnicodeChar(0x2209, "notelementof") ; nicht Element von |
|---|
| 135 | return |
|---|
| 136 | |
|---|
| 137 | neo_8: |
|---|
| 138 | noCaps = 1 |
|---|
| 139 | EbeneAktualisieren() |
|---|
| 140 | if Ebene12 and !(CheckDeadUni("c1",0x2078) ; Hochgestellte 8 |
|---|
| 141 | or CheckDeadUni("c5",0x2088)) ; Tiefgestellte 8 |
|---|
| 142 | OutputChar12(8,"�",8,"doublelowquotemark") |
|---|
| 143 | else if (Ebene = 3) |
|---|
| 144 | OutputChar("�", "singlelowquotemark") |
|---|
| 145 | else if (Ebene = 4) |
|---|
| 146 | OutputChar("{NumpadDiv}", "KP_Divide") |
|---|
| 147 | else if (Ebene = 5) |
|---|
| 148 | SendUnicodeChar(0x27E8, "U27E8") ; bra (�ffnende spitze Klammer) |
|---|
| 149 | else if (Ebene = 6) |
|---|
| 150 | SendUnicodeChar(0x2204, "U2204") ; es existiert nicht |
|---|
| 151 | return |
|---|
| 152 | |
|---|
| 153 | neo_9: |
|---|
| 154 | noCaps = 1 |
|---|
| 155 | EbeneAktualisieren() |
|---|
| 156 | if Ebene12 and !(CheckDeadUni("c1",0x2079) ; Hochgestellte 9 |
|---|
| 157 | or CheckDeadUni("c5",0x2089)) ; Tiefgestellte 9 |
|---|
| 158 | OutputChar12(9,"�",9,"leftdoublequotemark") |
|---|
| 159 | else if (Ebene = 3) |
|---|
| 160 | OutputChar("�", "leftsinglequotemark") |
|---|
| 161 | else if (Ebene = 4) |
|---|
| 162 | OutputChar("{NumpadMult}", "KP_Multiply") |
|---|
| 163 | else if (Ebene = 5) |
|---|
| 164 | SendUnicodeChar(0x27E9, "U27E9") ; ket (schlie�ende spitze Klammer) |
|---|
| 165 | else if (Ebene = 6) |
|---|
| 166 | SendUnicodeChar(0x2226, "U2226") ; nicht parallel |
|---|
| 167 | return |
|---|
| 168 | |
|---|
| 169 | neo_0: |
|---|
| 170 | noCaps = 1 |
|---|
| 171 | EbeneAktualisieren() |
|---|
| 172 | if Ebene12 and !(CheckDeadUni("c1",0x2070) ; Hochgestellte 0 |
|---|
| 173 | or CheckDeadUni("c5",0x2080)) ; Tiefgestellte 0 |
|---|
| 174 | OutputChar12(0,"�",0,"rightdoublequotemark") |
|---|
| 175 | else if (Ebene = 3) |
|---|
| 176 | OutputChar("�", "rightsingleqoutemark") |
|---|
| 177 | else if (Ebene = 4) |
|---|
| 178 | OutputChar("{NumpadSub}", "minus") ; s. Mail vom Sun, 14 Sep 2008 00:33:47 +0200 |
|---|
| 179 | else if (Ebene = 6) |
|---|
| 180 | SendUnicodeChar(0x2205, "emptyset") ; leere Menge |
|---|
| 181 | return |
|---|
| 182 | |
|---|
| 183 | neo_strich: |
|---|
| 184 | noCaps = 1 |
|---|
| 185 | EbeneAktualisieren() |
|---|
| 186 | if (Ebene = 1) |
|---|
| 187 | OutputChar("-", "minus") ; Bindestrich-Minus |
|---|
| 188 | else if (Ebene = 2) |
|---|
| 189 | SendUnicodeChar(0x2013, "endash") ; Gedankenstrich |
|---|
| 190 | else if (Ebene = 3) |
|---|
| 191 | SendUnicodeChar(0x2014, "emdash") ; Englischer Gedankenstrich (Geviertstrich) |
|---|
| 192 | else if (Ebene = 5) |
|---|
| 193 | SendUnicodeChar(0x2011, "U2011") ; gesch�tzter Bindestrich (Bindestrich ohne Zeilenumbruch) |
|---|
| 194 | else if (Ebene = 6) |
|---|
| 195 | SendUnicodeChar(0x00AD, "hyphen") ; weicher Bindestrich |
|---|
| 196 | return |
|---|
| 197 | |
|---|
| 198 | neo_tot2: |
|---|
| 199 | noCaps = 1 |
|---|
| 200 | EbeneAktualisieren() |
|---|
| 201 | if (Ebene = 1) and !CheckDeadUni("a1",0x0301) |
|---|
| 202 | deadAsc("{�}{space}", "dead_acute", "a1") ; Akut, tot |
|---|
| 203 | else if (Ebene = 2) and !CheckDeadUni("a2",0x0300) |
|---|
| 204 | deadAsc("``{space}", "dead_grave", "a2") ; Gravis, tot |
|---|
| 205 | else if (Ebene = 3) and !CheckDeadUni("a3",0x0327) |
|---|
| 206 | deadAsc("�", "dead_cedilla", "a3") ; Cedilla, tot |
|---|
| 207 | else if (Ebene = 4) and !CheckDeadUni("a4",0x0307) |
|---|
| 208 | deadUni(0x02D9, "dead_abovedot", "a4") ; Punkt oben |
|---|
| 209 | else if (Ebene = 5) and !CheckDeadUni("a5",0x0328) |
|---|
| 210 | deadUni(0x02DB, "dead_ogonek", "a5") ; Ogonek |
|---|
| 211 | else if (Ebene = 6) and !CheckDeadUni("a6",0x030A) |
|---|
| 212 | deadUni(0x02DA, "dead_abovering", "a6") ; Ring oben |
|---|
| 213 | CompKey := PriorCompKey |
|---|
| 214 | return |
|---|
| 215 | |
|---|
| 216 | |
|---|
| 217 | /* |
|---|
| 218 | |
|---|
| 219 | Reihe 2 |
|---|
| 220 | |
|---|
| 221 | */ |
|---|
| 222 | |
|---|
| 223 | neo_x: |
|---|
| 224 | EbeneAktualisieren() |
|---|
| 225 | if Ebene12 |
|---|
| 226 | OutputChar12("x","X","x","X") |
|---|
| 227 | else if (Ebene = 3) |
|---|
| 228 | SendUnicodeChar(0x2026, "ellipsis") ; Ellipse horizontal |
|---|
| 229 | else if (Ebene = 4) |
|---|
| 230 | SendUnicodeChar(0x22EE, "U22EE") ; Ellipse vertikal |
|---|
| 231 | else if (Ebene = 5) |
|---|
| 232 | SendUnicodeChar(0x03BE, "Greek_xi") ; xi |
|---|
| 233 | else if (Ebene = 6) |
|---|
| 234 | SendUnicodeChar(0x039E, "Greek_XI") ; Xi |
|---|
| 235 | return |
|---|
| 236 | |
|---|
| 237 | neo_v: |
|---|
| 238 | EbeneAktualisieren() |
|---|
| 239 | if (Ebene12 and !(CheckDeadUni12("c6",0x1E7F,0x1E7E))) |
|---|
| 240 | OutputChar12("v","V","v","V") |
|---|
| 241 | else if (Ebene = 3) |
|---|
| 242 | OutputChar("_","underscore") |
|---|
| 243 | else if (Ebene = 4) and (!lernModus or lernModus_neo_Backspace) |
|---|
| 244 | OutputChar("{Backspace}", "BackSpace") |
|---|
| 245 | else if (Ebene = 6) |
|---|
| 246 | SendUnicodeChar(0x2259, "U2259") ; estimates/entspricht |
|---|
| 247 | return |
|---|
| 248 | |
|---|
| 249 | neo_l: |
|---|
| 250 | EbeneAktualisieren() |
|---|
| 251 | if (Ebene12 and !(CheckDeadUni12("a1",0x013A,0x0139) |
|---|
| 252 | or CheckDeadUni12("a3",0x013C,0x013B) |
|---|
| 253 | or CheckDeadUni12("c2",0x013E,0x013D) |
|---|
| 254 | or CheckDeadUni12("c4",0x0140,0x013F) |
|---|
| 255 | or CheckDeadUni12("c6",0x1E37,0x1E36) |
|---|
| 256 | or CheckDeadUni12("t4",0x0142,0x0141))) |
|---|
| 257 | OutputChar12("l","L","l","L") |
|---|
| 258 | else if (Ebene = 3) |
|---|
| 259 | OutputChar("[", "bracketleft") |
|---|
| 260 | else if (Ebene = 4) |
|---|
| 261 | OutputChar("{Up}", "Up") |
|---|
| 262 | else if (Ebene = 5) |
|---|
| 263 | SendUnicodeChar(0x03BB, "Greek_lambda") ; lambda |
|---|
| 264 | else if (Ebene = 6) |
|---|
| 265 | SendUnicodeChar(0x039B, "Greek_LAMBDA") ; Lambda |
|---|
| 266 | return |
|---|
| 267 | |
|---|
| 268 | neo_c: |
|---|
| 269 | EbeneAktualisieren() |
|---|
| 270 | if (Ebene12 and !(CheckDeadUni12("a1",0x0107,0x0106) |
|---|
| 271 | or CheckDeadUni12("a3",0x00E7,0x00E6) |
|---|
| 272 | or CheckDeadUni12("a4",0x010B,0x010A) |
|---|
| 273 | or CheckDeadUni12("c1",0x0109,0x0108) |
|---|
| 274 | or CheckDeadUni12("c2",0x010D,0x010C))) |
|---|
| 275 | OutputChar12("c","C","c","C") |
|---|
| 276 | else if (Ebene = 3) |
|---|
| 277 | OutputChar("]", "bracketright") |
|---|
| 278 | else if (Ebene = 4) and (!lernModus or lernModus_neo_Entf) |
|---|
| 279 | OutputChar("{Del}", "Delete") |
|---|
| 280 | else if (Ebene = 5) |
|---|
| 281 | SendUnicodeChar(0x03C7, "Greek_chi") ; chi |
|---|
| 282 | else if (Ebene = 6) |
|---|
| 283 | SendUnicodeChar(0x2102, "U2102") ; C (Komplexe Zahlen)] |
|---|
| 284 | return |
|---|
| 285 | |
|---|
| 286 | neo_w: |
|---|
| 287 | EbeneAktualisieren() |
|---|
| 288 | if (Ebene12 and !(CheckDeadUni12("c1",0x0175,0x0174))) |
|---|
| 289 | OutputChar12("w","W","w","W") |
|---|
| 290 | else if (Ebene = 3) |
|---|
| 291 | SendUnicodeChar(0x005E, "asciicircum") ; Zirkumflex |
|---|
| 292 | else if (Ebene = 4) |
|---|
| 293 | OutputChar("{Insert}", "Insert") ; Einfg |
|---|
| 294 | else if (Ebene = 5) |
|---|
| 295 | SendUnicodeChar(0x03C9, "Greek_omega") ; omega |
|---|
| 296 | else if (Ebene = 6) |
|---|
| 297 | SendUnicodeChar(0x03A9, "Greek_OMEGA") ; Omega |
|---|
| 298 | return |
|---|
| 299 | |
|---|
| 300 | neo_k: |
|---|
| 301 | EbeneAktualisieren() |
|---|
| 302 | if (Ebene12 and !(CheckDeadUni12("a3",0x0137,0x0136) |
|---|
| 303 | or CheckDeadUni12("c6",0x1E33,0x1E32))) |
|---|
| 304 | OutputChar12("k","K","k","K") |
|---|
| 305 | else if (Ebene = 3) |
|---|
| 306 | OutputChar("{!}", "exclam") |
|---|
| 307 | else if (Ebene = 4) |
|---|
| 308 | OutputChar("�", "exclamdown") |
|---|
| 309 | else if (Ebene = 5) |
|---|
| 310 | SendUnicodeChar(0x03F0, "U03F0") ; kappa symbol (varkappa) |
|---|
| 311 | else if (Ebene = 6) |
|---|
| 312 | SendUnicodeChar(0x221A, "radical") ; Wurzel |
|---|
| 313 | return |
|---|
| 314 | |
|---|
| 315 | neo_h: |
|---|
| 316 | EbeneAktualisieren() |
|---|
| 317 | if (Ebene12 and !(CheckDeadUni12("a4",0x1E23,0x1E22) |
|---|
| 318 | or CheckDeadUni12("c1",0x0125,0x0124) |
|---|
| 319 | or CheckDeadUni12("c5",0x0127,0x0126) |
|---|
| 320 | or CheckDeadUni12("c6",0x1E25,0x1E24))) |
|---|
| 321 | OutputChar12("h","H","h","H") |
|---|
| 322 | else if ((Ebene = 3) and !(CheckDeadUni("t4",0x2264))) ; kleiner gleich |
|---|
| 323 | OutputChar("<", "less") |
|---|
| 324 | else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2077) |
|---|
| 325 | or CheckDeadUni("t4",0x2087))) |
|---|
| 326 | OutputChar("{Numpad7}", "KP_7") |
|---|
| 327 | else if (Ebene = 5) |
|---|
| 328 | SendUnicodeChar(0x03C8, "Greek_psi") ; psi |
|---|
| 329 | else if (Ebene = 6) |
|---|
| 330 | SendUnicodeChar(0x03A8, "Greek_PSI") ; Psi |
|---|
| 331 | return |
|---|
| 332 | |
|---|
| 333 | neo_g: |
|---|
| 334 | EbeneAktualisieren() |
|---|
| 335 | if (Ebene12 and !(CheckDeadUni12("a3",0x0123,0x0122) |
|---|
| 336 | or CheckDeadUni12("a4",0x0121,0x0120) |
|---|
| 337 | or CheckDeadUni12("c1",0x011D,0x011C) |
|---|
| 338 | or CheckDeadUni12("c3",0x011F,0x011E))) |
|---|
| 339 | OutputChar12("g","G","g","G") |
|---|
| 340 | else if ((Ebene = 3) and !(CheckDeadUni("t4",0x2265))) ; gr��er gleich |
|---|
| 341 | OutputChar(">", "greater") |
|---|
| 342 | else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2078) |
|---|
| 343 | or CheckDeadUni("t4",0x2088))) |
|---|
| 344 | OutputChar("{Numpad8}", "KP_8") |
|---|
| 345 | else if (Ebene = 5) |
|---|
| 346 | SendUnicodeChar(0x03B3, "Greek_gamma") ; gamma |
|---|
| 347 | else if (Ebene = 6) |
|---|
| 348 | SendUnicodeChar(0x0393, "Greek_GAMMA") ; Gamma |
|---|
| 349 | return |
|---|
| 350 | |
|---|
| 351 | neo_f: |
|---|
| 352 | EbeneAktualisieren() |
|---|
| 353 | if (Ebene12 and !(CheckDeadUni12("a4",0x1E1F,0x1E1E) |
|---|
| 354 | or CheckDeadUni12("t4",0x0192,0x0191))) |
|---|
| 355 | OutputChar12("f","F","f","F") |
|---|
| 356 | else if ((Ebene = 3) and !(CheckDeadUni("a6",0x2257) ; ring equal to |
|---|
| 357 | or CheckDeadUni("c1",0x2259) ; entspricht |
|---|
| 358 | or CheckDeadUni("c2",0x225A) ; EQUIANGULAR TO |
|---|
| 359 | or CheckDeadUni("t2",0x2261) ; identisch |
|---|
| 360 | or CheckDeadUni("t1",0x2245) ; ungef�hr gleich |
|---|
| 361 | or CheckDeadUni("t4",0x2260))) ; ungleich |
|---|
| 362 | OutputChar("`=", "equal") |
|---|
| 363 | else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2079) |
|---|
| 364 | or CheckDeadUni("t4",0x2089))) |
|---|
| 365 | OutputChar("{Numpad9}", "KP_9") |
|---|
| 366 | else if (Ebene = 5) |
|---|
| 367 | SendUnicodeChar(0x03C6, "Greek_phi") ; phi |
|---|
| 368 | else if (Ebene = 6) |
|---|
| 369 | SendUnicodeChar(0x03A6, "Greek_PHI") ; Phi |
|---|
| 370 | return |
|---|
| 371 | |
|---|
| 372 | neo_q: |
|---|
| 373 | EbeneAktualisieren() |
|---|
| 374 | if (Ebene12) |
|---|
| 375 | OutputChar12("q","Q","q","Q") |
|---|
| 376 | else if (Ebene = 3) |
|---|
| 377 | OutputChar("{&}", "ampersand") |
|---|
| 378 | else if ((Ebene = 4) and !(CheckDeadUni("c1",0x207A) |
|---|
| 379 | or CheckDeadUni("c5",0x208A))) |
|---|
| 380 | OutputChar("{NumPadAdd}", "plus") ; !!! |
|---|
| 381 | else if (Ebene = 5) |
|---|
| 382 | SendUnicodeChar(0x03D5, "U03D5") ; phi symbol (varphi) |
|---|
| 383 | else if (Ebene = 6) |
|---|
| 384 | SendUnicodeChar(0x211A, "U211A") ; Q (rationale Zahlen) |
|---|
| 385 | return |
|---|
| 386 | |
|---|
| 387 | neo_sz: |
|---|
| 388 | EbeneAktualisieren() |
|---|
| 389 | if (Ebene = 1) |
|---|
| 390 | if LangSTastatur |
|---|
| 391 | OutputChar("s", "s") |
|---|
| 392 | else OutputChar("�", "ssharp") |
|---|
| 393 | else if (Ebene = 2) |
|---|
| 394 | SendUnicodeChar(0x1E9E, "U1E9E") ; versal-� |
|---|
| 395 | else if (Ebene = 3) |
|---|
| 396 | if LangSTastatur |
|---|
| 397 | OutputChar("�", "ssharp") |
|---|
| 398 | else SendUnicodeChar(0x017F, "17F") ; langes s |
|---|
| 399 | else if (Ebene = 5) |
|---|
| 400 | SendUnicodeChar(0x03C2, "Greek_finalsmallsigma") ; varsigma |
|---|
| 401 | else if (Ebene = 6) |
|---|
| 402 | SendUnicodeChar(0x2218, "jot") ; Verkn�pfungsoperator |
|---|
| 403 | return |
|---|
| 404 | |
|---|
| 405 | |
|---|
| 406 | neo_tot3: |
|---|
| 407 | noCaps = 1 |
|---|
| 408 | EbeneAktualisieren() |
|---|
| 409 | if (Ebene = 1) and !CheckDeadUni("t1",0x0303) |
|---|
| 410 | deadUni(0x02DC, "dead_tilde", "t1") ; Tilde, tot |
|---|
| 411 | else if (Ebene = 2) and !CheckDeadUni("t2",0x0304) |
|---|
| 412 | deadUni(0x00AF, "dead_macron", "t2") ; Macron, tot |
|---|
| 413 | else if (Ebene = 3) and !CheckDeadUni("t3",0x0308) |
|---|
| 414 | deadUni(0x00A8, "dead_diaeresis", "t3") ; Di�rese |
|---|
| 415 | else if (Ebene = 4) and !CheckDeadUni("t4",0x0338) |
|---|
| 416 | deadUni(0x002F, "", "t4") ; Schr�gstrich, tot |
|---|
| 417 | else if (Ebene = 5) and !CheckDeadUni("t5",0x030B) |
|---|
| 418 | deadUni(0x02DD, "dead_doubleacute", "t5") ; Doppelakut |
|---|
| 419 | else if (Ebene = 6) and !CheckDeadUni("t6",0x0326) |
|---|
| 420 | deadUni(0x02CF, "", "t6") ; Komma drunter, tot |
|---|
| 421 | return |
|---|
| 422 | |
|---|
| 423 | |
|---|
| 424 | /* |
|---|
| 425 | |
|---|
| 426 | Reihe 3 |
|---|
| 427 | |
|---|
| 428 | */ |
|---|
| 429 | |
|---|
| 430 | neo_u: |
|---|
| 431 | EbeneAktualisieren() |
|---|
| 432 | if (Ebene12 and !(CheckDeadUni12("a1",0x00FA,0x00DA) |
|---|
| 433 | or CheckDeadUni12("a2",0x00F9,0x00D9) |
|---|
| 434 | or CheckDeadUni12("a5",0x0173,0x0172) |
|---|
| 435 | or CheckDeadUni12("a6",0x016F,0x016E) |
|---|
| 436 | or CheckDeadUni12("c1",0x00FB,0x00DB) |
|---|
| 437 | or CheckDeadUni12("c2",0x01D4,0x01D3) |
|---|
| 438 | or CheckDeadUni12("c3",0x016D,0x016C) |
|---|
| 439 | or CheckDeadUni12("t1",0x0169,0x0168) |
|---|
| 440 | or CheckDeadUni12("t2",0x016B,0x016A) |
|---|
| 441 | or CheckDeadAsc12("t3","�","�") |
|---|
| 442 | or CheckDeadUni12("t5",0x0171,0x0170))) |
|---|
| 443 | OutputChar12("u","U","u","U") |
|---|
| 444 | else if (Ebene = 3) |
|---|
| 445 | OutputChar("\", "backslash") |
|---|
| 446 | else if (Ebene = 4) |
|---|
| 447 | OutputChar("{Home}", "Home") |
|---|
| 448 | else if (Ebene = 6) |
|---|
| 449 | SendUnicodeChar(0x222E, "U222E") ; contour integral |
|---|
| 450 | return |
|---|
| 451 | |
|---|
| 452 | neo_i: |
|---|
| 453 | EbeneAktualisieren() |
|---|
| 454 | if (Ebene12 and !(CheckDeadUni12("a1",0x00ED,0x00CD) |
|---|
| 455 | or CheckDeadUni12("a2",0x00EC,0x00CC) |
|---|
| 456 | or CheckDeadUni12("a4",0x012F,0x012E) |
|---|
| 457 | or CheckDeadUni12("a5",0x0131,0x0130) |
|---|
| 458 | or CheckDeadUni12("c1",0x00EE,0x00CE) |
|---|
| 459 | or CheckDeadUni12("c2",0x01D0,0x01CF) |
|---|
| 460 | or CheckDeadUni12("c3",0x012D,0x012C) |
|---|
| 461 | or CheckDeadUni12("t1",0x0129,0x0128) |
|---|
| 462 | or CheckDeadUni12("t2",0x012B,0x012A) |
|---|
| 463 | or CheckDeadAsc12("t3","�","�"))) |
|---|
| 464 | OutputChar12("i","I","i","I") |
|---|
| 465 | else if (Ebene = 3) |
|---|
| 466 | OutputChar("`/", "slash") |
|---|
| 467 | else if (Ebene = 4) |
|---|
| 468 | OutputChar("{Left}", "Left") |
|---|
| 469 | else if (Ebene = 5) |
|---|
| 470 | SendUnicodeChar(0x03B9, "Greek_iota") ; iota |
|---|
| 471 | else if (Ebene = 6) |
|---|
| 472 | SendUnicodeChar(0x222B, "integral") ; integral |
|---|
| 473 | return |
|---|
| 474 | |
|---|
| 475 | neo_a: |
|---|
| 476 | EbeneAktualisieren() |
|---|
| 477 | if (Ebene12 and !(CheckDeadUni12("a1",0x00E1,0x00C1) |
|---|
| 478 | or CheckDeadUni12("a2",0x00E0,0x00C0) |
|---|
| 479 | or CheckDeadUni12("a5",0x0105,0x0104) |
|---|
| 480 | or CheckDeadAsc12("a6","�","�") |
|---|
| 481 | or CheckDeadUni12("c1",0x00E2,0x00C2) |
|---|
| 482 | or CheckDeadUni12("c2",0x01CE,0x01CD) |
|---|
| 483 | or CheckDeadUni12("c3",0x0103,0x0102) |
|---|
| 484 | or CheckDeadUni12("t1",0x00E3,0x00C3) |
|---|
| 485 | or CheckDeadUni12("t2",0x0101,0x0100) |
|---|
| 486 | or CheckDeadAsc12("t3","�","�"))) |
|---|
| 487 | OutputChar12("a","A","a","A") |
|---|
| 488 | else if (Ebene = 3) |
|---|
| 489 | OutputChar("{{}", "braceleft") |
|---|
| 490 | else if (Ebene = 4) |
|---|
| 491 | OutputChar("{Down}", "Down") |
|---|
| 492 | else if (Ebene = 5) |
|---|
| 493 | SendUnicodeChar(0x03B1, "Greek_alpha") ; alpha |
|---|
| 494 | else if (Ebene = 6) |
|---|
| 495 | SendUnicodeChar(0x2200, "U2200") ; f�r alle |
|---|
| 496 | return |
|---|
| 497 | |
|---|
| 498 | neo_e: |
|---|
| 499 | EbeneAktualisieren() |
|---|
| 500 | if (Ebene12 and !(CheckDeadUni12("a1",0x00E9,0x00C9) |
|---|
| 501 | or CheckDeadUni12("a2",0x00E8,0x00C8) |
|---|
| 502 | or CheckDeadUni12("a4",0x0117,0x0116) |
|---|
| 503 | or CheckDeadUni12("a5",0x0119,0x0118) |
|---|
| 504 | or CheckDeadUni12("c1",0x00EA,0x00CA) |
|---|
| 505 | or CheckDeadUni12("c2",0x011B,0x011A) |
|---|
| 506 | or CheckDeadUni12("c3",0x0115,0x0114) |
|---|
| 507 | or CheckDeadUni12("t1",0x1EBD,0x1EBC) |
|---|
| 508 | or CheckDeadUni12("t2",0x0113,0x0112) |
|---|
| 509 | or CheckDeadAsc12("t3","�","�"))) |
|---|
| 510 | OutputChar12("e","E","e","E") |
|---|
| 511 | else if (Ebene = 3) |
|---|
| 512 | OutputChar("{}}", "braceright") |
|---|
| 513 | else if (Ebene = 4) |
|---|
| 514 | OutputChar("{Right}", "Right") |
|---|
| 515 | else if (Ebene = 5) |
|---|
| 516 | SendUnicodeChar(0x03B5, "Greek_epsilon") ; epsilon |
|---|
| 517 | else if (Ebene = 6) |
|---|
| 518 | SendUnicodeChar(0x2203, "U2203") ; es existiert |
|---|
| 519 | return |
|---|
| 520 | |
|---|
| 521 | neo_o: |
|---|
| 522 | EbeneAktualisieren() |
|---|
| 523 | if (Ebene12 and !(CheckDeadUni12("a1",0x00F3,0x00D3) |
|---|
| 524 | or CheckDeadUni12("a2",0x00F2,0x00D2) |
|---|
| 525 | or CheckDeadUni12("a5",0x01EB,0x01EA) |
|---|
| 526 | or CheckDeadUni12("c1",0x00F4,0x00D4) |
|---|
| 527 | or CheckDeadUni12("c2",0x01D2,0x01D1) |
|---|
| 528 | or CheckDeadUni12("c3",0x014F,0x014E) |
|---|
| 529 | or CheckDeadUni12("t1",0x00F5,0x00D5) |
|---|
| 530 | or CheckDeadUni12("t2",0x014D,0x014C) |
|---|
| 531 | or CheckDeadAsc12("t3","�","�") |
|---|
| 532 | or CheckDeadUni12("t4",0x00F8,0x00D8) |
|---|
| 533 | or CheckDeadUni12("t5",0x0151,0x0150))) |
|---|
| 534 | OutputChar12("o","O","o","O") |
|---|
| 535 | else if (Ebene = 3) |
|---|
| 536 | OutputChar("*", "asterisk") |
|---|
| 537 | else if (Ebene = 4) |
|---|
| 538 | OutputChar("{End}", "End") |
|---|
| 539 | else if (Ebene = 5) |
|---|
| 540 | SendUnicodeChar(0x03BF, "Greek_omicron") ; omicron |
|---|
| 541 | else if (Ebene = 6) |
|---|
| 542 | SendUnicodeChar(0x2208, "elementof") ; element of |
|---|
| 543 | return |
|---|
| 544 | |
|---|
| 545 | neo_s: |
|---|
| 546 | EbeneAktualisieren() |
|---|
| 547 | if (Ebene12 and !(CheckDeadUni12("a1",0x015B,0x015A) |
|---|
| 548 | or CheckDeadUni12("a3",0x015F,0x015E) |
|---|
| 549 | or CheckDeadUni12("a4",0x1E61,0x1E60) |
|---|
| 550 | or CheckDeadUni12("c1",0x015D,0x015C) |
|---|
| 551 | or CheckDeadUni12("c2",0x0161,0x0160) |
|---|
| 552 | or CheckDeadUni12("c6",0x1E63,0x1A62))) { |
|---|
| 553 | if LangSTastatur and (Ebene = 1) |
|---|
| 554 | SendUnicodeChar(0x017F, "17F") ; langes s |
|---|
| 555 | else OutputChar12("s","S","s","S") |
|---|
| 556 | } else if (Ebene = 3) |
|---|
| 557 | OutputChar("?", "question") |
|---|
| 558 | else if Ebene7 { |
|---|
| 559 | if LangSTastatur |
|---|
| 560 | OutputChar("s", "s") |
|---|
| 561 | else SendUnicodeChar(0x017F, "17F") |
|---|
| 562 | } else if (Ebene = 4) |
|---|
| 563 | OutputChar("�", "questiondown") |
|---|
| 564 | else if (Ebene = 5) |
|---|
| 565 | SendUnicodeChar(0x03C3, "Greek_sigma") ;sigma |
|---|
| 566 | else if (Ebene = 6) |
|---|
| 567 | SendUnicodeChar(0x03A3, "Greek_SIGMA") ;Sigma |
|---|
| 568 | return |
|---|
| 569 | |
|---|
| 570 | neo_n: |
|---|
| 571 | EbeneAktualisieren() |
|---|
| 572 | if (Ebene12 and !(CheckDeadUni12("a1",0x0144,0x0143) |
|---|
| 573 | or CheckDeadUni12("a3",0x0146,0x0145) |
|---|
| 574 | or CheckDeadUni12("a4",0x1E45,0x1E44) |
|---|
| 575 | or CheckDeadUni12("c2",0x0148,0x0147) |
|---|
| 576 | or CheckDeadUni12("t1",0x00F1,0x00D1))) |
|---|
| 577 | OutputChar12("n","N","n","N") |
|---|
| 578 | else if (Ebene = 3) |
|---|
| 579 | OutputChar("(", "parenleft") |
|---|
| 580 | else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2074) |
|---|
| 581 | or CheckDeadUni("t4",0x2084))) |
|---|
| 582 | OutputChar("{Numpad4}", "KP_4") |
|---|
| 583 | else if (Ebene = 5) |
|---|
| 584 | SendUnicodeChar(0x03BD, "Greek_nu") ; nu |
|---|
| 585 | else if (Ebene = 6) |
|---|
| 586 | SendUnicodeChar(0x2115, "U2115") ; N (nat�rliche Zahlen) |
|---|
| 587 | return |
|---|
| 588 | |
|---|
| 589 | neo_r: |
|---|
| 590 | EbeneAktualisieren() |
|---|
| 591 | if (Ebene12 and !(CheckDeadUni12("a1",0x0155,0x0154) |
|---|
| 592 | or CheckDeadUni12("a3",0x0157,0x0156) |
|---|
| 593 | or CheckDeadUni12("a4",0x0E59,0x0E58) |
|---|
| 594 | or CheckDeadUni12("c2",0x0159,0x0158) |
|---|
| 595 | or CheckDeadUni12("t3",0x1E5B,0x1E5A))) |
|---|
| 596 | OutputChar12("r","R","r","R") |
|---|
| 597 | else if (Ebene = 3) |
|---|
| 598 | OutputChar(")", "parenright") |
|---|
| 599 | else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2075) |
|---|
| 600 | or CheckDeadUni("t4",0x2085))) |
|---|
| 601 | OutputChar("{Numpad5}", "KP_5") |
|---|
| 602 | else if (Ebene = 5) |
|---|
| 603 | SendUnicodeChar(0x03F1, "U03F1") ; rho symbol (varrho) |
|---|
| 604 | else if (Ebene = 6) |
|---|
| 605 | SendUnicodeChar(0x211D, "U221D") ; R (reelle Zahlen) |
|---|
| 606 | return |
|---|
| 607 | |
|---|
| 608 | neo_t: |
|---|
| 609 | EbeneAktualisieren() |
|---|
| 610 | if (Ebene12 and !(CheckDeadUni12("a3",0x0163,0x0162) |
|---|
| 611 | or CheckDeadUni12("a4",0x1E6B,0x1E6A) |
|---|
| 612 | or CheckDeadUni12("c2",0x0165,0x0164) |
|---|
| 613 | or CheckDeadUni12("c5",0x0167,0x0166) |
|---|
| 614 | or CheckDeadUni12("t4",0x1E6D,0x1E6C) |
|---|
| 615 | or CheckDeadUni("t3",0x1E97))) |
|---|
| 616 | OutputChar12("t","T","t","T") |
|---|
| 617 | else if (Ebene = 3) |
|---|
| 618 | OutputChar("-", "minus") ; Bisstrich |
|---|
| 619 | else if (Ebene = 4) and !(CheckDeadUni("c1",0x2076) |
|---|
| 620 | or CheckDeadUni("c5",0x2086)) |
|---|
| 621 | OutputChar("{Numpad6}", "KP_6") |
|---|
| 622 | else if (Ebene = 5) |
|---|
| 623 | SendUnicodeChar(0x03C4, "Greek_tau") ; tau |
|---|
| 624 | else if (Ebene = 6) |
|---|
| 625 | SendUnicodeChar(0x2202, "partialderivative") ; partielle Ableitung |
|---|
| 626 | return |
|---|
| 627 | |
|---|
| 628 | neo_d: |
|---|
| 629 | EbeneAktualisieren() |
|---|
| 630 | if (Ebene12 and !(CheckDeadUni12("a4",0x1E0B,0x1E0A) |
|---|
| 631 | or CheckDeadUni12("c2",0x010F,0x010E) |
|---|
| 632 | or CheckDeadUni12("t2",0x0111,0x0110) |
|---|
| 633 | or CheckDeadUni12("t3",0x1E0D,0x1E0C) |
|---|
| 634 | or CheckDeadUni12("t4",0x00F0,0x00D0))) |
|---|
| 635 | OutputChar12("d","D","d","D") |
|---|
| 636 | else if (Ebene = 3) |
|---|
| 637 | OutputChar(":", "colon") |
|---|
| 638 | else if (Ebene = 4) |
|---|
| 639 | OutputChar("`,", "comma") |
|---|
| 640 | else if (Ebene = 5) |
|---|
| 641 | SendUnicodeChar(0x03B4, "Greek_delta") ; delta |
|---|
| 642 | else if (Ebene = 6) |
|---|
| 643 | SendUnicodeChar(0x0394, "Greek_DELTA") ; Delta |
|---|
| 644 | return |
|---|
| 645 | |
|---|
| 646 | neo_y: |
|---|
| 647 | EbeneAktualisieren() |
|---|
| 648 | if (Ebene12 and !(CheckDeadUni12("a1",0x00FD,0x00DD) |
|---|
| 649 | or CheckDeadUni12("c1",0x0177,0x0176) |
|---|
| 650 | or CheckDeadAsc12("t3","�","�"))) |
|---|
| 651 | OutputChar12("y","Y","y","Y") |
|---|
| 652 | else if (Ebene = 3) |
|---|
| 653 | OutputChar("@", "at") |
|---|
| 654 | else if (Ebene = 4) |
|---|
| 655 | OutputChar(".", "period") |
|---|
| 656 | else if (Ebene = 5) |
|---|
| 657 | SendUnicodeChar(0x03C5, "Greek_upsilon") ; upsilon |
|---|
| 658 | else if (Ebene = 6) |
|---|
| 659 | SendUnicodeChar(0x2207, "nabla") ; nabla |
|---|
| 660 | return |
|---|
| 661 | |
|---|
| 662 | /* |
|---|
| 663 | |
|---|
| 664 | Reihe 4 |
|---|
| 665 | |
|---|
| 666 | */ |
|---|
| 667 | |
|---|
| 668 | neo_�: |
|---|
| 669 | EbeneAktualisieren() |
|---|
| 670 | if (Ebene12 and !(CheckDeadUni12("a1",0x01D8,0x01D7) |
|---|
| 671 | or CheckDeadUni12("a2",0x01DC,0x01DB) |
|---|
| 672 | or CheckDeadUni12("c2",0x01DA,0x01D9) |
|---|
| 673 | or CheckDeadUni12("t2",0x01D6,0x01D5))) |
|---|
| 674 | OutputChar12("�","�","udiaeresis","Udiaeresis") |
|---|
| 675 | else if (Ebene = 3) |
|---|
| 676 | if isMod2Locked |
|---|
| 677 | OutputChar("{Shift Up}{#}", "numbersign") |
|---|
| 678 | else OutputChar("{blind}{#}", "numbersign") |
|---|
| 679 | else if (Ebene = 4) |
|---|
| 680 | OutputChar("{Esc}", "Escape") |
|---|
| 681 | else if (Ebene = 6) |
|---|
| 682 | SendUnicodeChar(0x221D, "variation") ; proportional |
|---|
| 683 | return |
|---|
| 684 | |
|---|
| 685 | neo_�: |
|---|
| 686 | EbeneAktualisieren() |
|---|
| 687 | if (Ebene12 and !(CheckDeadUni12("t2",0x022B,0x022A))) |
|---|
| 688 | OutputChar12("�","�","odiaeresis","Odiaeresis") |
|---|
| 689 | else if (Ebene = 3) |
|---|
| 690 | OutputChar("$", "dollar") |
|---|
| 691 | else if (Ebene = 4) |
|---|
| 692 | OutputChar("{Tab}", "Tab") |
|---|
| 693 | else if (Ebene = 6) |
|---|
| 694 | SendUnicodeChar(0x2111, "U2221") ; Fraktur I |
|---|
| 695 | return |
|---|
| 696 | |
|---|
| 697 | neo_�: |
|---|
| 698 | EbeneAktualisieren() |
|---|
| 699 | if (Ebene12 and !(CheckDeadUni12("t2",0x01DF,0x01DE))) |
|---|
| 700 | OutputChar12("�","�","adiaeresis","Adiaeresis") |
|---|
| 701 | else if (Ebene = 3) |
|---|
| 702 | OutputChar("|", "bar") |
|---|
| 703 | else if (Ebene = 4) |
|---|
| 704 | OutputChar("{PgDn}", "Next") |
|---|
| 705 | else if (Ebene = 5) |
|---|
| 706 | SendUnicodeChar(0x03B7, "Greek_eta") ; eta |
|---|
| 707 | else if (Ebene = 6) |
|---|
| 708 | SendUnicodeChar(0x211C, "U221C") ; Fraktur R |
|---|
| 709 | return |
|---|
| 710 | |
|---|
| 711 | neo_p: |
|---|
| 712 | EbeneAktualisieren() |
|---|
| 713 | if (Ebene12 and !(CheckDeadUni12("a4",0x1E57,0x1E56))) |
|---|
| 714 | OutputChar12("p","P","p","P") |
|---|
| 715 | else if ((Ebene = 3) and !(CheckDeadUni("t1",0x2248))) |
|---|
| 716 | OutputChar("~", "asciitilde") |
|---|
| 717 | else if (Ebene = 4) |
|---|
| 718 | OutputChar("{Enter}", "Return") |
|---|
| 719 | else if (Ebene = 5) |
|---|
| 720 | SendUnicodeChar(0x03C0, "Greek_pi") ; pi |
|---|
| 721 | else if (Ebene = 6) |
|---|
| 722 | SendUnicodeChar(0x03A0, "Greek_PI") ; Pi |
|---|
| 723 | return |
|---|
| 724 | |
|---|
| 725 | neo_z: |
|---|
| 726 | EbeneAktualisieren() |
|---|
| 727 | if (Ebene12 and !(CheckDeadUni12("a1",0x017A,0x0179) |
|---|
| 728 | or CheckDeadUni12("a4",0x017C,0x017B) |
|---|
| 729 | or CheckDeadUni12("c2",0x017E,0x017D) |
|---|
| 730 | or CheckDeadUni12("c6",0x1E93,0x1E92))) |
|---|
| 731 | OutputChar12("z","Z","z","Z") |
|---|
| 732 | else if (Ebene = 3) |
|---|
| 733 | OutputChar("``{space}", "grave") ; untot |
|---|
| 734 | else if (Ebene = 5) |
|---|
| 735 | SendUnicodeChar(0x03B6, "Greek_zeta") ; zeta |
|---|
| 736 | else if (Ebene = 6) |
|---|
| 737 | SendUnicodeChar(0x2124, "U2124") ; Z (ganze Zahlen) |
|---|
| 738 | return |
|---|
| 739 | |
|---|
| 740 | neo_b: |
|---|
| 741 | EbeneAktualisieren() |
|---|
| 742 | if (Ebene12 and !(CheckDeadUni12("a4",0x1E03,0x1E02))) |
|---|
| 743 | OutputChar12("b","B","b","B") |
|---|
| 744 | else if (Ebene = 3) |
|---|
| 745 | if isMod2Locked |
|---|
| 746 | OutputChar("{Shift Up}{+}", "plus") |
|---|
| 747 | else OutputChar("{blind}{+}", "plus") |
|---|
| 748 | else if (Ebene = 4) |
|---|
| 749 | OutputChar(":", "colon") |
|---|
| 750 | else if (Ebene = 5) |
|---|
| 751 | SendUnicodeChar(0x03B2, "Greek_beta") ; beta |
|---|
| 752 | else if (Ebene = 6) |
|---|
| 753 | SendUnicodeChar(0x21D2, "implies") ; Doppel-Pfeil rechts |
|---|
| 754 | return |
|---|
| 755 | |
|---|
| 756 | neo_m: |
|---|
| 757 | EbeneAktualisieren() |
|---|
| 758 | if (Ebene12 and !(CheckDeadUni12("a4",0x1E41,0x1E40) |
|---|
| 759 | or CheckDeadUni12("c6",0x1E43,0x1E42))) |
|---|
| 760 | OutputChar12("m","M","m","M") |
|---|
| 761 | else if (Ebene = 3) |
|---|
| 762 | OutputChar("`%", "percent") |
|---|
| 763 | else if ((Ebene = 4) and !(CheckDeadUni("c1",0x00B9) |
|---|
| 764 | or CheckDeadUni("t4",0x2081))) |
|---|
| 765 | OutputChar("{Numpad1}", "KP_1") |
|---|
| 766 | else if (Ebene = 5) |
|---|
| 767 | SendUnicodeChar(0x03BC, "Greek_mu") ; griechisch mu, micro w�re 0x00B5 |
|---|
| 768 | else if (Ebene = 6) |
|---|
| 769 | SendUnicodeChar(0x21D4, "ifonlyif") ; doppelter Doppelpfeil (genau dann wenn) |
|---|
| 770 | return |
|---|
| 771 | |
|---|
| 772 | neo_komma: |
|---|
| 773 | noCaps = 1 |
|---|
| 774 | EbeneAktualisieren() |
|---|
| 775 | if (Ebene = 1) |
|---|
| 776 | OutputChar(",", "comma") |
|---|
| 777 | else if (Ebene = 2) |
|---|
| 778 | SendUnicodeChar(0x22EE, "U22EE") ; vertikale Ellipse |
|---|
| 779 | else if (Ebene = 3) |
|---|
| 780 | OutputChar(Chr(34), "quotedbl") |
|---|
| 781 | else if ((Ebene = 4) and !(CheckDeadUni("c1",0x00B2) |
|---|
| 782 | or CheckDeadUni("c5",0x2082))) |
|---|
| 783 | OutputChar("{Numpad2}", "KP_2") |
|---|
| 784 | else if (Ebene = 5) |
|---|
| 785 | SendUnicodeChar(0x03C1, "Greek_rho") ; rho |
|---|
| 786 | else if (Ebene = 6) |
|---|
| 787 | SendUnicodeChar(0x21D0, "U21D0") ; Doppelpfeil links |
|---|
| 788 | return |
|---|
| 789 | |
|---|
| 790 | neo_punkt: |
|---|
| 791 | noCaps = 1 |
|---|
| 792 | EbeneAktualisieren() |
|---|
| 793 | if (Ebene = 1) |
|---|
| 794 | OutputChar(".", "period") |
|---|
| 795 | else if (Ebene = 2) |
|---|
| 796 | SendUnicodeChar("0x2026", "U2026") ; Ellipse |
|---|
| 797 | else if (Ebene = 3) |
|---|
| 798 | OutputChar("'", "apostrophe") |
|---|
| 799 | else if ((Ebene = 4) and !(CheckDeadUni("c1",0x00B3) |
|---|
| 800 | or CheckDeadUni("t4",0x2083))) |
|---|
| 801 | OutputChar("{Numpad3}", "KP_3") |
|---|
| 802 | else if (Ebene = 5) |
|---|
| 803 | SendUnicodeChar(0x03D1, "U03D1") ; theta symbol (vartheta) |
|---|
| 804 | else if (Ebene = 6) |
|---|
| 805 | SendUnicodeChar(0x0398, "Greek_THETA") ; Theta |
|---|
| 806 | return |
|---|
| 807 | |
|---|
| 808 | |
|---|
| 809 | neo_j: |
|---|
| 810 | EbeneAktualisieren() |
|---|
| 811 | if (Ebene12 and !(CheckDeadUni12("c1",0x0135,0x0134) |
|---|
| 812 | or CheckDeadUni("c2",0x01F0))) |
|---|
| 813 | OutputChar12("j","J","j","J") |
|---|
| 814 | else if (Ebene = 3) |
|---|
| 815 | OutputChar("`;", "semicolon") |
|---|
| 816 | else if (Ebene = 4) |
|---|
| 817 | OutputChar("`;", "semicolon") |
|---|
| 818 | else if (Ebene = 5) |
|---|
| 819 | SendUnicodeChar(0x03B8, "Greek_theta") ; theta |
|---|
| 820 | else if (Ebene = 6) |
|---|
| 821 | SendUnicodeChar(0x2261, "identical") ; identisch |
|---|
| 822 | return |
|---|
| 823 | |
|---|
| 824 | /* |
|---|
| 825 | |
|---|
| 826 | Numpad |
|---|
| 827 | |
|---|
| 828 | */ |
|---|
| 829 | |
|---|
| 830 | neo_NumLock: |
|---|
| 831 | EbeneAktualisieren() |
|---|
| 832 | if (Ebene = 1) ;� |
|---|
| 833 | OutputChar("`=", "equal") |
|---|
| 834 | if (Ebene = 3) |
|---|
| 835 | SendUnicodeChar(0x2248, "U2248") ; Fast gleich |
|---|
| 836 | if (Ebene = 2) |
|---|
| 837 | SendUnicodeChar(0x2260, "U2260") ; Ungleich zu |
|---|
| 838 | return |
|---|
| 839 | |
|---|
| 840 | neo_NumpadDiv: |
|---|
| 841 | EbeneAktualisieren() |
|---|
| 842 | if Ebene12 |
|---|
| 843 | OutputChar("{NumpadDiv}", "KP_Divide") |
|---|
| 844 | else if (Ebene = 4) |
|---|
| 845 | SendUnicodeChar(0x2215, "division") ; Slash |
|---|
| 846 | else if (Ebene = 3) |
|---|
| 847 | OutputChar("�", "U2044") |
|---|
| 848 | return |
|---|
| 849 | |
|---|
| 850 | neo_NumpadMult: |
|---|
| 851 | EbeneAktualisieren() |
|---|
| 852 | if Ebene12 |
|---|
| 853 | send {blind}{NumpadMult} |
|---|
| 854 | else if (Ebene = 3) |
|---|
| 855 | SendUnicodeChar(0x22C5, "multiply") ; Cdot |
|---|
| 856 | else if (Ebene = 4) |
|---|
| 857 | OutputChar("�", "U2219") |
|---|
| 858 | return |
|---|
| 859 | |
|---|
| 860 | neo_NumpadSub: |
|---|
| 861 | EbeneAktualisieren() |
|---|
| 862 | if (Ebene12 and !(CheckDeadUni("c1",0x207B) |
|---|
| 863 | or CheckDeadUni("t4",0x208B))) |
|---|
| 864 | send {blind}{NumpadSub} |
|---|
| 865 | else if (Ebene = 3) or (Ebene = 4) |
|---|
| 866 | SendUnicodeChar(0x2212, "U2212") ; Echtes Minus |
|---|
| 867 | return |
|---|
| 868 | |
|---|
| 869 | neo_NumpadAdd: |
|---|
| 870 | EbeneAktualisieren() |
|---|
| 871 | if (Ebene12 and !(CheckDeadUni("c1",0x207A) |
|---|
| 872 | or CheckDeadUni("c5",0x208A))) |
|---|
| 873 | send {blind}{NumpadAdd} |
|---|
| 874 | else if (Ebene = 3) |
|---|
| 875 | OutputChar("�", "plusminus") |
|---|
| 876 | else if (Ebene = 4) |
|---|
| 877 | SendUnicodeChar(0x2213, "U2213") ; Inverses � |
|---|
| 878 | return |
|---|
| 879 | |
|---|
| 880 | neo_NumpadEnter: |
|---|
| 881 | send {blind}{NumpadEnter} |
|---|
| 882 | return |
|---|
| 883 | |
|---|
| 884 | neo_Numpad7: |
|---|
| 885 | EbeneAktualisieren() |
|---|
| 886 | if (Ebene = 1) |
|---|
| 887 | OutputChar("{Numpad7}", "KP_7") |
|---|
| 888 | else if (Ebene = 2) |
|---|
| 889 | SendUnicodeChar(0x2020, "dagger") ; Kreuz |
|---|
| 890 | else if (Ebene = 3) |
|---|
| 891 | SendUnicodeChar(0x2195, "U2195") ; Hoch-Runter-Pfeil |
|---|
| 892 | else if (Ebene = 4) |
|---|
| 893 | send {blind}{NumpadHome} |
|---|
| 894 | return |
|---|
| 895 | |
|---|
| 896 | neo_Numpad8: |
|---|
| 897 | EbeneAktualisieren() |
|---|
| 898 | if (Ebene = 1) |
|---|
| 899 | OutputChar("{Numpad8}", "KP_8") |
|---|
| 900 | else if (Ebene = 2) |
|---|
| 901 | SendUnicodeChar(0x2229, "intersection") ; Durchschnitt |
|---|
| 902 | else if (Ebene = 3) |
|---|
| 903 | SendUnicodeChar(0x2191, "uparrow") ; Hochpfeil |
|---|
| 904 | else if (Ebene = 4) |
|---|
| 905 | send {blind}{NumpadUp} |
|---|
| 906 | return |
|---|
| 907 | |
|---|
| 908 | neo_Numpad9: |
|---|
| 909 | EbeneAktualisieren() |
|---|
| 910 | if (Ebene = 1) |
|---|
| 911 | OutputChar("{Numpad9}", "KP_9") |
|---|
| 912 | else if (Ebene = 2) |
|---|
| 913 | SendUnicodeChar(0x2297, "U2297") ; Tensorprodukt / Vektor in die Ebene zeigend |
|---|
| 914 | else if (Ebene = 3) |
|---|
| 915 | SendUnicodeChar(0x220D, "U220D") ; Kleines umgekehrtes Elementzeichen |
|---|
| 916 | else if (Ebene = 4) |
|---|
| 917 | send {blind}{NumpadPgUp} |
|---|
| 918 | return |
|---|
| 919 | |
|---|
| 920 | neo_Numpad4: |
|---|
| 921 | EbeneAktualisieren() |
|---|
| 922 | if (Ebene = 1) |
|---|
| 923 | OutputChar("{Numpad4}", "KP_4") |
|---|
| 924 | else if (Ebene = 2) |
|---|
| 925 | SendUnicodeChar(0x2282, "includein") ; Teilmenge |
|---|
| 926 | else if (Ebene = 3) |
|---|
| 927 | SendUnicodeChar(0x2190, "leftarrow") ; Linkspfeil |
|---|
| 928 | else if (Ebene = 4) |
|---|
| 929 | send {blind}{NumpadLeft} |
|---|
| 930 | return |
|---|
| 931 | |
|---|
| 932 | neo_Numpad5: |
|---|
| 933 | EbeneAktualisieren() |
|---|
| 934 | if (Ebene = 1) |
|---|
| 935 | OutputChar("{Numpad5}", "KP_5") |
|---|
| 936 | else if (Ebene = 2) |
|---|
| 937 | SendUnicodeChar(0x20AC, "EuroSign") ; Euro |
|---|
| 938 | else if (Ebene = 3) |
|---|
| 939 | SendUnicodeChar(0x221E, "infinity") ; Unendlich |
|---|
| 940 | else if (Ebene = 4) ; Beg |
|---|
| 941 | send {blind}{NumPadClear} |
|---|
| 942 | return |
|---|
| 943 | |
|---|
| 944 | neo_Numpad6: |
|---|
| 945 | EbeneAktualisieren() |
|---|
| 946 | if (Ebene = 1) |
|---|
| 947 | OutputChar("{Numpad6}", "KP_6") |
|---|
| 948 | else if (Ebene = 2) |
|---|
| 949 | SendUnicodeChar(0x2283, "includes") ; Obermenge |
|---|
| 950 | else if (Ebene = 3) |
|---|
| 951 | SendUnicodeChar(0x2192, "rightarrow") ; Rechtspfeil |
|---|
| 952 | else if (Ebene = 4) |
|---|
| 953 | send {blind}{NumpadRight} |
|---|
| 954 | return |
|---|
| 955 | |
|---|
| 956 | neo_Numpad1: |
|---|
| 957 | EbeneAktualisieren() |
|---|
| 958 | if (Ebene = 1) |
|---|
| 959 | OutputChar("{Numpad1}", "KP_1") |
|---|
| 960 | else if (Ebene = 2) |
|---|
| 961 | SendUnicodeChar(0x2714, "U2714") ; H�kchen |
|---|
| 962 | else if (Ebene = 3) |
|---|
| 963 | SendUnicodeChar(0x2194, "U2194") ; Links-Rechts-Pfeil |
|---|
| 964 | else if (Ebene = 4) |
|---|
| 965 | send {blind}{NumpadEnd} |
|---|
| 966 | return |
|---|
| 967 | |
|---|
| 968 | neo_Numpad2: |
|---|
| 969 | EbeneAktualisieren() |
|---|
| 970 | if (Ebene = 1) |
|---|
| 971 | OutputChar("{Numpad2}", "KP_2") |
|---|
| 972 | else if (Ebene = 2) |
|---|
| 973 | SendUnicodeChar(0x222A, "union") ; Vereinigung |
|---|
| 974 | else if (Ebene = 3) |
|---|
| 975 | SendUnicodeChar(0x2192, "downarrow") ; Untenpfeil |
|---|
| 976 | else if (Ebene = 4) |
|---|
| 977 | send {blind}{NumpadDown} |
|---|
| 978 | return |
|---|
| 979 | |
|---|
| 980 | neo_Numpad3: |
|---|
| 981 | EbeneAktualisieren() |
|---|
| 982 | if (Ebene = 1) |
|---|
| 983 | OutputChar("{Numpad3}", "KP_3") |
|---|
| 984 | else if (Ebene = 2) |
|---|
| 985 | SendUnicodeChar(0x2718, "U2718") ; Kreuzchen |
|---|
| 986 | else if (Ebene = 3) |
|---|
| 987 | SendUnicodeChar(0x21CC, "U21CC") ; Harpune |
|---|
| 988 | else if (Ebene = 4) |
|---|
| 989 | send {blind}{NumpadPgDn} |
|---|
| 990 | return |
|---|
| 991 | |
|---|
| 992 | neo_Numpad0: |
|---|
| 993 | EbeneAktualisieren() |
|---|
| 994 | if (Ebene = 1) |
|---|
| 995 | OutputChar("{Numpad0}", "KP_0") |
|---|
| 996 | else if (Ebene = 2) |
|---|
| 997 | SendUnicodeChar(0x0025, "percent") ; Prozent |
|---|
| 998 | else if (Ebene = 3) |
|---|
| 999 | SendUnicodeChar(0x2030, "U2030") ; Promille |
|---|
| 1000 | else if (Ebene = 4) |
|---|
| 1001 | send {blind}{NumpadIns} |
|---|
| 1002 | return |
|---|
| 1003 | |
|---|
| 1004 | neo_NumpadDot: |
|---|
| 1005 | EbeneAktualisieren() |
|---|
| 1006 | if (Ebene = 1) |
|---|
| 1007 | send {blind}{NumpadDot} |
|---|
| 1008 | else if (Ebene = 2) |
|---|
| 1009 | send `, |
|---|
| 1010 | else if (Ebene = 3) |
|---|
| 1011 | send {blind}. |
|---|
| 1012 | else if (Ebene = 4) |
|---|
| 1013 | send {blind}{NumpadDel} |
|---|
| 1014 | return |
|---|
| 1015 | |
|---|
| 1016 | /* |
|---|
| 1017 | |
|---|
| 1018 | Sondertasten |
|---|
| 1019 | |
|---|
| 1020 | */ |
|---|
| 1021 | |
|---|
| 1022 | *space:: |
|---|
| 1023 | if einHandNeo |
|---|
| 1024 | spacepressed := 1 |
|---|
| 1025 | else goto neo_SpaceUp |
|---|
| 1026 | return |
|---|
| 1027 | |
|---|
| 1028 | *space up:: |
|---|
| 1029 | if einHandNeo |
|---|
| 1030 | if keypressed { |
|---|
| 1031 | keypressed := 0 |
|---|
| 1032 | spacepressed := 0 |
|---|
| 1033 | } else goto neo_SpaceUp |
|---|
| 1034 | return |
|---|
| 1035 | |
|---|
| 1036 | neo_SpaceUp: |
|---|
| 1037 | EbeneAktualisieren() |
|---|
| 1038 | if (Ebene = 1) and !CheckDeadUni("t4",0x2010) ; Echter Bindestrich |
|---|
| 1039 | OutputChar("{Space}", "Space") |
|---|
| 1040 | else if (Ebene = 2) or (Ebene = 3) |
|---|
| 1041 | Send {blind}{Space} |
|---|
| 1042 | else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2070) |
|---|
| 1043 | or CheckDeadUni("c5",0x2080))) |
|---|
| 1044 | OutputChar("{Numpad0}", "KP_0") |
|---|
| 1045 | else if (Ebene = 5) |
|---|
| 1046 | SendUnicodeChar(0x00A0, "U00A0") ; gesch�tztes Leerzeichen |
|---|
| 1047 | else if (Ebene = 6) |
|---|
| 1048 | SendUnicodeChar(0x202F, "U202F") ; schmales gesch�tztes Leerzeichen |
|---|
| 1049 | DeadKey := "" |
|---|
| 1050 | CompKey := "" |
|---|
| 1051 | spacepressed := 0 |
|---|
| 1052 | keypressed := 0 |
|---|
| 1053 | return |
|---|
| 1054 | |
|---|
| 1055 | /* |
|---|
| 1056 | Folgende Tasten sind nur aufgef�hrt, um DeadKey zu leeren. |
|---|
| 1057 | Irgendwie sieht das noch nicht sch�n aus. Vielleicht l�sst sich dieses |
|---|
| 1058 | Problem auch eleganter l�sen... |
|---|
| 1059 | */ |
|---|
| 1060 | |
|---|
| 1061 | *Enter:: |
|---|
| 1062 | if !lernModus or lernModus_std_Return { |
|---|
| 1063 | send {Blind}{Enter} |
|---|
| 1064 | DeadKey := "" |
|---|
| 1065 | CompKey := "" |
|---|
| 1066 | } return |
|---|
| 1067 | |
|---|
| 1068 | *Backspace:: |
|---|
| 1069 | if !lernModus or lernModus_std_Backspace { |
|---|
| 1070 | send {Blind}{Backspace} |
|---|
| 1071 | DeadKey := "" |
|---|
| 1072 | CompKey := "" |
|---|
| 1073 | } return |
|---|
| 1074 | |
|---|
| 1075 | *Del:: |
|---|
| 1076 | if !lernModus or lernModus_std_Entf |
|---|
| 1077 | send {Blind}{Del} |
|---|
| 1078 | return |
|---|
| 1079 | |
|---|
| 1080 | *Ins:: |
|---|
| 1081 | if !lernModus or lernModus_std_Einf |
|---|
| 1082 | send {Blind}{Ins} |
|---|
| 1083 | return |
|---|
| 1084 | |
|---|
| 1085 | /* |
|---|
| 1086 | Auf Mod3+Tab liegt Compose. |
|---|
| 1087 | */ |
|---|
| 1088 | |
|---|
| 1089 | neo_tab: |
|---|
| 1090 | if (IsMod3Pressed()) { |
|---|
| 1091 | DeadKey := "comp" |
|---|
| 1092 | CompKey := "" |
|---|
| 1093 | } else { |
|---|
| 1094 | send {blind}{Tab} |
|---|
| 1095 | DeadKey := "" |
|---|
| 1096 | CompKey := "" |
|---|
| 1097 | } return |
|---|
| 1098 | |
|---|
| 1099 | *Home:: |
|---|
| 1100 | if !lernModus or lernModus_std_Pos1 { |
|---|
| 1101 | send {Blind}{Home} |
|---|
| 1102 | DeadKey := "" |
|---|
| 1103 | CompKey := "" |
|---|
| 1104 | } return |
|---|
| 1105 | |
|---|
| 1106 | *End:: |
|---|
| 1107 | if !lernModus or lernModus_std_Ende { |
|---|
| 1108 | send {Blind}{End} |
|---|
| 1109 | DeadKey := "" |
|---|
| 1110 | CompKey := "" |
|---|
| 1111 | } return |
|---|
| 1112 | |
|---|
| 1113 | *PgUp:: |
|---|
| 1114 | if !lernModus or lernModus_std_PgUp { |
|---|
| 1115 | send {Blind}{PgUp} |
|---|
| 1116 | DeadKey := "" |
|---|
| 1117 | CompKey := "" |
|---|
| 1118 | } return |
|---|
| 1119 | |
|---|
| 1120 | *PgDn:: |
|---|
| 1121 | if !lernModus or lernModus_std_PgDn { |
|---|
| 1122 | send {Blind}{PgDn} |
|---|
| 1123 | DeadKey := "" |
|---|
| 1124 | CompKey := "" |
|---|
| 1125 | } return |
|---|
| 1126 | |
|---|
| 1127 | *Up:: |
|---|
| 1128 | if !lernModus or lernModus_std_Hoch { |
|---|
| 1129 | send {Blind}{Up} |
|---|
| 1130 | DeadKey := "" |
|---|
| 1131 | CompKey := "" |
|---|
| 1132 | } return |
|---|
| 1133 | |
|---|
| 1134 | *Down:: |
|---|
| 1135 | if !lernModus or lernModus_std_Runter { |
|---|
| 1136 | send {Blind}{Down} |
|---|
| 1137 | DeadKey := "" |
|---|
| 1138 | CompKey := "" |
|---|
| 1139 | } return |
|---|
| 1140 | |
|---|
| 1141 | *Left:: |
|---|
| 1142 | if !lernModus or lernModus_std_Links { |
|---|
| 1143 | send {Blind}{Left} |
|---|
| 1144 | DeadKey := "" |
|---|
| 1145 | CompKey := "" |
|---|
| 1146 | } return |
|---|
| 1147 | |
|---|
| 1148 | *Right:: |
|---|
| 1149 | if !lernModus or lernModus_std_Rechts { |
|---|
| 1150 | send {Blind}{Right} |
|---|
| 1151 | DeadKey := "" |
|---|
| 1152 | CompKey := "" |
|---|
| 1153 | } return |
|---|