Changeset 1016
- Timestamp:
- 10/18/08 02:03:14 (5 years ago)
- Location:
- windows/autohotkey
- Files:
-
- 7 modified
-
Changelog-and-Todo.txt (modified) (1 diff)
-
Source/Keys-Neo.ahk (modified) (24 diffs)
-
Source/Keys-NumPad.ahk (modified) (2 diffs)
-
Source/Keys-Numbers.ahk (modified) (10 diffs)
-
Source/Keys-Special.ahk (modified) (1 diff)
-
neo20.ahk (modified) (13 diffs)
-
neo20.exe (modified) (previous)
Legend:
- Unmodified
- Added
- Removed
-
windows/autohotkey/Changelog-and-Todo.txt
r995 r1016 24 24 === Änderungshistorie === 25 25 26 Revision 1016 (von Martin Roppelt) 27 - Tote Tasten fertig angepasst. 26 28 Revision 993 (von Martin Roppelt) 27 29 - Tote Tasten aktualisiert. -
windows/autohotkey/Source/Keys-Neo.ahk
r1011 r1016 21 21 else if (Ebene = 4) 22 22 OutputChar("{Down}", "Down") 23 else if (Ebene = 5 and !(CheckDeadUni("g5",0x1F01) 23 else if (Ebene = 5 and !(CheckDeadUni("c1",0x1FB6) 24 or CheckDeadUni("c5",0x1FB0) 25 or CheckDeadUni("c6",0x1FB1) 26 or CheckDeadUni("g1",0x1F70) 27 or CheckDeadUni("g5",0x1F01) 28 or CheckDeadUni("a1",0x03AC) 29 or CheckDeadUni("a2",0x1FB3) 24 30 or CheckDeadUni("a5",0x1F00))) 25 31 SendUnicodeChar(0x03B1, "Greek_alpha") ; alpha … … 66 72 EbeneAktualisieren() 67 73 if (Ebene12 and !(CheckDeadUni12("c1",0x1E13,0x1E12) 68 or CheckDeadUni( "c2",0x1D6D)74 or CheckDeadUni( "c2",0x1D6D) 69 75 or CheckDeadUni12("c4",0x010F,0x010E) 70 76 or CheckDeadUni12("g3",0x1E0D,0x1E0C) … … 109 115 neo_f: 110 116 EbeneAktualisieren() 111 if (Ebene12 and !(CheckDeadUni12("a4",0x1E1F,0x1E1E) 112 or CheckDeadUni12("t4",0x0192,0x0191))) 117 if (Ebene12 and !(CheckDeadUni12("a6",0x1E1F,0x1E1E))) 113 118 OutputChar12("f","F","f","F") 114 else if ((Ebene = 3) and !(CheckDeadUni(" a6",0x2257) ; ring equal to115 or CheckDeadUni("c 1",0x2259) ; entspricht116 or CheckDeadUni("c 2",0x225A) ; EQUIANGULAR TO117 or CheckDeadUni(" t2",0x2261) ; identisch118 or CheckDeadUni(" t1",0x2245) ; ungef�hr gleich119 or CheckDeadUni(" t4",0x2260))) ; ungleich119 else if ((Ebene = 3) and !(CheckDeadUni("c1",0x2259) ; entspricht 120 or CheckDeadUni("c2",0x2245) ; ungef�hr gleich 121 or CheckDeadUni("c3",0x2257) ; ring equal to 122 or CheckDeadUni("c4",0x225A) ; EQUIANGULAR TO 123 or CheckDeadUni("c6",0x2261) ; identisch 124 or CheckDeadUni("a3",0x2260))) ; ungleich 120 125 OutputChar("`=", "equal") 121 126 else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2079) 122 or CheckDeadUni(" t4",0x2089)))127 or CheckDeadUni("a3",0x2089))) 123 128 OutputChar("{Numpad9}", "KP_9") 124 129 else if (Ebene = 5) … … 130 135 neo_g: 131 136 EbeneAktualisieren() 132 if (Ebene12 and !(CheckDeadUni12(" a3",0x0123,0x0122)133 or CheckDeadUni12(" a4",0x0121,0x0120)134 or CheckDeadUni12(" c1",0x011D,0x011C)135 or CheckDeadUni12(" c3",0x011F,0x011E)))137 if (Ebene12 and !(CheckDeadUni12("c1",0x011D,0x011C) 138 or CheckDeadUni12("c5",0x011F,0x011E) 139 or CheckDeadUni12("a2",0x0123,0x0122) 140 or CheckDeadUni12("a6",0x0121,0x0120))) 136 141 OutputChar12("g","G","g","G") 137 else if ((Ebene = 3) and !(CheckDeadUni(" t4",0x2265))) ; gr��er gleich142 else if ((Ebene = 3) and !(CheckDeadUni("a3",0x2265))) ; gr��er gleich 138 143 OutputChar(">", "greater") 139 144 else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2078) 140 or CheckDeadUni(" t4",0x2088)))145 or CheckDeadUni("a3",0x2088))) 141 146 OutputChar("{Numpad8}", "KP_8") 142 147 else if (Ebene = 5) … … 148 153 neo_h: 149 154 EbeneAktualisieren() 150 if (Ebene12 and !(CheckDeadUni12("a4",0x1E23,0x1E22) 151 or CheckDeadUni12("c1",0x0125,0x0124) 152 or CheckDeadUni12("c5",0x0127,0x0126) 153 or CheckDeadUni12("c6",0x1E25,0x1E24))) 155 if (Ebene12 and !(CheckDeadUni12("c1",0x0125,0x0124) 156 or CheckDeadUni12("a3",0x0127,0x0126) 157 or CheckDeadUni12("a6",0x1E23,0x1E22))) 154 158 OutputChar12("h","H","h","H") 155 else if ((Ebene = 3) and !(CheckDeadUni(" t4",0x2264))) ; kleiner gleich159 else if ((Ebene = 3) and !(CheckDeadUni("a3",0x2264))) ; kleiner gleich 156 160 OutputChar("<", "less") 157 161 else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2077) 158 or CheckDeadUni(" t4",0x2087)))162 or CheckDeadUni("a3",0x2087))) 159 163 OutputChar("{Numpad7}", "KP_7") 160 164 else if (Ebene = 5) … … 166 170 neo_i: 167 171 EbeneAktualisieren() 168 if (Ebene12 and !(CheckDeadUni12(" a1",0x00ED,0x00CD)169 or CheckDeadUni12(" a2",0x00EC,0x00CC)170 or CheckDeadUni12(" a4",0x012F,0x012E)171 or CheckDeadUni12(" a5",0x0131,0x0130)172 or CheckDeadUni12("c 1",0x00EE,0x00CE)173 or CheckDeadUni12(" c2",0x01D0,0x01CF)174 or CheckDead Uni12("c3",0x012D,0x012C)175 or CheckDeadUni12(" t1",0x0129,0x0128)176 or CheckDeadUni12(" t2",0x012B,0x012A)177 or CheckDead Asc12("t3","�","�")))172 if (Ebene12 and !(CheckDeadUni12("c1",0x00EE,0x00CE) 173 or CheckDeadUni12("c2",0x0129,0x0128) 174 or CheckDeadUni12("c4",0x01D0,0x01CF) 175 or CheckDeadUni12("c5",0x012D,0x012C) 176 or CheckDeadUni12("c6",0x012B,0x012A) 177 or CheckDeadUni12("g1",0x00EC,0x00CC) 178 or CheckDeadAsc12("g3","�","�") 179 or CheckDeadUni12("a1",0x00ED,0x00CD) 180 or CheckDeadUni12("a2",0x0131,0x0130) 181 or CheckDeadUni12("a6",0x012F,0x012E))) 178 182 OutputChar12("i","I","i","I") 179 183 else if (Ebene = 3) … … 190 194 EbeneAktualisieren() 191 195 if (Ebene12 and !(CheckDeadUni12("c1",0x0135,0x0134) 192 or CheckDeadUni( "c2",0x01F0)))196 or CheckDeadUni( "c4",0x01F0))) 193 197 OutputChar12("j","J","j","J") 194 198 else if (Ebene = 3) … … 204 208 neo_k: 205 209 EbeneAktualisieren() 206 if (Ebene12 and !(CheckDeadUni12("a 3",0x0137,0x0136)207 or CheckDeadUni12(" c6",0x1E33,0x1E32)))210 if (Ebene12 and !(CheckDeadUni12("a2",0x0137,0x0136) 211 or CheckDeadUni12("a6",0x1E33,0x1E32))) 208 212 OutputChar12("k","K","k","K") 209 213 else if (Ebene = 3) … … 219 223 neo_l: 220 224 EbeneAktualisieren() 221 if (Ebene12 and !(CheckDeadUni12("a1",0x013A,0x0139) 222 or CheckDeadUni12("a3",0x013C,0x013B) 223 or CheckDeadUni12("c2",0x013E,0x013D) 224 or CheckDeadUni12("c4",0x0140,0x013F) 225 or CheckDeadUni12("c6",0x1E37,0x1E36) 226 or CheckDeadUni12("t4",0x0142,0x0141))) 225 if (Ebene12 and !(CheckDeadUni12("c4",0x013E,0x013D) 226 or CheckDeadUni12("a1",0x013A,0x0139) 227 or CheckDeadUni12("a2",0x013C,0x013B) 228 or CheckDeadUni12("a3",0x0142,0x0141) 229 or CheckDeadUni12("a6",0x1E37,0x1E36))) 227 230 OutputChar12("l","L","l","L") 228 231 else if (Ebene = 3) … … 238 241 neo_m: 239 242 EbeneAktualisieren() 240 if (Ebene12 and !(CheckDeadUni12("a4",0x1E41,0x1E40) 241 or CheckDeadUni12("c6",0x1E43,0x1E42))) 243 if (Ebene12 and !CheckDeadUni12("a6",0x1E41,0x1E40)) 242 244 OutputChar12("m","M","m","M") 243 245 else if (Ebene = 3) 244 246 OutputChar("`%", "percent") 245 247 else if ((Ebene = 4) and !(CheckDeadUni("c1",0x00B9) 246 or CheckDeadUni(" t4",0x2081)))248 or CheckDeadUni("a3",0x2081))) 247 249 OutputChar("{Numpad1}", "KP_1") 248 250 else if (Ebene = 5) … … 254 256 neo_n: 255 257 EbeneAktualisieren() 256 if (Ebene12 and !(CheckDeadUni12(" a1",0x0144,0x0143)257 or CheckDeadUni12(" a3",0x0146,0x0145)258 or CheckDeadUni12("a 4",0x1E45,0x1E44)259 or CheckDeadUni12(" c2",0x0148,0x0147)260 or CheckDeadUni12(" t1",0x00F1,0x00D1)))258 if (Ebene12 and !(CheckDeadUni12("c2",0x00F1,0x00D1) 259 or CheckDeadUni12("c4",0x0148,0x0147) 260 or CheckDeadUni12("a1",0x0144,0x0143) 261 or CheckDeadUni12("a2",0x0146,0x0145) 262 or CheckDeadUni12("a6",0x1E45,0x1E44))) 261 263 OutputChar12("n","N","n","N") 262 264 else if (Ebene = 3) 263 265 OutputChar("(", "parenleft") 264 266 else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2074) 265 or CheckDeadUni(" t4",0x2084)))267 or CheckDeadUni("a3",0x2084))) 266 268 OutputChar("{Numpad4}", "KP_4") 267 269 else if (Ebene = 5) … … 273 275 neo_o: 274 276 EbeneAktualisieren() 275 if (Ebene12 and !(CheckDeadUni12(" a1",0x00F3,0x00D3)276 or CheckDeadUni12(" a2",0x00F2,0x00D2)277 or CheckDeadUni12(" a5",0x01EB,0x01EA)278 or CheckDeadUni12("c 1",0x00F4,0x00D4)279 or CheckDeadUni12("c 2",0x01D2,0x01D1)280 or CheckDeadUni12(" c3",0x014F,0x014E)281 or CheckDead Uni12("t1",0x00F5,0x00D5)282 or CheckDeadUni12(" t2",0x014D,0x014C)283 or CheckDead Asc12("t3","�","�")284 or CheckDeadUni12(" t4",0x00F8,0x00D8)285 or CheckDeadUni12(" t5",0x0151,0x0150)))277 if (Ebene12 and !(CheckDeadUni12("c1",0x00F4,0x00D4) 278 or CheckDeadUni12("c2",0x00F5,0x00D5) 279 or CheckDeadUni12("c4",0x01D2,0x01D1) 280 or CheckDeadUni12("c5",0x014F,0x014E) 281 or CheckDeadUni12("c6",0x014D,0x014C) 282 or CheckDeadUni12("g1",0x00F2,0x00D2) 283 or CheckDeadAsc12("g3","�","�") 284 or CheckDeadUni12("a1",0x00F3,0x00D3) 285 or CheckDeadUni12("a2",0x01EB,0x01EA) 286 or CheckDeadUni12("a3",0x00F8,0x00D8) 287 or CheckDeadUni12("a4",0x0151,0x0150))) 286 288 OutputChar12("o","O","o","O") 287 289 else if (Ebene = 3) … … 297 299 neo_p: 298 300 EbeneAktualisieren() 299 if (Ebene12 and !(CheckDeadUni12("a 4",0x1E57,0x1E56)))301 if (Ebene12 and !(CheckDeadUni12("a6",0x1E57,0x1E56))) 300 302 OutputChar12("p","P","p","P") 301 else if ((Ebene = 3) and !(CheckDeadUni(" t1",0x2248)))303 else if ((Ebene = 3) and !(CheckDeadUni("c2",0x2248))) 302 304 OutputChar("~", "asciitilde") 303 305 else if (Ebene = 4) … … 316 318 OutputChar("{&}", "ampersand") 317 319 else if ((Ebene = 4) and !(CheckDeadUni("c1",0x207A) 318 or CheckDeadUni(" c5",0x208A)))319 OutputChar("{NumPadAdd}", " plus") ; !!!320 or CheckDeadUni("a3",0x208A))) 321 OutputChar("{NumPadAdd}", "KP_Add") 320 322 else if (Ebene = 5) 321 323 SendUnicodeChar(0x03D5, "U03D5") ; phi symbol (varphi) … … 326 328 neo_r: 327 329 EbeneAktualisieren() 328 if (Ebene12 and !(CheckDeadUni12(" a1",0x0155,0x0154)329 or CheckDeadUni12(" a3",0x0157,0x0156)330 or CheckDeadUni12("a 4",0x0E59,0x0E58)331 or CheckDeadUni12(" c2",0x0159,0x0158)332 or CheckDeadUni12(" t3",0x1E5B,0x1E5A)))330 if (Ebene12 and !(CheckDeadUni12("c4",0x0159,0x0158) 331 or CheckDeadUni12("g3",0x1E5B,0x1E5A) 332 or CheckDeadUni12("a1",0x0155,0x0154) 333 or CheckDeadUni12("a2",0x0157,0x0156) 334 or CheckDeadUni12("a6",0x0E59,0x0E58))) 333 335 OutputChar12("r","R","r","R") 334 336 else if (Ebene = 3) 335 337 OutputChar(")", "parenright") 336 338 else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2075) 337 or CheckDeadUni(" t4",0x2085)))339 or CheckDeadUni("a3",0x2085))) 338 340 OutputChar("{Numpad5}", "KP_5") 339 341 else if (Ebene = 5) … … 345 347 neo_s: 346 348 EbeneAktualisieren() 347 if (Ebene12 and ! (CheckDeadUni12("a1",0x015B,0x015A)348 or CheckDeadUni12("a 3",0x015F,0x015E)349 or CheckDeadUni12("a 4",0x1E61,0x1E60)349 if (Ebene12 and !LangSTastatur and !(CheckDeadUni12("a1",0x015B,0x015A) 350 or CheckDeadUni12("a2",0x015F,0x015E) 351 or CheckDeadUni12("a6",0x1E61,0x1E60) 350 352 or CheckDeadUni12("c1",0x015D,0x015C) 351 or CheckDeadUni12("c 2",0x0161,0x0160)352 or CheckDeadUni12(" c6",0x1E63,0x1A62))) {353 or CheckDeadUni12("c4",0x0161,0x0160) 354 or CheckDeadUni12("a6",0x1E63,0x1A62))) { 353 355 if LangSTastatur and (Ebene = 1) 354 356 SendUnicodeChar(0x017F, "17F") ; langes s … … 370 372 neo_t: 371 373 EbeneAktualisieren() 372 if (Ebene12 and !(CheckDeadUni12("a3",0x0163,0x0162) 373 or CheckDeadUni12("a4",0x1E6B,0x1E6A) 374 or CheckDeadUni12("c2",0x0165,0x0164) 375 or CheckDeadUni12("c5",0x0167,0x0166) 376 or CheckDeadUni12("t4",0x1E6D,0x1E6C) 377 or CheckDeadUni("t3",0x1E97))) 374 if (Ebene12 and !(CheckDeadUni12("a2",0x0163,0x0162) 375 or CheckDeadUni12("a6",0x1E6B,0x1E6A) 376 or CheckDeadUni12("c4",0x0165,0x0164) 377 or CheckDeadUni( "g3",0x1E97))) 378 378 OutputChar12("t","T","t","T") 379 379 else if (Ebene = 3) … … 390 390 neo_u: 391 391 EbeneAktualisieren() 392 if (Ebene12 and !(CheckDeadUni12(" a1",0x00FA,0x00DA)393 or CheckDeadUni12(" a2",0x00F9,0x00D9)394 or CheckDeadUni12(" a5",0x0173,0x0172)395 or CheckDeadUni12(" a6",0x016F,0x016E)396 or CheckDeadUni12("c 1",0x00FB,0x00DB)397 or CheckDeadUni12("c 2",0x01D4,0x01D3)398 or CheckDeadUni12(" c3",0x016D,0x016C)399 or CheckDead Uni12("t1",0x0169,0x0168)400 or CheckDeadUni12(" t2",0x016B,0x016A)401 or CheckDead Asc12("t3","�","�")402 or CheckDeadUni12(" t5",0x0171,0x0170)))392 if (Ebene12 and !(CheckDeadUni12("c1",0x00FB,0x00DB) 393 or CheckDeadUni12("c2",0x0169,0x0168) 394 or CheckDeadUni12("c3",0x016F,0x016E) 395 or CheckDeadUni12("c4",0x01D4,0x01D3) 396 or CheckDeadUni12("c5",0x016D,0x016C) 397 or CheckDeadUni12("c6",0x016B,0x016A) 398 or CheckDeadUni12("g1",0x00F9,0x00D9) 399 or CheckDeadAsc12("g3","�","�") 400 or CheckDeadUni12("a1",0x00FA,0x00DA) 401 or CheckDeadUni12("a2",0x0173,0x0172) 402 or CheckDeadUni12("a4",0x0171,0x0170))) 403 403 OutputChar12("u","U","u","U") 404 404 else if (Ebene = 3) … … 412 412 neo_v: 413 413 EbeneAktualisieren() 414 if (Ebene12 and !(CheckDeadUni12(" c6",0x1E7F,0x1E7E)))414 if (Ebene12 and !(CheckDeadUni12("a6",0x1E7F,0x1E7E))) 415 415 OutputChar12("v","V","v","V") 416 416 else if (Ebene = 3) … … 452 452 neo_y: 453 453 EbeneAktualisieren() 454 if (Ebene12 and !(CheckDeadUni12(" a1",0x00FD,0x00DD)455 or CheckDead Uni12("c1",0x0177,0x0176)456 or CheckDead Asc12("t3","�","�")))454 if (Ebene12 and !(CheckDeadUni12("c1",0x0177,0x0176) 455 or CheckDeadAsc12("g3","�","�") 456 or CheckDeadUni12("a1",0x00FD,0x00DD))) 457 457 OutputChar12("y","Y","y","Y") 458 458 else if (Ebene = 3) … … 469 469 EbeneAktualisieren() 470 470 if (Ebene12 and !(CheckDeadUni12("a1",0x017A,0x0179) 471 or CheckDeadUni12("a4",0x017C,0x017B) 472 or CheckDeadUni12("c2",0x017E,0x017D) 473 or CheckDeadUni12("c6",0x1E93,0x1E92))) 471 or CheckDeadUni12("a6",0x017C,0x017B) 472 or CheckDeadUni12("c4",0x017E,0x017D))) 474 473 OutputChar12("z","Z","z","Z") 475 474 else if (Ebene = 3) 476 475 OutputChar("``{space}", "grave") ; untot 476 else if (Ebene = 4) 477 send {Ctrl down}z{Ctrl up} 477 478 else if (Ebene = 5) 478 479 SendUnicodeChar(0x03B6, "Greek_zeta") ; zeta … … 483 484 neo_�: 484 485 EbeneAktualisieren() 485 if (Ebene12 and !(CheckDeadUni12(" t2",0x01DF,0x01DE)))486 if (Ebene12 and !(CheckDeadUni12("c6",0x01DF,0x01DE))) 486 487 OutputChar12("�","�","adiaeresis","Adiaeresis") 487 488 else if (Ebene = 3) … … 497 498 neo_�: 498 499 EbeneAktualisieren() 499 if (Ebene12 and !(CheckDeadUni12(" t2",0x022B,0x022A)))500 if (Ebene12 and !(CheckDeadUni12("c6",0x022B,0x022A))) 500 501 OutputChar12("�","�","odiaeresis","Odiaeresis") 501 502 else if (Ebene = 3) … … 510 511 EbeneAktualisieren() 511 512 if (Ebene12 and !(CheckDeadUni12("a1",0x01D8,0x01D7) 512 or CheckDeadUni12(" a2",0x01DC,0x01DB)513 or CheckDeadUni12("c 2",0x01DA,0x01D9)514 or CheckDeadUni12(" t2",0x01D6,0x01D5)))513 or CheckDeadUni12("g1",0x01DC,0x01DB) 514 or CheckDeadUni12("c4",0x01DA,0x01D9) 515 or CheckDeadUni12("c6",0x01D6,0x01D5))) 515 516 OutputChar12("�","�","udiaeresis","Udiaeresis") 516 517 else if (Ebene = 3) -
windows/autohotkey/Source/Keys-NumPad.ahk
r1009 r1016 204 204 EbeneAktualisieren() 205 205 if (Ebene12 and !(CheckDeadUni("c1",0x207B) 206 or CheckDeadUni(" t4",0x208B)))206 or CheckDeadUni("a3",0x208B))) 207 207 send {blind}{NumpadSub} 208 208 else if (Ebene = 3) … … 219 219 EbeneAktualisieren() 220 220 if (Ebene12 and !(CheckDeadUni("c1",0x207A) 221 or CheckDeadUni(" c5",0x208A)))221 or CheckDeadUni("a3",0x208A))) 222 222 send {blind}{NumpadAdd} 223 223 else if (Ebene = 3) -
windows/autohotkey/Source/Keys-Numbers.ahk
r1009 r1016 3 3 EbeneAktualisieren() 4 4 if Ebene12 and !(CheckDeadUni("c1",0x2070) ; Hochgestellte 0 5 or CheckDeadUni("c5",0x2080)) ; Tiefgestellte 05 or CheckDeadUni("a3",0x2080)) ; Tiefgestellte 0 6 6 OutputChar12(0,"�",0,"rightdoublequotemark") 7 7 else if (Ebene = 3) 8 8 OutputChar("�", "rightsingleqoutemark") 9 9 else if (Ebene = 4) 10 OutputChar("{NumpadSub}", " minus") ; s. Mail vom Sun, 14 Sep 2008 00:33:47 +020010 OutputChar("{NumpadSub}", "KP_Minus") 11 11 else if (Ebene = 6) 12 12 SendUnicodeChar(0x2205, "emptyset") ; leere Menge … … 17 17 EbeneAktualisieren() 18 18 if Ebene12 and !(CheckDeadUni("c1",0x00B9) ; Hochgestellte 1 19 or CheckDeadUni(" c5",0x2081)) ; Tiefgestellte 119 or CheckDeadUni("a3",0x2081)) ; Tiefgestellte 1 20 20 OutputChar12(1,"�",1,"degree") 21 21 else if (Ebene = 3) … … 33 33 EbeneAktualisieren() 34 34 if (Ebene = 1 and !(CheckDeadUni("c1",0x00B2) ; Hochgestellte 2 35 or CheckDeadUni(" c5",0x2082))) ; Tiefgestellte 235 or CheckDeadUni("a3",0x2082))) ; Tiefgestellte 2 36 36 OutputChar(2,2) 37 37 else if (Ebene = 2) … … 51 51 EbeneAktualisieren() 52 52 if Ebene12 and !(CheckDeadUni("c1",0x00B3) ; Hochgestellte 3 53 or CheckDeadUni(" c5",0x2083)) ; Tiefgestellte 353 or CheckDeadUni("a3",0x2083)) ; Tiefgestellte 3 54 54 OutputChar12(3,"�",3,"section") 55 55 else if (Ebene = 3) … … 67 67 EbeneAktualisieren() 68 68 if (Ebene = 1) and !(CheckDeadUni("c1",0x2074) ; Hochgestellte 4 69 or CheckDeadUni(" c5",0x2084)) ; Tiefgestellte 469 or CheckDeadUni("a3",0x2084)) ; Tiefgestellte 4 70 70 OutputChar(4,4) 71 71 else if (Ebene = 2) … … 85 85 EbeneAktualisieren() 86 86 if (Ebene = 1) and !(CheckDeadUni("c1",0x2075) ; Hochgestellte 5 87 or CheckDeadUni(" c5",0x2085)) ; Tiefgestellte 587 or CheckDeadUni("a3",0x2085)) ; Tiefgestellte 5 88 88 OutputChar(5,5) 89 89 else if (Ebene = 2) … … 101 101 EbeneAktualisieren() 102 102 if (Ebene = 1) and !(CheckDeadUni("c1",0x2076) ; Hochgestellte 6 103 or CheckDeadUni(" c5",0x2086)) ; Tiefgestellte 6103 or CheckDeadUni("a3",0x2086)) ; Tiefgestellte 6 104 104 OutputChar(6,6) 105 105 else if (Ebene = 2) … … 119 119 EbeneAktualisieren() 120 120 if Ebene12 and !(CheckDeadUni("c1",0x2077) ; Hochgestellte 7 121 or CheckDeadUni(" c5",0x2087)) ; Tiefgestellte 7121 or CheckDeadUni("a3",0x2087)) ; Tiefgestellte 7 122 122 OutputChar12(7,"$",7,"dollar") 123 123 else if (Ebene = 3) … … 135 135 EbeneAktualisieren() 136 136 if Ebene12 and !(CheckDeadUni("c1",0x2078) ; Hochgestellte 8 137 or CheckDeadUni("c5",0x2088)) ; Tiefgestellte 8137 or CheckDeadUni("a3",0x2088)) ; Tiefgestellte 8 138 138 OutputChar12(8,"�",8,"doublelowquotemark") 139 139 else if (Ebene = 3) … … 151 151 EbeneAktualisieren() 152 152 if Ebene12 and !(CheckDeadUni("c1",0x2079) ; Hochgestellte 9 153 or CheckDeadUni("c5",0x2089)) ; Tiefgestellte 9153 or CheckDeadUni("a3",0x2089)) ; Tiefgestellte 9 154 154 OutputChar12(9,"�",9,"leftdoublequotemark") 155 155 else if (Ebene = 3) -
windows/autohotkey/Source/Keys-Special.ahk
r1009 r1016 66 66 neo_SpaceUp: 67 67 EbeneAktualisieren() 68 if (Ebene = 1) and !CheckDeadUni(" t4",0x2010) ; Echter Bindestrich68 if (Ebene = 1) and !CheckDeadUni("a3",0x2010) ; Echter Bindestrich 69 69 OutputChar("{Space}", "Space") 70 70 else if (Ebene = 2) or (Ebene = 3) 71 71 Send {blind}{Space} 72 72 else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2070) 73 or CheckDeadUni(" c5",0x2080)))73 or CheckDeadUni("a3",0x2080))) 74 74 OutputChar("{Numpad0}", "KP_0") 75 75 else if (Ebene = 5) -
windows/autohotkey/neo20.ahk
r994 r1016 755 755 756 756 757 /* 758 Die eigentliche NEO-Belegung und der Hauptteil des AHK-Treibers. 759 760 Reihe 1 761 */ 762 763 neo_tot1: 764 noCaps = 1 765 EbeneAktualisieren() 766 if (Ebene = 1) and !CheckDeadUni("c1",0x0302) 767 deadUni(0x02C6, "dead_circumflex", "c1") ; Zirkumflex, tot 768 else if (Ebene = 2) and !CheckDeadUni("c2",0x0303) 769 deadUni(0x02DC, "dead_tilde", "c2") ; Tilde, tot 770 else if (Ebene = 3) and !CheckDeadUni("c3",0x030A) 771 deadUni(0x02DA, "dead_breve", "c3") ; Ring, tot 772 else if (Ebene = 4) and !CheckDeadUni("c4",0x030C) 773 deadUni(0x02C7, "dead_caron", "c4") ; Caron, tot 774 else if (Ebene = 5) and !CheckDeadUni("c5",0x0306) 775 deadUni(0x02D8, "dead_breve", "c5") ; Brevis, tot 776 else if (Ebene = 6) and !CheckDeadUni("c6",0x0304) 777 deadUni(0x00AF, "dead_macron", "c6") ; Makron, tot 778 return 779 780 neo_1: 781 noCaps=1 782 EbeneAktualisieren() 783 if Ebene12 and !(CheckDeadUni("c1",0x00B9) ; Hochgestellte 1 784 or CheckDeadUni("c5",0x2081)) ; Tiefgestellte 1 785 OutputChar12(1,"�",1,"degree") 757 neo_a: 758 EbeneAktualisieren() 759 if (Ebene12 and !(CheckDeadUni12("c1",0x00E2,0x00C2) 760 or CheckDeadUni12("c2",0x00E3,0x00C3) 761 or CheckDeadAsc12("c3","�","�") 762 or CheckDeadUni12("c4",0x01CE,0x01CD) 763 or CheckDeadUni12("c5",0x0103,0x0102) 764 or CheckDeadUni12("c6",0x0101,0x0100) 765 or CheckDeadUni12("g1",0x00E0,0x00C0) 766 or CheckDeadUni12("g2",0x0201,0x0200) 767 or CheckDeadAsc12("g3","�","�") 768 or CheckDeadUni12("g5",0x1F01,0x1F09) 769 or CheckDeadUni12("a1",0x00E1,0x00C1) 770 or CheckDeadUni12("a2",0x0105,0x0104) 771 or CheckDeadUni12("a3",0x2C65,0x023A) 772 or CheckDeadUni12("a5",0x1F00,0x1F08) 773 or CheckDeadUni12("a6",0x0227,0x0226))) 774 OutputChar12("a","A","a","A") 786 775 else if (Ebene = 3) 787 SendUnicodeChar(0x00B9, "onesuperior") ; Hochgestellte 1776 OutputChar("{{}", "braceleft") 788 777 else if (Ebene = 4) 789 SendUnicodeChar(0x2022, "enfilledcircbullet") ; Bullet 778 OutputChar("{Down}", "Down") 779 else if (Ebene = 5 and !(CheckDeadUni("c1",0x1FB6) 780 or CheckDeadUni("c5",0x1FB0) 781 or CheckDeadUni("c6",0x1FB1) 782 or CheckDeadUni("g1",0x1F70) 783 or CheckDeadUni("g5",0x1F01) 784 or CheckDeadUni("a1",0x03AC) 785 or CheckDeadUni("a2",0x1FB3) 786 or CheckDeadUni("a5",0x1F00))) 787 SendUnicodeChar(0x03B1, "Greek_alpha") ; alpha 788 else if (Ebene = 6) 789 SendUnicodeChar(0x2200, "U2200") ; f�r alle 790 return 791 792 neo_b: 793 EbeneAktualisieren() 794 if (Ebene12 and !(CheckDeadUni12("c6",0x1E07,0x1E06) 795 or CheckDeadUni12("a6",0x1E03,0x1E02))) 796 OutputChar12("b","B","b","B") 797 else if (Ebene = 3) 798 if isMod2Locked 799 OutputChar("{Shift Up}{+}{Shift down}", "plus") 800 else OutputChar("{blind}{+}", "plus") 801 else if (Ebene = 4) 802 OutputChar(":", "colon") 790 803 else if (Ebene = 5) 791 SendUnicodeChar(0x2081, "U2081") ; Tiefgestellte 1 792 else if (Ebene = 6) 793 SendUnicodeChar(0x00AC, "notsign") ; Nicht-Symbol 794 return 795 796 neo_2: 797 noCaps = 1 798 EbeneAktualisieren() 799 if (Ebene = 1 and !(CheckDeadUni("c1",0x00B2) ; Hochgestellte 2 800 or CheckDeadUni("c5",0x2082))) ; Tiefgestellte 2 801 OutputChar(2,2) 802 else if (Ebene = 2) 803 SendUnicodeChar(0x2116, "numerosign") ; Numero 804 else if (Ebene = 3) 805 SendUnicodeChar(0x00B2, "twosuperior") ; Hochgestellte 2 806 else if (Ebene = 4) 807 SendUnicodeChar(0x2023, "U2023") ; Aufz�hlungspfeil 808 else if (Ebene = 5) 809 SendUnicodeChar(0x2082, "U2082") ; Tiefgestellte 2 810 else if (Ebene = 6) 811 SendUnicodeChar(0x2228, "logicalor") ; Logisches Oder 812 return 813 814 neo_3: 815 noCaps = 1 816 EbeneAktualisieren() 817 if Ebene12 and !(CheckDeadUni("c1",0x00B3) ; Hochgestellte 3 818 or CheckDeadUni("c5",0x2083)) ; Tiefgestellte 3 819 OutputChar12(3,"�",3,"section") 820 else if (Ebene = 3) 821 SendUnicodeChar(0x00B3, "threesuperior") ; Hochgestellte 3 822 else if (Ebene = 4) 823 SendUnicodeChar(0x266B, "U226B") ; 2 Achtelnoten 824 else if (Ebene = 5) 825 SendUnicodeChar(0x2083, "U2083") ; Tiefgestellte 3 826 else if (Ebene = 6) 827 SendUnicodeChar(0x2227, "logicaland") ; Logisches Und 828 return 829 830 neo_4: 831 noCaps = 1 832 EbeneAktualisieren() 833 if (Ebene = 1) and !(CheckDeadUni("c1",0x2074) ; Hochgestellte 4 834 or CheckDeadUni("c5",0x2084)) ; Tiefgestellte 4 835 OutputChar(4,4) 836 else if (Ebene = 2) 837 SendUnicodeChar(0x00BB, "guillemotright") ; Double guillemot right 838 else if (Ebene = 3) 839 OutputChar("�", "U230A") ; Single guillemot right 840 else if (Ebene = 4) 841 OutputChar("{PgUp}", "Prior") ; Bild auf 842 else if (Ebene = 5) 843 SendUnicodeChar(0x2113, "U2213") ; Script small L 844 else if (Ebene = 6) 845 SendUnicodeChar(0x22A5, "uptack") ; Senkrecht 846 return 847 848 neo_5: 849 noCaps = 1 850 EbeneAktualisieren() 851 if (Ebene = 1) and !(CheckDeadUni("c1",0x2075) ; Hochgestellte 5 852 or CheckDeadUni("c5",0x2085)) ; Tiefgestellte 5 853 OutputChar(5,5) 854 else if (Ebene = 2) 855 SendUnicodeChar(0x00AB, "guillemotleft") ; Double guillemot left 856 else if (Ebene = 3) 857 OutputChar("�", "U2039") ; Single guillemot left 858 else if (Ebene = 5) 859 SendUnicodeChar(0x0AF8, "femalesymbol") ; Kreuz (Dagger) 860 else if (Ebene = 6) 861 SendUnicodeChar(0x2221, "U2221") ; Winkel 862 return 863 864 neo_6: 865 noCaps = 1 866 EbeneAktualisieren() 867 if (Ebene = 1) and !(CheckDeadUni("c1",0x2076) ; Hochgestellte 6 868 or CheckDeadUni("c5",0x2086)) ; Tiefgestellte 6 869 OutputChar(6,6) 870 else if (Ebene = 2) 871 SendUnicodeChar(0x20AC, "EuroSign") 872 else if (Ebene = 3) 873 OutputChar("�", "cent") 874 else if (Ebene = 4) 875 OutputChar("�", "sterling") 876 else if (Ebene = 5) 877 SendUnicodeChar(0x0AF7, "malesymbol") 878 else if (Ebene = 6) 879 SendUnicodeChar(0x2225, "U2225") ; parallel 880 return 881 882 neo_7: 883 noCaps = 1 884 EbeneAktualisieren() 885 if Ebene12 and !(CheckDeadUni("c1",0x2077) ; Hochgestellte 7 886 or CheckDeadUni("c5",0x2087)) ; Tiefgestellte 7 887 OutputChar12(7,"$",7,"dollar") 888 else if (Ebene = 3) 889 OutputChar("�", "yen") 890 else if (Ebene = 4) 891 OutputChar("�", "currency") 892 else if (Ebene = 5) 893 SendUnicodeChar(0x03BA, "Greek_kappa") ; greek small letter kappa 894 else if (Ebene = 6) 895 SendUnicodeChar(0x2209, "notelementof") ; nicht Element von 896 return 897 898 neo_8: 899 noCaps = 1 900 EbeneAktualisieren() 901 if Ebene12 and !(CheckDeadUni("c1",0x2078) ; Hochgestellte 8 902 or CheckDeadUni("c5",0x2088)) ; Tiefgestellte 8 903 OutputChar12(8,"�",8,"doublelowquotemark") 904 else if (Ebene = 3) 905 OutputChar("�", "singlelowquotemark") 906 else if (Ebene = 4) 907 OutputChar("{NumpadDiv}", "KP_Divide") 908 else if (Ebene = 5) 909 SendUnicodeChar(0x27E8, "U27E8") ; bra (�ffnende spitze Klammer) 910 else if (Ebene = 6) 911 SendUnicodeChar(0x2204, "U2204") ; es existiert nicht 912 return 913 914 neo_9: 915 noCaps = 1 916 EbeneAktualisieren() 917 if Ebene12 and !(CheckDeadUni("c1",0x2079) ; Hochgestellte 9 918 or CheckDeadUni("c5",0x2089)) ; Tiefgestellte 9 919 OutputChar12(9,"�",9,"leftdoublequotemark") 920 else if (Ebene = 3) 921 OutputChar("�", "leftsinglequotemark") 922 else if (Ebene = 4) 923 OutputChar("{NumpadMult}", "KP_Multiply") 924 else if (Ebene = 5) 925 SendUnicodeChar(0x27E9, "U27E9") ; ket (schlie�ende spitze Klammer) 926 else if (Ebene = 6) 927 SendUnicodeChar(0x2226, "U2226") ; nicht parallel 928 return 929 930 neo_0: 931 noCaps = 1 932 EbeneAktualisieren() 933 if Ebene12 and !(CheckDeadUni("c1",0x2070) ; Hochgestellte 0 934 or CheckDeadUni("c5",0x2080)) ; Tiefgestellte 0 935 OutputChar12(0,"�",0,"rightdoublequotemark") 936 else if (Ebene = 3) 937 OutputChar("�", "rightsingleqoutemark") 938 else if (Ebene = 4) 939 OutputChar("{NumpadSub}", "minus") ; s. Mail vom Sun, 14 Sep 2008 00:33:47 +0200 940 else if (Ebene = 6) 941 SendUnicodeChar(0x2205, "emptyset") ; leere Menge 942 return 943 944 neo_strich: 945 noCaps = 1 946 EbeneAktualisieren() 947 if (Ebene = 1) 948 OutputChar("-", "minus") ; Bindestrich-Minus 949 else if (Ebene = 2) 950 SendUnicodeChar(0x2013, "endash") ; Gedankenstrich 951 else if (Ebene = 3) 952 SendUnicodeChar(0x2014, "emdash") ; Englischer Gedankenstrich (Geviertstrich) 953 else if (Ebene = 5) 954 SendUnicodeChar(0x2011, "U2011") ; gesch�tzter Bindestrich (Bindestrich ohne Zeilenumbruch) 955 else if (Ebene = 6) 956 SendUnicodeChar(0x00AD, "hyphen") ; weicher Bindestrich 957 return 958 959 neo_tot2: 960 noCaps = 1 961 EbeneAktualisieren() 962 if (Ebene = 1) and !CheckDeadUni("a1",0x0300) 963 deadAsc("``{space}", "dead_grave", "a1") ; Gravis, tot 964 else if (Ebene = 3) and !CheckDeadUni("a3",0x0308) 965 deadAsc(0x00A8, "dead_diaeresis", "a3") ; Di�rese, tot 966 else if (Ebene = 5) and !CheckDeadUni("a5",0x0485) 967 deadUni(0x1FFE, "dead_dasia", "a5") ; Ogonek 968 return 969 970 971 /* 972 973 Reihe 2 974 975 */ 976 977 neo_x: 978 EbeneAktualisieren() 979 if Ebene12 980 OutputChar12("x","X","x","X") 981 else if (Ebene = 3) 982 SendUnicodeChar(0x2026, "ellipsis") ; Ellipse horizontal 983 else if (Ebene = 4) 984 SendUnicodeChar(0x22EE, "U22EE") ; Ellipse vertikal 985 else if (Ebene = 5) 986 SendUnicodeChar(0x03BE, "Greek_xi") ; xi 987 else if (Ebene = 6) 988 SendUnicodeChar(0x039E, "Greek_XI") ; Xi 989 return 990 991 neo_v: 992 EbeneAktualisieren() 993 if (Ebene12 and !(CheckDeadUni12("c6",0x1E7F,0x1E7E))) 994 OutputChar12("v","V","v","V") 995 else if (Ebene = 3) 996 OutputChar("_","underscore") 997 else if (Ebene = 4) and (!lernModus or lernModus_neo_Backspace) 998 OutputChar("{Backspace}", "BackSpace") 999 else if (Ebene = 6) 1000 SendUnicodeChar(0x2259, "U2259") ; estimates/entspricht 1001 return 1002 1003 neo_l: 1004 EbeneAktualisieren() 1005 if (Ebene12 and !(CheckDeadUni12("a1",0x013A,0x0139) 1006 or CheckDeadUni12("a3",0x013C,0x013B) 1007 or CheckDeadUni12("c2",0x013E,0x013D) 1008 or CheckDeadUni12("c4",0x0140,0x013F) 1009 or CheckDeadUni12("c6",0x1E37,0x1E36) 1010 or CheckDeadUni12("t4",0x0142,0x0141))) 1011 OutputChar12("l","L","l","L") 1012 else if (Ebene = 3) 1013 OutputChar("[", "bracketleft") 1014 else if (Ebene = 4) 1015 OutputChar("{Up}", "Up") 1016 else if (Ebene = 5) 1017 SendUnicodeChar(0x03BB, "Greek_lambda") ; lambda 1018 else if (Ebene = 6) 1019 SendUnicodeChar(0x039B, "Greek_LAMBDA") ; Lambda 804 SendUnicodeChar(0x03B2, "Greek_beta") ; beta 805 else if (Ebene = 6) 806 SendUnicodeChar(0x21D2, "implies") ; Doppel-Pfeil rechts 1020 807 return 1021 808 1022 809 neo_c: 1023 810 EbeneAktualisieren() 1024 if (Ebene12 and !(CheckDeadUni12(" a1",0x0107,0x0106)1025 or CheckDeadUni12(" a3",0x00E7,0x00E6)1026 or CheckDeadUni12("a 4",0x010B,0x010A)1027 or CheckDeadUni12(" c1",0x0109,0x0108)1028 or CheckDeadUni12(" c2",0x010D,0x010C)))811 if (Ebene12 and !(CheckDeadUni12("c1",0x0109,0x0108) 812 or CheckDeadUni12("c4",0x010D,0x010C) 813 or CheckDeadUni12("a1",0x0107,0x0106) 814 or CheckDeadUni12("a2",0x00E7,0x00E6) 815 or CheckDeadUni12("a6",0x010B,0x010A))) 1029 816 OutputChar12("c","C","c","C") 1030 817 else if (Ebene = 3) … … 1038 825 return 1039 826 1040 neo_w: 1041 EbeneAktualisieren() 1042 if (Ebene12 and !(CheckDeadUni12("c1",0x0175,0x0174))) 1043 OutputChar12("w","W","w","W") 1044 else if (Ebene = 3) 1045 SendUnicodeChar(0x005E, "asciicircum") ; Zirkumflex 1046 else if (Ebene = 4) 1047 OutputChar("{Insert}", "Insert") ; Einfg 1048 else if (Ebene = 5) 1049 SendUnicodeChar(0x03C9, "Greek_omega") ; omega 1050 else if (Ebene = 6) 1051 SendUnicodeChar(0x03A9, "Greek_OMEGA") ; Omega 1052 return 1053 1054 neo_k: 1055 EbeneAktualisieren() 1056 if (Ebene12 and !(CheckDeadUni12("a3",0x0137,0x0136) 1057 or CheckDeadUni12("c6",0x1E33,0x1E32))) 1058 OutputChar12("k","K","k","K") 1059 else if (Ebene = 3) 1060 OutputChar("{!}", "exclam") 1061 else if (Ebene = 4) 1062 OutputChar("�", "exclamdown") 1063 else if (Ebene = 5) 1064 SendUnicodeChar(0x03F0, "U03F0") ; kappa symbol (varkappa) 1065 else if (Ebene = 6) 1066 SendUnicodeChar(0x221A, "radical") ; Wurzel 1067 return 1068 1069 neo_h: 1070 EbeneAktualisieren() 1071 if (Ebene12 and !(CheckDeadUni12("a4",0x1E23,0x1E22) 1072 or CheckDeadUni12("c1",0x0125,0x0124) 1073 or CheckDeadUni12("c5",0x0127,0x0126) 1074 or CheckDeadUni12("c6",0x1E25,0x1E24))) 1075 OutputChar12("h","H","h","H") 1076 else if ((Ebene = 3) and !(CheckDeadUni("t4",0x2264))) ; kleiner gleich 1077 OutputChar("<", "less") 1078 else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2077) 1079 or CheckDeadUni("t4",0x2087))) 1080 OutputChar("{Numpad7}", "KP_7") 1081 else if (Ebene = 5) 1082 SendUnicodeChar(0x03C8, "Greek_psi") ; psi 1083 else if (Ebene = 6) 1084 SendUnicodeChar(0x03A8, "Greek_PSI") ; Psi 1085 return 1086 1087 neo_g: 1088 EbeneAktualisieren() 1089 if (Ebene12 and !(CheckDeadUni12("a3",0x0123,0x0122) 1090 or CheckDeadUni12("a4",0x0121,0x0120) 1091 or CheckDeadUni12("c1",0x011D,0x011C) 1092 or CheckDeadUni12("c3",0x011F,0x011E))) 1093 OutputChar12("g","G","g","G") 1094 else if ((Ebene = 3) and !(CheckDeadUni("t4",0x2265))) ; gr��er gleich 1095 OutputChar(">", "greater") 1096 else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2078) 1097 or CheckDeadUni("t4",0x2088))) 1098 OutputChar("{Numpad8}", "KP_8") 1099 else if (Ebene = 5) 1100 SendUnicodeChar(0x03B3, "Greek_gamma") ; gamma 1101 else if (Ebene = 6) 1102 SendUnicodeChar(0x0393, "Greek_GAMMA") ; Gamma 1103 return 1104 1105 neo_f: 1106 EbeneAktualisieren() 1107 if (Ebene12 and !(CheckDeadUni12("a4",0x1E1F,0x1E1E) 1108 or CheckDeadUni12("t4",0x0192,0x0191))) 1109 OutputChar12("f","F","f","F") 1110 else if ((Ebene = 3) and !(CheckDeadUni("a6",0x2257) ; ring equal to 1111 or CheckDeadUni("c1",0x2259) ; entspricht 1112 or CheckDeadUni("c2",0x225A) ; EQUIANGULAR TO 1113 or CheckDeadUni("t2",0x2261) ; identisch 1114 or CheckDeadUni("t1",0x2245) ; ungef�hr gleich 1115 or CheckDeadUni("t4",0x2260))) ; ungleich 1116 OutputChar("`=", "equal") 1117 else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2079) 1118 or CheckDeadUni("t4",0x2089))) 1119 OutputChar("{Numpad9}", "KP_9") 1120 else if (Ebene = 5) 1121 SendUnicodeChar(0x03C6, "Greek_phi") ; phi 1122 else if (Ebene = 6) 1123 SendUnicodeChar(0x03A6, "Greek_PHI") ; Phi 1124 return 1125 1126 neo_q: 1127 EbeneAktualisieren() 1128 if (Ebene12) 1129 OutputChar12("q","Q","q","Q") 1130 else if (Ebene = 3) 1131 OutputChar("{&}", "ampersand") 1132 else if ((Ebene = 4) and !(CheckDeadUni("c1",0x207A) 1133 or CheckDeadUni("c5",0x208A))) 1134 OutputChar("{NumPadAdd}", "plus") ; !!! 1135 else if (Ebene = 5) 1136 SendUnicodeChar(0x03D5, "U03D5") ; phi symbol (varphi) 1137 else if (Ebene = 6) 1138 SendUnicodeChar(0x211A, "U211A") ; Q (rationale Zahlen) 1139 return 1140 1141 neo_sz: 1142 EbeneAktualisieren() 1143 if (Ebene = 1) 1144 if LangSTastatur 1145 OutputChar("s", "s") 1146 else OutputChar("�", "ssharp") 1147 else if (Ebene = 2) 1148 SendUnicodeChar(0x1E9E, "U1E9E") ; versal-� 1149 else if (Ebene = 3) 1150 if LangSTastatur 1151 OutputChar("�", "ssharp") 1152 else SendUnicodeChar(0x017F, "17F") ; langes s 1153 else if (Ebene = 5) 1154 SendUnicodeChar(0x03C2, "Greek_finalsmallsigma") ; varsigma 1155 else if (Ebene = 6) 1156 SendUnicodeChar(0x2218, "jot") ; Verkn�pfungsoperator 1157 return 1158 1159 1160 neo_tot3: 1161 noCaps = 1 1162 EbeneAktualisieren() 1163 if (Ebene = 1) and !CheckDeadUni("t1",0x0301) 1164 deadUni({�}{space}, "dead_acute", "t1") ; Akut, tot 1165 else if (Ebene = 2) and !CheckDeadUni("t2",0x0327) 1166 deadUni("�", "dead_cedilla", "t2") ; Cedille, tot 1167 else if (Ebene = 3) and !CheckDeadUni("t3",0x0337) 1168 deadUni(0x002F, "dead_stroke", "t3") ; Strich, tot 1169 else if (Ebene = 4) and !CheckDeadUni("t4",0x0338) 1170 deadUni(0x02DD, "dead_doubleacute", "t4") ; Doppelakut, tot 1171 else if (Ebene = 5) and !CheckDeadUni("t5",0x0486) 1172 deadUni(0x1FBF, "", "t5") ; Spiritus lenis, tot 1173 else if (Ebene = 6) and !CheckDeadUni("t6",0x0307) 1174 deadUni(0x02D9, "dead_abovedot", "t6") ; Punkt dar�ber, tot 1175 return 1176 1177 1178 /* 1179 1180 Reihe 3 1181 1182 */ 1183 1184 neo_u: 1185 EbeneAktualisieren() 1186 if (Ebene12 and !(CheckDeadUni12("a1",0x00FA,0x00DA) 1187 or CheckDeadUni12("a2",0x00F9,0x00D9) 1188 or CheckDeadUni12("a5",0x0173,0x0172) 1189 or CheckDeadUni12("a6",0x016F,0x016E) 1190 or CheckDeadUni12("c1",0x00FB,0x00DB) 1191 or CheckDeadUni12("c2",0x01D4,0x01D3) 1192 or CheckDeadUni12("c3",0x016D,0x016C) 1193 or CheckDeadUni12("t1",0x0169,0x0168) 1194 or CheckDeadUni12("t2",0x016B,0x016A) 1195 or CheckDeadAsc12("t3","�","�") 1196 or CheckDeadUni12("t5",0x0171,0x0170))) 1197 OutputChar12("u","U","u","U") 1198 else if (Ebene = 3) 1199 OutputChar("\", "backslash") 1200 else if (Ebene = 4) 1201 OutputChar("{Home}", "Home") 1202 else if (Ebene = 6) 1203 SendUnicodeChar(0x222E, "U222E") ; contour integral 1204 return 1205 1206 neo_i: 1207 EbeneAktualisieren() 1208 if (Ebene12 and !(CheckDeadUni12("a1",0x00ED,0x00CD) 1209 or CheckDeadUni12("a2",0x00EC,0x00CC) 1210 or CheckDeadUni12("a4",0x012F,0x012E) 1211 or CheckDeadUni12("a5",0x0131,0x0130) 1212 or CheckDeadUni12("c1",0x00EE,0x00CE) 1213 or CheckDeadUni12("c2",0x01D0,0x01CF) 1214 or CheckDeadUni12("c3",0x012D,0x012C) 1215 or CheckDeadUni12("t1",0x0129,0x0128) 1216 or CheckDeadUni12("t2",0x012B,0x012A) 1217 or CheckDeadAsc12("t3","�","�"))) 1218 OutputChar12("i","I","i","I") 1219 else if (Ebene = 3) 1220 OutputChar("`/", "slash") 1221 else if (Ebene = 4) 1222 OutputChar("{Left}", "Left") 1223 else if (Ebene = 5) 1224 SendUnicodeChar(0x03B9, "Greek_iota") ; iota 1225 else if (Ebene = 6) 1226 SendUnicodeChar(0x222B, "integral") ; integral 1227 return 1228 1229 neo_a: 1230 EbeneAktualisieren() 1231 if (Ebene12 and !(CheckDeadUni12("a1",0x00E1,0x00C1) 1232 or CheckDeadUni12("a2",0x00E0,0x00C0) 1233 or CheckDeadUni12("a5",0x0105,0x0104) 1234 or CheckDeadAsc12("a6","�","�") 1235 or CheckDeadUni12("c1",0x00E2,0x00C2) 1236 or CheckDeadUni12("c2",0x01CE,0x01CD) 1237 or CheckDeadUni12("c3",0x0103,0x0102) 1238 or CheckDeadUni12("t1",0x00E3,0x00C3) 1239 or CheckDeadUni12("t2",0x0101,0x0100) 1240 or CheckDeadAsc12("t3","�","�"))) 1241 OutputChar12("a","A","a","A") 1242 else if (Ebene = 3) 1243 OutputChar("{{}", "braceleft") 1244 else if (Ebene = 4) 1245 OutputChar("{Down}", "Down") 1246 else if (Ebene = 5) 1247 SendUnicodeChar(0x03B1, "Greek_alpha") ; alpha 1248 else if (Ebene = 6) 1249 SendUnicodeChar(0x2200, "U2200") ; f�r alle 827 neo_d: 828 EbeneAktualisieren() 829 if (Ebene12 and !(CheckDeadUni12("c1",0x1E13,0x1E12) 830 or CheckDeadUni( "c2",0x1D6D) 831 or CheckDeadUni12("c4",0x010F,0x010E) 832 or CheckDeadUni12("g3",0x1E0D,0x1E0C) 833 or CheckDeadUni12("a1",0x00F0,0x00D0) 834 or CheckDeadUni12("a2",0x1E11,0x1E10) 835 or CheckDeadUni12("a3",0x0111,0x0110) 836 or CheckDeadUni12("a6",0x1E0B,0x1E0A))) 837 OutputChar12("d","D","d","D") 838 else if (Ebene = 3) 839 OutputChar(":", "colon") 840 else if (Ebene = 4) 841 OutputChar("{NumpadDot}", "comma") 842 else if (Ebene = 5) 843 SendUnicodeChar(0x03B4, "Greek_delta") ; delta 844 else if (Ebene = 6) 845 SendUnicodeChar(0x0394, "Greek_DELTA") ; Delta 1250 846 return 1251 847 … … 1273 869 return 1274 870 871 neo_f: 872 EbeneAktualisieren() 873 if (Ebene12 and !(CheckDeadUni12("a6",0x1E1F,0x1E1E))) 874 OutputChar12("f","F","f","F") 875 else if ((Ebene = 3) and !(CheckDeadUni("c1",0x2259) ; entspricht 876 or CheckDeadUni("c2",0x2245) ; ungef�hr gleich 877 or CheckDeadUni("c3",0x2257) ; ring equal to 878 or CheckDeadUni("c4",0x225A) ; EQUIANGULAR TO 879 or CheckDeadUni("c6",0x2261) ; identisch 880 or CheckDeadUni("a3",0x2260))) ; ungleich 881 OutputChar("`=", "equal") 882 else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2079) 883 or CheckDeadUni("a3",0x2089))) 884 OutputChar("{Numpad9}", "KP_9") 885 else if (Ebene = 5) 886 SendUnicodeChar(0x03C6, "Greek_phi") ; phi 887 else if (Ebene = 6) 888 SendUnicodeChar(0x03A6, "Greek_PHI") ; Phi 889 return 890 891 neo_g: 892 EbeneAktualisieren() 893 if (Ebene12 and !(CheckDeadUni12("c1",0x011D,0x011C) 894 or CheckDeadUni12("c5",0x011F,0x011E) 895 or CheckDeadUni12("a2",0x0123,0x0122) 896 or CheckDeadUni12("a6",0x0121,0x0120))) 897 OutputChar12("g","G","g","G") 898 else if ((Ebene = 3) and !(CheckDeadUni("a3",0x2265))) ; gr��er gleich 899 OutputChar(">", "greater") 900 else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2078) 901 or CheckDeadUni("a3",0x2088))) 902 OutputChar("{Numpad8}", "KP_8") 903 else if (Ebene = 5) 904 SendUnicodeChar(0x03B3, "Greek_gamma") ; gamma 905 else if (Ebene = 6) 906 SendUnicodeChar(0x0393, "Greek_GAMMA") ; Gamma 907 return 908 909 neo_h: 910 EbeneAktualisieren() 911 if (Ebene12 and !(CheckDeadUni12("c1",0x0125,0x0124) 912 or CheckDeadUni12("a3",0x0127,0x0126) 913 or CheckDeadUni12("a6",0x1E23,0x1E22))) 914 OutputChar12("h","H","h","H") 915 else if ((Ebene = 3) and !(CheckDeadUni("a3",0x2264))) ; kleiner gleich 916 OutputChar("<", "less") 917 else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2077) 918 or CheckDeadUni("a3",0x2087))) 919 OutputChar("{Numpad7}", "KP_7") 920 else if (Ebene = 5) 921 SendUnicodeChar(0x03C8, "Greek_psi") ; psi 922 else if (Ebene = 6) 923 SendUnicodeChar(0x03A8, "Greek_PSI") ; Psi 924 return 925 926 neo_i: 927 EbeneAktualisieren() 928 if (Ebene12 and !(CheckDeadUni12("c1",0x00EE,0x00CE) 929 or CheckDeadUni12("c2",0x0129,0x0128) 930 or CheckDeadUni12("c4",0x01D0,0x01CF) 931 or CheckDeadUni12("c5",0x012D,0x012C) 932 or CheckDeadUni12("c6",0x012B,0x012A) 933 or CheckDeadUni12("g1",0x00EC,0x00CC) 934 or CheckDeadAsc12("g3","�","�") 935 or CheckDeadUni12("a1",0x00ED,0x00CD) 936 or CheckDeadUni12("a2",0x0131,0x0130) 937 or CheckDeadUni12("a6",0x012F,0x012E))) 938 OutputChar12("i","I","i","I") 939 else if (Ebene = 3) 940 OutputChar("`/", "slash") 941 else if (Ebene = 4) 942 OutputChar("{Left}", "Left") 943 else if (Ebene = 5) 944 SendUnicodeChar(0x03B9, "Greek_iota") ; iota 945 else if (Ebene = 6) 946 SendUnicodeChar(0x222B, "integral") ; integral 947 return 948 949 neo_j: 950 EbeneAktualisieren() 951 if (Ebene12 and !(CheckDeadUni12("c1",0x0135,0x0134) 952 or CheckDeadUni( "c4",0x01F0))) 953 OutputChar12("j","J","j","J") 954 else if (Ebene = 3) 955 OutputChar("`;", "semicolon") 956 else if (Ebene = 4) 957 OutputChar("`;", "semicolon") 958 else if (Ebene = 5) 959 SendUnicodeChar(0x03B8, "Greek_theta") ; theta 960 else if (Ebene = 6) 961 SendUnicodeChar(0x2261, "identical") ; identisch 962 return 963 964 neo_k: 965 EbeneAktualisieren() 966 if (Ebene12 and !(CheckDeadUni12("a2",0x0137,0x0136) 967 or CheckDeadUni12("a6",0x1E33,0x1E32))) 968 OutputChar12("k","K","k","K") 969 else if (Ebene = 3) 970 OutputChar("{!}", "exclam") 971 else if (Ebene = 4) 972 OutputChar("�", "exclamdown") 973 else if (Ebene = 5) 974 SendUnicodeChar(0x03F0, "U03F0") ; kappa symbol (varkappa) 975 else if (Ebene = 6) 976 SendUnicodeChar(0x221A, "radical") ; Wurzel 977 return 978 979 neo_l: 980 EbeneAktualisieren() 981 if (Ebene12 and !(CheckDeadUni12("c4",0x013E,0x013D) 982 or CheckDeadUni12("a1",0x013A,0x0139) 983 or CheckDeadUni12("a2",0x013C,0x013B) 984 or CheckDeadUni12("a3",0x0142,0x0141) 985 or CheckDeadUni12("a6",0x1E37,0x1E36))) 986 OutputChar12("l","L","l","L") 987 else if (Ebene = 3) 988 OutputChar("[", "bracketleft") 989 else if (Ebene = 4) 990 OutputChar("{Up}", "Up") 991 else if (Ebene = 5) 992 SendUnicodeChar(0x03BB, "Greek_lambda") ; lambda 993 else if (Ebene = 6) 994 SendUnicodeChar(0x039B, "Greek_LAMBDA") ; Lambda 995 return 996 997 neo_m: 998 EbeneAktualisieren() 999 if (Ebene12 and !CheckDeadUni12("a6",0x1E41,0x1E40)) 1000 OutputChar12("m","M","m","M") 1001 else if (Ebene = 3) 1002 OutputChar("`%", "percent") 1003 else if ((Ebene = 4) and !(CheckDeadUni("c1",0x00B9) 1004 or CheckDeadUni("a3",0x2081))) 1005 OutputChar("{Numpad1}", "KP_1") 1006 else if (Ebene = 5) 1007 SendUnicodeChar(0x03BC, "Greek_mu") ; griechisch mu, micro w�re 0x00B5 1008 else if (Ebene = 6) 1009 SendUnicodeChar(0x21D4, "ifonlyif") ; doppelter Doppelpfeil (genau dann wenn) 1010 return 1011 1012 neo_n: 1013 EbeneAktualisieren() 1014 if (Ebene12 and !(CheckDeadUni12("c2",0x00F1,0x00D1) 1015 or CheckDeadUni12("c4",0x0148,0x0147) 1016 or CheckDeadUni12("a1",0x0144,0x0143) 1017 or CheckDeadUni12("a2",0x0146,0x0145) 1018 or CheckDeadUni12("a6",0x1E45,0x1E44))) 1019 OutputChar12("n","N","n","N") 1020 else if (Ebene = 3) 1021 OutputChar("(", "parenleft") 1022 else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2074) 1023 or CheckDeadUni("a3",0x2084))) 1024 OutputChar("{Numpad4}", "KP_4") 1025 else if (Ebene = 5) 1026 SendUnicodeChar(0x03BD, "Greek_nu") ; nu 1027 else if (Ebene = 6) 1028 SendUnicodeChar(0x2115, "U2115") ; N (nat�rliche Zahlen) 1029 return 1030 1275 1031 neo_o: 1276 1032 EbeneAktualisieren() 1277 if (Ebene12 and !(CheckDeadUni12(" a1",0x00F3,0x00D3)1278 or CheckDeadUni12(" a2",0x00F2,0x00D2)1279 or CheckDeadUni12(" a5",0x01EB,0x01EA)1280 or CheckDeadUni12("c 1",0x00F4,0x00D4)1281 or CheckDeadUni12("c 2",0x01D2,0x01D1)1282 or CheckDeadUni12(" c3",0x014F,0x014E)1283 or CheckDead Uni12("t1",0x00F5,0x00D5)1284 or CheckDeadUni12(" t2",0x014D,0x014C)1285 or CheckDead Asc12("t3","�","�")1286 or CheckDeadUni12(" t4",0x00F8,0x00D8)1287 or CheckDeadUni12(" t5",0x0151,0x0150)))1033 if (Ebene12 and !(CheckDeadUni12("c1",0x00F4,0x00D4) 1034 or CheckDeadUni12("c2",0x00F5,0x00D5) 1035 or CheckDeadUni12("c4",0x01D2,0x01D1) 1036 or CheckDeadUni12("c5",0x014F,0x014E) 1037 or CheckDeadUni12("c6",0x014D,0x014C) 1038 or CheckDeadUni12("g1",0x00F2,0x00D2) 1039 or CheckDeadAsc12("g3","�","�") 1040 or CheckDeadUni12("a1",0x00F3,0x00D3) 1041 or CheckDeadUni12("a2",0x01EB,0x01EA) 1042 or CheckDeadUni12("a3",0x00F8,0x00D8) 1043 or CheckDeadUni12("a4",0x0151,0x0150))) 1288 1044 OutputChar12("o","O","o","O") 1289 1045 else if (Ebene = 3) … … 1297 1053 return 1298 1054 1055 neo_p: 1056 EbeneAktualisieren() 1057 if (Ebene12 and !(CheckDeadUni12("a6",0x1E57,0x1E56))) 1058 OutputChar12("p","P","p","P") 1059 else if ((Ebene = 3) and !(CheckDeadUni("c2",0x2248))) 1060 OutputChar("~", "asciitilde") 1061 else if (Ebene = 4) 1062 OutputChar("{Enter}", "Return") 1063 else if (Ebene = 5) 1064 SendUnicodeChar(0x03C0, "Greek_pi") ; pi 1065 else if (Ebene = 6) 1066 SendUnicodeChar(0x03A0, "Greek_PI") ; Pi 1067 return 1068 1069 neo_q: 1070 EbeneAktualisieren() 1071 if (Ebene12) 1072 OutputChar12("q","Q","q","Q") 1073 else if (Ebene = 3) 1074 OutputChar("{&}", "ampersand") 1075 else if ((Ebene = 4) and !(CheckDeadUni("c1",0x207A) 1076 or CheckDeadUni("a3",0x208A))) 1077 OutputChar("{NumPadAdd}", "KP_Add") 1078 else if (Ebene = 5) 1079 SendUnicodeChar(0x03D5, "U03D5") ; phi symbol (varphi) 1080 else if (Ebene = 6) 1081 SendUnicodeChar(0x211A, "U211A") ; Q (rationale Zahlen) 1082 return 1083 1084 neo_r: 1085 EbeneAktualisieren() 1086 if (Ebene12 and !(CheckDeadUni12("c4",0x0159,0x0158) 1087 or CheckDeadUni12("g3",0x1E5B,0x1E5A) 1088 or CheckDeadUni12("a1",0x0155,0x0154) 1089 or CheckDeadUni12("a2",0x0157,0x0156) 1090 or CheckDeadUni12("a6",0x0E59,0x0E58))) 1091 OutputChar12("r","R","r","R") 1092 else if (Ebene = 3) 1093 OutputChar(")", "parenright") 1094 else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2075) 1095 or CheckDeadUni("a3",0x2085))) 1096 OutputChar("{Numpad5}", "KP_5") 1097 else if (Ebene = 5) 1098 SendUnicodeChar(0x03F1, "U03F1") ; rho symbol (varrho) 1099 else if (Ebene = 6) 1100 SendUnicodeChar(0x211D, "U221D") ; R (reelle Zahlen) 1101 return 1102 1299 1103 neo_s: 1300 1104 EbeneAktualisieren() 1301 if (Ebene12 and ! (CheckDeadUni12("a1",0x015B,0x015A)1302 or CheckDeadUni12("a 3",0x015F,0x015E)1303 or CheckDeadUni12("a 4",0x1E61,0x1E60)1105 if (Ebene12 and !LangSTastatur and !(CheckDeadUni12("a1",0x015B,0x015A) 1106 or CheckDeadUni12("a2",0x015F,0x015E) 1107 or CheckDeadUni12("a6",0x1E61,0x1E60) 1304 1108 or CheckDeadUni12("c1",0x015D,0x015C) 1305 or CheckDeadUni12("c 2",0x0161,0x0160)1306 or CheckDeadUni12(" c6",0x1E63,0x1A62))) {1109 or CheckDeadUni12("c4",0x0161,0x0160) 1110 or CheckDeadUni12("a6",0x1E63,0x1A62))) { 1307 1111 if LangSTastatur and (Ebene = 1) 1308 1112 SendUnicodeChar(0x017F, "17F") ; langes s … … 1322 1126 return 1323 1127 1324 neo_n:1325 EbeneAktualisieren()1326 if (Ebene12 and !(CheckDeadUni12("a1",0x0144,0x0143)1327 or CheckDeadUni12("a3",0x0146,0x0145)1328 or CheckDeadUni12("a4",0x1E45,0x1E44)1329 or CheckDeadUni12("c2",0x0148,0x0147)1330 or CheckDeadUni12("t1",0x00F1,0x00D1)))1331 OutputChar12("n","N","n","N")1332 else if (Ebene = 3)1333 OutputChar("(", "parenleft")1334 else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2074)1335 or CheckDeadUni("t4",0x2084)))1336 OutputChar("{Numpad4}", "KP_4")1337 else if (Ebene = 5)1338 SendUnicodeChar(0x03BD, "Greek_nu") ; nu1339 else if (Ebene = 6)1340 SendUnicodeChar(0x2115, "U2115") ; N (nat�rliche Zahlen)1341 return1342 1343 neo_r:1344 EbeneAktualisieren()1345 if (Ebene12 and !(CheckDeadUni12("a1",0x0155,0x0154)1346 or CheckDeadUni12("a3",0x0157,0x0156)1347 or CheckDeadUni12("a4",0x0E59,0x0E58)1348 or CheckDeadUni12("c2",0x0159,0x0158)1349 or CheckDeadUni12("t3",0x1E5B,0x1E5A)))1350 OutputChar12("r","R","r","R")1351 else if (Ebene = 3)1352 OutputChar(")", "parenright")1353 else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2075)1354 or CheckDeadUni("t4",0x2085)))1355 OutputChar("{Numpad5}", "KP_5")1356 else if (Ebene = 5)1357 SendUnicodeChar(0x03F1, "U03F1") ; rho symbol (varrho)1358 else if (Ebene = 6)1359 SendUnicodeChar(0x211D, "U221D") ; R (reelle Zahlen)1360 return1361 1362 1128 neo_t: 1363 1129 EbeneAktualisieren() 1364 if (Ebene12 and !(CheckDeadUni12("a3",0x0163,0x0162) 1365 or CheckDeadUni12("a4",0x1E6B,0x1E6A) 1366 or CheckDeadUni12("c2",0x0165,0x0164) 1367 or CheckDeadUni12("c5",0x0167,0x0166) 1368 or CheckDeadUni12("t4",0x1E6D,0x1E6C) 1369 or CheckDeadUni("t3",0x1E97))) 1130 if (Ebene12 and !(CheckDeadUni12("a2",0x0163,0x0162) 1131 or CheckDeadUni12("a6",0x1E6B,0x1E6A) 1132 or CheckDeadUni12("c4",0x0165,0x0164) 1133 or CheckDeadUni( "g3",0x1E97))) 1370 1134 OutputChar12("t","T","t","T") 1371 1135 else if (Ebene = 3) … … 1380 1144 return 1381 1145 1382 neo_d: 1383 EbeneAktualisieren() 1384 if (Ebene12 and !(CheckDeadUni12("a4",0x1E0B,0x1E0A) 1385 or CheckDeadUni12("c2",0x010F,0x010E) 1386 or CheckDeadUni12("t2",0x0111,0x0110) 1387 or CheckDeadUni12("t3",0x1E0D,0x1E0C) 1388 or CheckDeadUni12("t4",0x00F0,0x00D0))) 1389 OutputChar12("d","D","d","D") 1390 else if (Ebene = 3) 1391 OutputChar(":", "colon") 1392 else if (Ebene = 4) 1393 OutputChar("{NumpadDot}", "comma") 1394 else if (Ebene = 5) 1395 SendUnicodeChar(0x03B4, "Greek_delta") ; delta 1396 else if (Ebene = 6) 1397 SendUnicodeChar(0x0394, "Greek_DELTA") ; Delta 1146 neo_u: 1147 EbeneAktualisieren() 1148 if (Ebene12 and !(CheckDeadUni12("c1",0x00FB,0x00DB) 1149 or CheckDeadUni12("c2",0x0169,0x0168) 1150 or CheckDeadUni12("c3",0x016F,0x016E) 1151 or CheckDeadUni12("c4",0x01D4,0x01D3) 1152 or CheckDeadUni12("c5",0x016D,0x016C) 1153 or CheckDeadUni12("c6",0x016B,0x016A) 1154 or CheckDeadUni12("g1",0x00F9,0x00D9) 1155 or CheckDeadAsc12("g3","�","�") 1156 or CheckDeadUni12("a1",0x00FA,0x00DA) 1157 or CheckDeadUni12("a2",0x0173,0x0172) 1158 or CheckDeadUni12("a4",0x0171,0x0170))) 1159 OutputChar12("u","U","u","U") 1160 else if (Ebene = 3) 1161 OutputChar("\", "backslash") 1162 else if (Ebene = 4) 1163 OutputChar("{Home}", "Home") 1164 else if (Ebene = 6) 1165 SendUnicodeChar(0x222E, "U222E") ; contour integral 1166 return 1167 1168 neo_v: 1169 EbeneAktualisieren() 1170 if (Ebene12 and !(CheckDeadUni12("a6",0x1E7F,0x1E7E))) 1171 OutputChar12("v","V","v","V") 1172 else if (Ebene = 3) 1173 OutputChar("_","underscore") 1174 else if (Ebene = 4) and (!lernModus or lernModus_neo_Backspace) 1175 OutputChar("{Backspace}", "BackSpace") 1176 else if (Ebene = 6) 1177 SendUnicodeChar(0x2259, "U2259") ; estimates/entspricht 1178 return 1179 1180 neo_w: 1181 EbeneAktualisieren() 1182 if (Ebene12 and !(CheckDeadUni12("c1",0x0175,0x0174))) 1183 OutputChar12("w","W","w","W") 1184 else if (Ebene = 3) 1185 SendUnicodeChar(0x005E, "asciicircum") ; Zirkumflex 1186 else if (Ebene = 4) 1187 OutputChar("{Insert}", "Insert") ; Einfg 1188 else if (Ebene = 5) 1189 SendUnicodeChar(0x03C9, "Greek_omega") ; omega 1190 else if (Ebene = 6) 1191 SendUnicodeChar(0x03A9, "Greek_OMEGA") ; Omega 1192 return 1193 1194 neo_x: 1195 EbeneAktualisieren() 1196 if Ebene12 1197 OutputChar12("x","X","x","X") 1198 else if (Ebene = 3) 1199 SendUnicodeChar(0x2026, "ellipsis") ; Ellipse horizontal 1200 else if (Ebene = 4) 1201 SendUnicodeChar(0x22EE, "U22EE") ; Ellipse vertikal 1202 else if (Ebene = 5) 1203 SendUnicodeChar(0x03BE, "Greek_xi") ; xi 1204 else if (Ebene = 6) 1205 SendUnicodeChar(0x039E, "Greek_XI") ; Xi 1398 1206 return 1399 1207 1400 1208 neo_y: 1401 1209 EbeneAktualisieren() 1402 if (Ebene12 and !(CheckDeadUni12(" a1",0x00FD,0x00DD)1403 or CheckDead Uni12("c1",0x0177,0x0176)1404 or CheckDead Asc12("t3","�","�")))1210 if (Ebene12 and !(CheckDeadUni12("c1",0x0177,0x0176) 1211 or CheckDeadAsc12("g3","�","�") 1212 or CheckDeadUni12("a1",0x00FD,0x00DD))) 1405 1213 OutputChar12("y","Y","y","Y") 1406 1214 else if (Ebene = 3) … … 1414 1222 return 1415 1223 1416 /* 1417 1418 Reihe 4 1419 1420 */ 1224 neo_z: 1225 EbeneAktualisieren() 1226 if (Ebene12 and !(CheckDeadUni12("a1",0x017A,0x0179) 1227 or CheckDeadUni12("a6",0x017C,0x017B) 1228 or CheckDeadUni12("c4",0x017E,0x017D))) 1229 OutputChar12("z","Z","z","Z") 1230 else if (Ebene = 3) 1231 OutputChar("``{space}", "grave") ; untot 1232 else if (Ebene = 4) 1233 send {Ctrl down}z{Ctrl up} 1234 else if (Ebene = 5) 1235 SendUnicodeChar(0x03B6, "Greek_zeta") ; zeta 1236 else if (Ebene = 6) 1237 SendUnicodeChar(0x2124, "U2124") ; Z (ganze Zahlen) 1238 return 1421 1239 1422 1240 neo_�: 1423 1241 EbeneAktualisieren() 1242 if (Ebene12 and !(CheckDeadUni12("c6",0x01DF,0x01DE))) 1243 OutputChar12("�","�","adiaeresis","Adiaeresis") 1244 else if (Ebene = 3) 1245 OutputChar("|", "bar") 1246 else if (Ebene = 4) 1247 OutputChar("{PgDn}", "Next") 1248 else if (Ebene = 5) 1249 SendUnicodeChar(0x03B7, "Greek_eta") ; eta 1250 else if (Ebene = 6) 1251 SendUnicodeChar(0x211C, "U221C") ; Fraktur R 1252 return 1253 1254 neo_�: 1255 EbeneAktualisieren() 1256 if (Ebene12 and !(CheckDeadUni12("c6",0x022B,0x022A))) 1257 OutputChar12("�","�","odiaeresis","Odiaeresis") 1258 else if (Ebene = 3) 1259 OutputChar("$", "dollar") 1260 else if (Ebene = 4) 1261 OutputChar("{Tab}", "Tab") 1262 else if (Ebene = 6) 1263 SendUnicodeChar(0x2111, "U2221") ; Fraktur I 1264 return 1265 1266 neo_�: 1267 EbeneAktualisieren() 1424 1268 if (Ebene12 and !(CheckDeadUni12("a1",0x01D8,0x01D7) 1425 or CheckDeadUni12(" a2",0x01DC,0x01DB)1426 or CheckDeadUni12("c 2",0x01DA,0x01D9)1427 or CheckDeadUni12(" t2",0x01D6,0x01D5)))1269 or CheckDeadUni12("g1",0x01DC,0x01DB) 1270 or CheckDeadUni12("c4",0x01DA,0x01D9) 1271 or CheckDeadUni12("c6",0x01D6,0x01D5))) 1428 1272 OutputChar12("�","�","udiaeresis","Udiaeresis") 1429 1273 else if (Ebene = 3) … … 1437 1281 return 1438 1282 1439 neo_�: 1440 EbeneAktualisieren() 1441 if (Ebene12 and !(CheckDeadUni12("t2",0x022B,0x022A))) 1442 OutputChar12("�","�","odiaeresis","Odiaeresis") 1283 neo_sz: 1284 EbeneAktualisieren() 1285 if (Ebene = 1) 1286 if LangSTastatur 1287 OutputChar("s", "s") 1288 else OutputChar("�", "ssharp") 1289 else if (Ebene = 2) 1290 SendUnicodeChar(0x1E9E, "U1E9E") ; versal-� 1443 1291 else if (Ebene = 3) 1444 OutputChar("$", "dollar") 1292 if LangSTastatur 1293 OutputChar("�", "ssharp") 1294 else SendUnicodeChar(0x017F, "17F") ; langes s 1295 else if (Ebene = 5) 1296 SendUnicodeChar(0x03C2, "Greek_finalsmallsigma") ; varsigma 1297 else if (Ebene = 6) 1298 SendUnicodeChar(0x2218, "jot") ; Verkn�pfungsoperator 1299 return 1300 1301 neo_0: 1302 noCaps = 1 1303 EbeneAktualisieren() 1304 if Ebene12 and !(CheckDeadUni("c1",0x2070) ; Hochgestellte 0 1305 or CheckDeadUni("a3",0x2080)) ; Tiefgestellte 0 1306 OutputChar12(0,"�",0,"rightdoublequotemark") 1307 else if (Ebene = 3) 1308 OutputChar("�", "rightsingleqoutemark") 1309 else if (Ebene = 4) 1310 OutputChar("{NumpadSub}", "KP_Minus") 1311 else if (Ebene = 6) 1312 SendUnicodeChar(0x2205, "emptyset") ; leere Menge 1313 return 1314 1315 neo_1: 1316 noCaps=1 1317 EbeneAktualisieren() 1318 if Ebene12 and !(CheckDeadUni("c1",0x00B9) ; Hochgestellte 1 1319 or CheckDeadUni("a3",0x2081)) ; Tiefgestellte 1 1320 OutputChar12(1,"�",1,"degree") 1321 else if (Ebene = 3) 1322 SendUnicodeChar(0x00B9, "onesuperior") ; Hochgestellte 1 1445 1323 else if (Ebene = 4) 1446 OutputChar("{Tab}", "Tab") 1447 else if (Ebene = 6) 1448 SendUnicodeChar(0x2111, "U2221") ; Fraktur I 1449 return 1450 1451 neo_�: 1452 EbeneAktualisieren() 1453 if (Ebene12 and !(CheckDeadUni12("t2",0x01DF,0x01DE))) 1454 OutputChar12("�","�","adiaeresis","Adiaeresis") 1324 SendUnicodeChar(0x2022, "enfilledcircbullet") ; Bullet 1325 else if (Ebene = 5) 1326 SendUnicodeChar(0x2081, "U2081") ; Tiefgestellte 1 1327 else if (Ebene = 6) 1328 SendUnicodeChar(0x00AC, "notsign") ; Nicht-Symbol 1329 return 1330 1331 neo_2: 1332 noCaps = 1 1333 EbeneAktualisieren() 1334 if (Ebene = 1 and !(CheckDeadUni("c1",0x00B2) ; Hochgestellte 2 1335 or CheckDeadUni("a3",0x2082))) ; Tiefgestellte 2 1336 OutputChar(2,2) 1337 else if (Ebene = 2) 1338 SendUnicodeChar(0x2116, "numerosign") ; Numero 1455 1339 else if (Ebene = 3) 1456 OutputChar("|", "bar")1340 SendUnicodeChar(0x00B2, "twosuperior") ; Hochgestellte 2 1457 1341 else if (Ebene = 4) 1458 OutputChar("{PgDn}", "Next")1342 SendUnicodeChar(0x2023, "U2023") ; Aufz�hlungspfeil 1459 1343 else if (Ebene = 5) 1460 SendUnicodeChar(0x03B7, "Greek_eta") ; eta 1461 else if (Ebene = 6) 1462 SendUnicodeChar(0x211C, "U221C") ; Fraktur R 1463 return 1464 1465 neo_p: 1466 EbeneAktualisieren() 1467 if (Ebene12 and !(CheckDeadUni12("a4",0x1E57,0x1E56))) 1468 OutputChar12("p","P","p","P") 1469 else if ((Ebene = 3) and !(CheckDeadUni("t1",0x2248))) 1470 OutputChar("~", "asciitilde") 1344 SendUnicodeChar(0x2082, "U2082") ; Tiefgestellte 2 1345 else if (Ebene = 6) 1346 SendUnicodeChar(0x2228, "logicalor") ; Logisches Oder 1347 return 1348 1349 neo_3: 1350 noCaps = 1 1351 EbeneAktualisieren() 1352 if Ebene12 and !(CheckDeadUni("c1",0x00B3) ; Hochgestellte 3 1353 or CheckDeadUni("a3",0x2083)) ; Tiefgestellte 3 1354 OutputChar12(3,"�",3,"section") 1355 else if (Ebene = 3) 1356 SendUnicodeChar(0x00B3, "threesuperior") ; Hochgestellte 3 1471 1357 else if (Ebene = 4) 1472 OutputChar("{Enter}", "Return")1358 SendUnicodeChar(0x266B, "U226B") ; 2 Achtelnoten 1473 1359 else if (Ebene = 5) 1474 SendUnicodeChar(0x03C0, "Greek_pi") ; pi 1475 else if (Ebene = 6) 1476 SendUnicodeChar(0x03A0, "Greek_PI") ; Pi 1477 return 1478 1479 neo_z: 1480 EbeneAktualisieren() 1481 if (Ebene12 and !(CheckDeadUni12("a1",0x017A,0x0179) 1482 or CheckDeadUni12("a4",0x017C,0x017B) 1483 or CheckDeadUni12("c2",0x017E,0x017D) 1484 or CheckDeadUni12("c6",0x1E93,0x1E92))) 1485 OutputChar12("z","Z","z","Z") 1360 SendUnicodeChar(0x2083, "U2083") ; Tiefgestellte 3 1361 else if (Ebene = 6) 1362 SendUnicodeChar(0x2227, "logicaland") ; Logisches Und 1363 return 1364 1365 neo_4: 1366 noCaps = 1 1367 EbeneAktualisieren() 1368 if (Ebene = 1) and !(CheckDeadUni("c1",0x2074) ; Hochgestellte 4 1369 or CheckDeadUni("a3",0x2084)) ; Tiefgestellte 4 1370 OutputChar(4,4) 1371 else if (Ebene = 2) 1372 SendUnicodeChar(0x00BB, "guillemotright") ; Double guillemot right 1486 1373 else if (Ebene = 3) 1487 OutputChar("``{space}", "grave") ; untot 1374 OutputChar("�", "U230A") ; Single guillemot right 1375 else if (Ebene = 4) 1376 OutputChar("{PgUp}", "Prior") ; Bild auf 1488 1377 else if (Ebene = 5) 1489 SendUnicodeChar(0x03B6, "Greek_zeta") ; zeta 1490 else if (Ebene = 6) 1491 SendUnicodeChar(0x2124, "U2124") ; Z (ganze Zahlen) 1492 return 1493 1494 neo_b: 1495 EbeneAktualisieren() 1496 if (Ebene12 and !(CheckDeadUni12("a4",0x1E03,0x1E02))) 1497 OutputChar12("b","B","b","B") 1378 SendUnicodeChar(0x2113, "U2213") ; Script small L 1379 else if (Ebene = 6) 1380 SendUnicodeChar(0x22A5, "uptack") ; Senkrecht 1381 return 1382 1383 neo_5: 1384 noCaps = 1 1385 EbeneAktualisieren() 1386 if (Ebene = 1) and !(CheckDeadUni("c1",0x2075) ; Hochgestellte 5 1387 or CheckDeadUni("a3",0x2085)) ; Tiefgestellte 5 1388 OutputChar(5,5) 1389 else if (Ebene = 2) 1390 SendUnicodeChar(0x00AB, "guillemotleft") ; Double guillemot left 1498 1391 else if (Ebene = 3) 1499 if isMod2Locked 1500 OutputChar("{Shift Up}{+}", "plus") 1501 else OutputChar("{blind}{+}", "plus") 1392 OutputChar("�", "U2039") ; Single guillemot left 1393 else if (Ebene = 5) 1394 SendUnicodeChar(0x0AF8, "femalesymbol") ; Kreuz (Dagger) 1395 else if (Ebene = 6) 1396 SendUnicodeChar(0x2221, "U2221") ; Winkel 1397 return 1398 1399 neo_6: 1400 noCaps = 1 1401 EbeneAktualisieren() 1402 if (Ebene = 1) and !(CheckDeadUni("c1",0x2076) ; Hochgestellte 6 1403 or CheckDeadUni("a3",0x2086)) ; Tiefgestellte 6 1404 OutputChar(6,6) 1405 else if (Ebene = 2) 1406 SendUnicodeChar(0x20AC, "EuroSign") 1407 else if (Ebene = 3) 1408 OutputChar("�", "cent") 1502 1409 else if (Ebene = 4) 1503 OutputChar(" :", "colon")1410 OutputChar("�", "sterling") 1504 1411 else if (Ebene = 5) 1505 SendUnicodeChar(0x03B2, "Greek_beta") ; beta 1506 else if (Ebene = 6) 1507 SendUnicodeChar(0x21D2, "implies") ; Doppel-Pfeil rechts 1508 return 1509 1510 neo_m: 1511 EbeneAktualisieren() 1512 if (Ebene12 and !(CheckDeadUni12("a4",0x1E41,0x1E40) 1513 or CheckDeadUni12("c6",0x1E43,0x1E42))) 1514 OutputChar12("m","M","m","M") 1412 SendUnicodeChar(0x0AF7, "malesymbol") 1413 else if (Ebene = 6) 1414 SendUnicodeChar(0x2225, "U2225") ; parallel 1415 return 1416 1417 neo_7: 1418 noCaps = 1 1419 EbeneAktualisieren() 1420 if Ebene12 and !(CheckDeadUni("c1",0x2077) ; Hochgestellte 7 1421 or CheckDeadUni("a3",0x2087)) ; Tiefgestellte 7 1422 OutputChar12(7,"$",7,"dollar") 1515 1423 else if (Ebene = 3) 1516 OutputChar("`%", "percent") 1517 else if ((Ebene = 4) and !(CheckDeadUni("c1",0x00B9) 1518 or CheckDeadUni("t4",0x2081))) 1519 OutputChar("{Numpad1}", "KP_1") 1424 OutputChar("�", "yen") 1425 else if (Ebene = 4) 1426 OutputChar("�", "currency") 1520 1427 else if (Ebene = 5) 1521 SendUnicodeChar(0x03BC, "Greek_mu") ; griechisch mu, micro w�re 0x00B5 1522 else if (Ebene = 6) 1523 SendUnicodeChar(0x21D4, "ifonlyif") ; doppelter Doppelpfeil (genau dann wenn) 1428 SendUnicodeChar(0x03BA, "Greek_kappa") ; greek small letter kappa 1429 else if (Ebene = 6) 1430 SendUnicodeChar(0x2209, "notelementof") ; nicht Element von 1431 return 1432 1433 neo_8: 1434 noCaps = 1 1435 EbeneAktualisieren() 1436 if Ebene12 and !(CheckDeadUni("c1",0x2078) ; Hochgestellte 8 1437 or CheckDeadUni("a3",0x2088)) ; Tiefgestellte 8 1438 OutputChar12(8,"�",8,"doublelowquotemark") 1439 else if (Ebene = 3) 1440 OutputChar("�", "singlelowquotemark") 1441 else if (Ebene = 4) 1442 OutputChar("{NumpadDiv}", "KP_Divide") 1443 else if (Ebene = 5) 1444 SendUnicodeChar(0x27E8, "U27E8") ; bra (�ffnende spitze Klammer) 1445 else if (Ebene = 6) 1446 SendUnicodeChar(0x2204, "U2204") ; es existiert nicht 1447 return 1448 1449 neo_9: 1450 noCaps = 1 1451 EbeneAktualisieren() 1452 if Ebene12 and !(CheckDeadUni("c1",0x2079) ; Hochgestellte 9 1453 or CheckDeadUni("a3",0x2089)) ; Tiefgestellte 9 1454 OutputChar12(9,"�",9,"leftdoublequotemark") 1455 else if (Ebene = 3) 1456 OutputChar("�", "leftsinglequotemark") 1457 else if (Ebene = 4) 1458 OutputChar("{NumpadMult}", "KP_Multiply") 1459 else if (Ebene = 5) 1460 SendUnicodeChar(0x27E9, "U27E9") ; ket (schlie�ende spitze Klammer) 1461 else if (Ebene = 6) 1462 SendUnicodeChar(0x2226, "U2226") ; nicht parallel 1463 return 1464 1465 neo_punkt: 1466 noCaps = 1 1467 EbeneAktualisieren() 1468 if (Ebene = 1) 1469 OutputChar(".", "period") 1470 else if (Ebene = 2) 1471 SendUnicodeChar("0x2026", "ellipsis") ; Ellipse 1472 else if (Ebene = 3) 1473 OutputChar("'", "apostrophe") 1474 else if ((Ebene = 4) and !(CheckDeadUni("c1",0x00B3) 1475 or CheckDeadUni("t4",0x2083))) 1476 OutputChar("{Numpad3}", "KP_3") 1477 else if (Ebene = 5) 1478 SendUnicodeChar(0x03D1, "U03D1") ; theta symbol (vartheta) 1479 else if (Ebene = 6) 1480 SendUnicodeChar(0x0398, "Greek_THETA") ; Theta 1524 1481 return 1525 1482 … … 1542 1499 return 1543 1500 1544 neo_ punkt:1501 neo_strich: 1545 1502 noCaps = 1 1546 1503 EbeneAktualisieren() 1547 1504 if (Ebene = 1) 1548 OutputChar(" .", "period")1505 OutputChar("-", "minus") ; Bindestrich-Minus 1549 1506 else if (Ebene = 2) 1550 SendUnicodeChar( "0x2026", "ellipsis") ; Ellipse1507 SendUnicodeChar(0x2013, "endash") ; Gedankenstrich 1551 1508 else if (Ebene = 3) 1552 OutputChar("'", "apostrophe") 1553 else if ((Ebene = 4) and !(CheckDeadUni("c1",0x00B3) 1554 or CheckDeadUni("t4",0x2083))) 1509 SendUnicodeChar(0x2014, "emdash") ; Englischer Gedankenstrich (Geviertstrich) 1510 else if (Ebene = 5) 1511 SendUnicodeChar(0x2011, "U2011") ; gesch�tzter Bindestrich (Bindestrich ohne Zeilenumbruch) 1512 else if (Ebene = 6) 1513 SendUnicodeChar(0x00AD, "hyphen") ; weicher Bindestrich 1514 return 1515 1516 *space:: 1517 if einHandNeo 1518 spacepressed := 1 1519 else goto neo_SpaceUp 1520 return 1521 1522 *space up:: 1523 if einHandNeo 1524 if keypressed { 1525 keypressed := 0 1526 spacepressed := 0 1527 } else goto neo_SpaceUp 1528 return 1529 1530 neo_SpaceUp: 1531 EbeneAktualisieren() 1532 if (Ebene = 1) and !CheckDeadUni("a3",0x2010) ; Echter Bindestrich 1533 OutputChar("{Space}", "Space") 1534 else if (Ebene = 2) or (Ebene = 3) 1535 Send {blind}{Space} 1536 else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2070) 1537 or CheckDeadUni("a3",0x2080))) 1538 OutputChar("{Numpad0}", "KP_0") 1539 else if (Ebene = 5) 1540 SendUnicodeChar(0x00A0, "U00A0") ; gesch�tztes Leerzeichen 1541 else if (Ebene = 6) 1542 SendUnicodeChar(0x202F, "U202F") ; schmales gesch�tztes Leerzeichen 1543 DeadKey := "" 1544 CompKey := "" 1545 spacepressed := 0 1546 keypressed := 0 1547 return 1548 1549 *Enter:: 1550 EbeneAktualisieren() 1551 if !lernModus or lernModus_std_Return { 1552 if (Ebene = 4) 1553 send {blind}{NumpadEnter} 1554 else send {blind}{Enter} 1555 DeadKey := "" 1556 CompKey := "" 1557 } return 1558 1559 *Backspace:: 1560 if !lernModus or lernModus_std_Backspace { 1561 send {Blind}{Backspace} 1562 DeadKey := "" 1563 CompKey := "" 1564 } return 1565 1566 *Del:: 1567 if !lernModus or lernModus_std_Entf 1568 send {Blind}{Del} 1569 return 1570 1571 *Ins:: 1572 if !lernModus or lernModus_std_Einf 1573 send {Blind}{Ins} 1574 return 1575 1576 neo_tab: 1577 if (IsMod3Pressed()) { ; Compose! 1578 DeadKey := "comp" 1579 CompKey := "" 1580 } else { 1581 OutputChar("{Tab}","Tab") 1582 DeadKey := "" 1583 CompKey := "" 1584 } return 1585 1586 *Home:: 1587 if !lernModus or lernModus_std_Pos1 { 1588 send {Blind}{Home} 1589 DeadKey := "" 1590 CompKey := "" 1591 } return 1592 1593 *End:: 1594 if !lernModus or lernModus_std_Ende { 1595 send {Blind}{End} 1596 DeadKey := "" 1597 CompKey := "" 1598 } return 1599 1600 *PgUp:: 1601 if !lernModus or lernModus_std_PgUp { 1602 send {Blind}{PgUp} 1603 DeadKey := "" 1604 CompKey := "" 1605 } return 1606 1607 *PgDn:: 1608 if !lernModus or lernModus_std_PgDn { 1609 send {Blind}{PgDn} 1610 DeadKey := "" 1611 CompKey := "" 1612 } return 1613 1614 *Up:: 1615 if !lernModus or lernModus_std_Hoch { 1616 send {Blind}{Up} 1617 DeadKey := "" 1618 CompKey := "" 1619 } return 1620 1621 *Down:: 1622 if !lernModus or lernModus_std_Runter { 1623 send {Blind}{Down} 1624 DeadKey := "" 1625 CompKey := "" 1626 } return 1627 1628 *Left:: 1629 if !lernModus or lernModus_std_Links { 1630 send {Blind}{Left} 1631 DeadKey := "" 1632 CompKey := "" 1633 } return 1634 1635 *Right:: 1636 if !lernModus or lernModus_std_Rechts { 1637 send {Blind}{Right} 1638 DeadKey := "" 1639 CompKey := "" 1640 } return 1641 1642 neo_Numpad0: 1643 EbeneAktualisieren() 1644 if (Ebene = 1) 1645 OutputChar("{Numpad0}", "KP_0") 1646 else if (Ebene = 2) 1647 SendUnicodeChar(0x2423, "U2423") ; space sign 1648 else if (Ebene = 3) 1649 SendUnicodeChar(0x0025, "percent") ; Prozent 1650 else if (Ebene = 4) 1651 send {blind}{NumpadIns} 1652 else if (Ebene = 5) 1653 SendUnicodeChar(0x2030, "U2030") ; Promille 1654 else if (Ebene = 6) 1655 SendUnicodeChar(0x25A1, "U25A1") ; white square 1656 return 1657 1658 neo_Numpad1: 1659 EbeneAktualisieren() 1660 if (Ebene = 1) 1661 OutputChar("{Numpad1}", "KP_1") 1662 else if (Ebene = 2) 1663 SendUnicodeChar(0x2666, "diamond") ; Karo 1664 else if (Ebene = 3) 1665 SendUnicodeChar(0x2194, "U2194") ; Links-Rechts-Pfeil 1666 else if (Ebene = 4) 1667 send {blind}{NumpadEnd} 1668 else if (Ebene = 5) 1669 SendUnicodeChar(0x226A, "U226A") ; much less 1670 else if (Ebene = 6) 1671 SendUnicodeChar(0x2264, "lessthanequal") 1672 return 1673 1674 neo_Numpad2: 1675 EbeneAktualisieren() 1676 if (Ebene = 1) 1677 OutputChar("{Numpad2}", "KP_2") 1678 else if (Ebene = 2) 1679 SendUnicodeChar(0x2265, "heart") 1680 else if (Ebene = 3) 1681 SendUnicodeChar(0x2192, "downarrow") 1682 else if (Ebene = 4) 1683 send {blind}{NumpadDown} 1684 else if (Ebene = 5) 1685 SendUnicodeChar(0x222A, "union") ; Vereinigung 1686 else if (Ebene = 6) 1687 SendUnicodeChar(0x22C3, "U22C3") ; n-ary union 1688 return 1689 1690 neo_Numpad3: 1691 EbeneAktualisieren() 1692 if (Ebene = 1) 1555 1693 OutputChar("{Numpad3}", "KP_3") 1694 else if (Ebene = 2) 1695 SendUnicodeChar(0x2660, "U2660") ; Pik 1696 else if (Ebene = 3) 1697 SendUnicodeChar(0x21CC, "U21CC") ; Harpune 1698 else if (Ebene = 4) 1699 send {blind}{NumpadPgDn} 1556 1700 else if (Ebene = 5) 1557 SendUnicodeChar(0x 03D1, "U03D1") ; theta symbol (vartheta)1558 else if (Ebene = 6) 1559 SendUnicodeChar(0x 0398, "Greek_THETA") ; Theta1560 return 1561 1562 1563 neo_j: 1564 EbeneAktualisieren()1565 if (Ebene12 and !(CheckDeadUni12("c1",0x0135,0x0134)1566 or CheckDeadUni("c2",0x01F0)))1567 OutputChar12("j","J","j","J")1701 SendUnicodeChar(0x226B, "U226B") ; much greater 1702 else if (Ebene = 6) 1703 SendUnicodeChar(0x2265, "greaterthanequal") 1704 return 1705 1706 neo_Numpad4: 1707 EbeneAktualisieren() 1708 if (Ebene = 1) 1709 OutputChar("{Numpad4}", "KP_4") 1710 else if (Ebene = 2) 1711 SendUnicodeChar(0x2663, "club") ; schwarzes Kreuz 1568 1712 else if (Ebene = 3) 1569 OutputChar("`;", "semicolon")1713 SendUnicodeChar(0x2190, "leftarrow") ; Linkspfeil 1570 1714 else if (Ebene = 4) 1571 OutputChar("`;", "semicolon")1715 send {blind}{NumpadLeft} 1572 1716 else if (Ebene = 5) 1573 SendUnicodeChar(0x03B8, "Greek_theta") ; theta 1574 else if (Ebene = 6) 1575 SendUnicodeChar(0x2261, "identical") ; identisch 1576 return 1577 1578 /* 1579 1580 Numpad 1581 1582 */ 1583 1584 neo_NumLock: 1585 EbeneAktualisieren() 1586 if Ebene12 1587 OutputChar("{Tab}", "Tab") 1717 SendUnicodeChar(0x2282, "includein") ; Teilmenge 1718 else if (Ebene = 6) 1719 SendUnicodeChar(0x2286, "U2286") ; Teilmenge-gleich 1720 return 1721 1722 neo_Numpad5: 1723 EbeneAktualisieren() 1724 if (Ebene = 1) 1725 OutputChar("{Numpad5}", "KP_5") 1726 else if (Ebene = 2) 1727 SendUnicodeChar(0x20AC, "EuroSign") ; Euro 1588 1728 else if (Ebene = 3) 1589 OutputChar("`=", "equal")1729 SendUnicodeChar(0x221E, "infinity") ; Unendlich 1590 1730 else if (Ebene = 4) 1591 SendUnicodeChar(0x2260, "notequal") ; Ungleich zu1731 send {blind}{NumPadClear} ; begin 1592 1732 else if (Ebene = 5) 1593 SendUnicodeChar(0x2248, "approxeq") ; Fast gleich 1594 else if (Ebene = 6) 1595 SendUnicodeChar(0x2261, "identical") 1596 return 1597 1598 neo_NumpadDiv: 1599 EbeneAktualisieren() 1600 if Ebene12 1601 OutputChar("{NumpadDiv}", "KP_Divide") 1733 SendUnicodeChar(0x22B6, "U22B6") ; original of 1734 else if (Ebene = 6) 1735 SendUnicodeChar(0x22B7, "U22B7") ; image of 1736 return 1737 1738 neo_Numpad6: 1739 EbeneAktualisieren() 1740 if (Ebene = 1) 1741 OutputChar("{Numpad6}", "KP_6") 1742 if (Ebene = 2) 1743 OutputChar("�", "brokenbar") 1602 1744 else if (Ebene = 3) 1603 OutputChar("�", "division")1745 SendUnicodeChar(0x2192, "rightarrow") ; Rechtspfeil 1604 1746 else if (Ebene = 4) 1605 SendUnicodeChar(0x2300, "U2300") ; diameter1747 send {blind}{NumpadRight} 1606 1748 else if (Ebene = 5) 1607 SendUnicodeChar(0x2223, "U2223") ; divides 1608 else if (Ebene = 6) 1609 SendUnicodeChar(0x2044, "U2044") ; fraction slash 1610 return 1611 1612 neo_NumpadMult: 1613 EbeneAktualisieren() 1614 if Ebene12 1615 send {blind}{NumpadMult} 1616 else if (Ebene = 3) 1617 SendUnicodeChar(0x22C5, "U22C5") ; multiplication dot 1618 else if (Ebene = 4) 1619 SendUnicodeChar(0x2299, "U2299") ; circled dot 1620 else if (Ebene = 5) 1621 OutputChar("�", "multiply") 1622 else if (Ebene = 6) 1623 SendUnicodeChar(0x2297, "U2297") ; circled times 1624 return 1625 1626 neo_NumpadSub: 1627 EbeneAktualisieren() 1628 if (Ebene12 and !(CheckDeadUni("c1",0x207B) 1629 or CheckDeadUni("t4",0x208B))) 1630 send {blind}{NumpadSub} 1631 else if (Ebene = 3) 1632 SendUnicodeChar(0x2212, "U2212") ; Echtes Minus 1633 else if (Ebene = 4) 1634 SendUnicodeChar(0x2296, "U2296") ; circled minus 1635 else if (Ebene = 5) 1636 SendUnicodeChar(0x2216, "U2216") ; set minus 1637 else if (Ebene = 6) 1638 SendUnicodeChar(0x2238, "U2238") ; dot minus 1639 return 1640 1641 neo_NumpadAdd: 1642 EbeneAktualisieren() 1643 if (Ebene12 and !(CheckDeadUni("c1",0x207A) 1644 or CheckDeadUni("c5",0x208A))) 1645 send {blind}{NumpadAdd} 1646 else if (Ebene = 3) 1647 OutputChar("�", "plusminus") 1648 else if (Ebene = 4) 1649 SendUnicodeChar(0x2295, "U2295") ; circled plus 1650 else if (Ebene = 5) 1651 SendUnicodeChar(0x2213, "U2213") ; minus-plus 1652 else if (Ebene = 6) 1653 SendUnicodeChar(0x2214, "U2214") ; dot plus 1654 return 1655 1656 neo_NumpadEnter: 1657 send {blind}{NumpadEnter} 1749 SendUnicodeChar(0x2283, "includes") ; Obermenge 1750 else if (Ebene = 6) 1751 SendUnicodeChar(0x2287, "U2287") ; Obermenge-gleich 1658 1752 return 1659 1753 … … 1706 1800 return 1707 1801 1708 neo_Numpad4: 1709 EbeneAktualisieren() 1710 if (Ebene = 1) 1711 OutputChar("{Numpad4}", "KP_4") 1712 else if (Ebene = 2) 1713 SendUnicodeChar(0x2663, "club") ; schwarzes Kreuz 1802 neo_NumLock: 1803 EbeneAktualisieren() 1804 if Ebene12 1805 OutputChar("{Tab}", "Tab") 1714 1806 else if (Ebene = 3) 1715 SendUnicodeChar(0x2190, "leftarrow") ; Linkspfeil1807 OutputChar("`=", "equal") 1716 1808 else if (Ebene = 4) 1717 send {blind}{NumpadLeft}1809 SendUnicodeChar(0x2260, "notequal") ; Ungleich zu 1718 1810 else if (Ebene = 5) 1719 SendUnicodeChar(0x2282, "includein") ; Teilmenge 1720 else if (Ebene = 6) 1721 SendUnicodeChar(0x2286, "U2286") ; Teilmenge-gleich 1722 return 1723 1724 neo_Numpad5: 1725 EbeneAktualisieren() 1726 if (Ebene = 1) 1727 OutputChar("{Numpad5}", "KP_5") 1728 else if (Ebene = 2) 1729 SendUnicodeChar(0x20AC, "EuroSign") ; Euro 1811 SendUnicodeChar(0x2248, "approxeq") ; Fast gleich 1812 else if (Ebene = 6) 1813 SendUnicodeChar(0x2261, "identical") 1814 return 1815 1816 neo_NumpadDiv: 1817 EbeneAktualisieren() 1818 if Ebene12 1819 OutputChar("{NumpadDiv}", "KP_Divide") 1730 1820 else if (Ebene = 3) 1731 SendUnicodeChar(0x221E, "infinity") ; Unendlich1821 OutputChar("�", "division") 1732 1822 else if (Ebene = 4) 1733 send {blind}{NumPadClear} ; begin1823 SendUnicodeChar(0x2300, "U2300") ; diameter 1734 1824 else if (Ebene = 5) 1735 SendUnicodeChar(0x22B6, "U22B6") ; original of 1736 else if (Ebene = 6) 1737 SendUnicodeChar(0x22B7, "U22B7") ; image of 1738 return 1739 1740 neo_Numpad6: 1741 EbeneAktualisieren() 1742 if (Ebene = 1) 1743 OutputChar("{Numpad6}", "KP_6") 1744 if (Ebene = 2) 1745 OutputChar("�", "brokenbar") 1825 SendUnicodeChar(0x2223, "U2223") ; divides 1826 else if (Ebene = 6) 1827 SendUnicodeChar(0x2044, "U2044") ; fraction slash 1828 return 1829 1830 neo_NumpadMult: 1831 EbeneAktualisieren() 1832 if Ebene12 1833 send {blind}{NumpadMult} 1746 1834 else if (Ebene = 3) 1747 SendUnicodeChar(0x2 192, "rightarrow") ; Rechtspfeil1835 SendUnicodeChar(0x22C5, "U22C5") ; multiplication dot 1748 1836 else if (Ebene = 4) 1749 send {blind}{NumpadRight}1837 SendUnicodeChar(0x2299, "U2299") ; circled dot 1750 1838 else if (Ebene = 5) 1751 SendUnicodeChar(0x2283, "includes") ; Obermenge 1752 else if (Ebene = 6) 1753 SendUnicodeChar(0x2287, "U2287") ; Obermenge-gleich 1754 return 1755 1756 neo_Numpad1: 1757 EbeneAktualisieren() 1758 if (Ebene = 1) 1759 OutputChar("{Numpad1}", "KP_1") 1760 else if (Ebene = 2) 1761 SendUnicodeChar(0x2666, "diamond") ; Karo 1839 OutputChar("�", "multiply") 1840 else if (Ebene = 6) 1841 SendUnicodeChar(0x2297, "U2297") ; circled times 1842 return 1843 1844 neo_NumpadSub: 1845 EbeneAktualisieren() 1846 if (Ebene12 and !(CheckDeadUni("c1",0x207B) 1847 or CheckDeadUni("a3",0x208B))) 1848 send {blind}{NumpadSub} 1762 1849 else if (Ebene = 3) 1763 SendUnicodeChar(0x2 194, "U2194") ; Links-Rechts-Pfeil1850 SendUnicodeChar(0x2212, "U2212") ; Echtes Minus 1764 1851 else if (Ebene = 4) 1765 send {blind}{NumpadEnd}1852 SendUnicodeChar(0x2296, "U2296") ; circled minus 1766 1853 else if (Ebene = 5) 1767 SendUnicodeChar(0x226A, "U226A") ; much less 1768 else if (Ebene = 6) 1769 SendUnicodeChar(0x2264, "lessthanequal") 1770 return 1771 1772 neo_Numpad2: 1773 EbeneAktualisieren() 1774 if (Ebene = 1) 1775 OutputChar("{Numpad2}", "KP_2") 1776 else if (Ebene = 2) 1777 SendUnicodeChar(0x2265, "heart") 1854 SendUnicodeChar(0x2216, "U2216") ; set minus 1855 else if (Ebene = 6) 1856 SendUnicodeChar(0x2238, "U2238") ; dot minus 1857 return 1858 1859 neo_NumpadAdd: 1860 EbeneAktualisieren() 1861 if (Ebene12 and !(CheckDeadUni("c1",0x207A) 1862 or CheckDeadUni("a3",0x208A))) 1863 send {blind}{NumpadAdd} 1778 1864 else if (Ebene = 3) 1779 SendUnicodeChar(0x2192, "downarrow")1865 OutputChar("�", "plusminus") 1780 1866 else if (Ebene = 4) 1781 send {blind}{NumpadDown}1867 SendUnicodeChar(0x2295, "U2295") ; circled plus 1782 1868 else if (Ebene = 5) 1783 SendUnicodeChar(0x222A, "union") ; Vereinigung 1784 else if (Ebene = 6) 1785 SendUnicodeChar(0x22C3, "U22C3") ; n-ary union 1786 return 1787 1788 neo_Numpad3: 1789 EbeneAktualisieren() 1790 if (Ebene = 1) 1791 OutputChar("{Numpad3}", "KP_3") 1792 else if (Ebene = 2) 1793 SendUnicodeChar(0x2660, "U2660") ; Pik 1794 else if (Ebene = 3) 1795 SendUnicodeChar(0x21CC, "U21CC") ; Harpune 1796 else if (Ebene = 4) 1797 send {blind}{NumpadPgDn} 1798 else if (Ebene = 5) 1799 SendUnicodeChar(0x226B, "U226B") ; much greater 1800 else if (Ebene = 6) 1801 SendUnicodeChar(0x2265, "greaterthanequal") 1802 return 1803 1804 neo_Numpad0: 1805 EbeneAktualisieren() 1806 if (Ebene = 1) 1807 OutputChar("{Numpad0}", "KP_0") 1808 else if (Ebene = 2) 1809 SendUnicodeChar(0x2423, "U2423") ; space sign 1810 else if (Ebene = 3) 1811 SendUnicodeChar(0x0025, "percent") ; Prozent 1812 else if (Ebene = 4) 1813 send {blind}{NumpadIns} 1814 else if (Ebene = 5) 1815 SendUnicodeChar(0x2030, "U2030") ; Promille 1816 else if (Ebene = 6) 1817 SendUnicodeChar(0x25A1, "U25A1") ; white square 1869 SendUnicodeChar(0x2213, "U2213") ; minus-plus 1870 else if (Ebene = 6) 1871 SendUnicodeChar(0x2214, "U2214") ; dot plus 1872 return 1873 1874 neo_NumpadEnter: 1875 send {blind}{NumpadEnter} 1818 1876 return 1819 1877 … … 1834 1892 return 1835 1893 1836 /* 1837 1838 Sondertasten 1839 1840 */ 1841 1842 *space:: 1843 if einHandNeo 1844 spacepressed := 1 1845 else goto neo_SpaceUp 1846 return 1847 1848 *space up:: 1849 if einHandNeo 1850 if keypressed { 1851 keypressed := 0 1852 spacepressed := 0 1853 } else goto neo_SpaceUp 1854 return 1855 1856 neo_SpaceUp: 1857 EbeneAktualisieren() 1858 if (Ebene = 1) and !CheckDeadUni("t4",0x2010) ; Echter Bindestrich 1859 OutputChar("{Space}", "Space") 1860 else if (Ebene = 2) or (Ebene = 3) 1861 Send {blind}{Space} 1862 else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2070) 1863 or CheckDeadUni("c5",0x2080))) 1864 OutputChar("{Numpad0}", "KP_0") 1865 else if (Ebene = 5) 1866 SendUnicodeChar(0x00A0, "U00A0") ; gesch�tztes Leerzeichen 1867 else if (Ebene = 6) 1868 SendUnicodeChar(0x202F, "U202F") ; schmales gesch�tztes Leerzeichen 1869 DeadKey := "" 1870 CompKey := "" 1871 spacepressed := 0 1872 keypressed := 0 1873 return 1874 1875 /* 1876 Folgende Tasten sind nur aufgef�hrt, um DeadKey zu leeren. 1877 Irgendwie sieht das noch nicht sch�n aus. Vielleicht l�sst sich dieses 1878 Problem auch eleganter l�sen... 1879 */ 1880 1881 *Enter:: 1882 EbeneAktualisieren() 1883 if !lernModus or lernModus_std_Return { 1884 if (Ebene = 4) 1885 send {blind}{NumpadEnter} 1886 else send {blind}{Enter} 1887 DeadKey := "" 1888 CompKey := "" 1889 } return 1890 1891 *Backspace:: 1892 if !lernModus or lernModus_std_Backspace { 1893 send {Blind}{Backspace} 1894 DeadKey := "" 1895 CompKey := "" 1896 } return 1897 1898 *Del:: 1899 if !lernModus or lernModus_std_Entf 1900 send {Blind}{Del} 1901 return 1902 1903 *Ins:: 1904 if !lernModus or lernModus_std_Einf 1905 send {Blind}{Ins} 1906 return 1907 1908 /* 1909 Auf Mod3+Tab liegt Compose. 1910 */ 1911 1912 neo_tab: 1913 if (IsMod3Pressed()) { 1914 DeadKey := "comp" 1915 CompKey := "" 1916 } else { 1917 OutputChar("{Tab}","Tab") 1918 DeadKey := "" 1919 CompKey := "" 1920 } return 1921 1922 *Home:: 1923 if !lernModus or lernModus_std_Pos1 { 1924 send {Blind}{Home} 1925 DeadKey := "" 1926 CompKey := "" 1927 } return 1928 1929 *End:: 1930 if !lernModus or lernModus_std_Ende { 1931 send {Blind}{End} 1932 DeadKey := "" 1933 CompKey := "" 1934 } return 1935 1936 *PgUp:: 1937 if !lernModus or lernModus_std_PgUp { 1938 send {Blind}{PgUp} 1939 DeadKey := "" 1940 CompKey := "" 1941 } return 1942 1943 *PgDn:: 1944 if !lernModus or lernModus_std_PgDn { 1945 send {Blind}{PgDn} 1946 DeadKey := "" 1947 CompKey := "" 1948 } return 1949 1950 *Up:: 1951 if !lernModus or lernModus_std_Hoch { 1952 send {Blind}{Up} 1953 DeadKey := "" 1954 CompKey := "" 1955 } return 1956 1957 *Down:: 1958 if !lernModus or lernModus_std_Runter { 1959 send {Blind}{Down} 1960 DeadKey := "" 1961 CompKey := "" 1962 } return 1963 1964 *Left:: 1965 if !lernModus or lernModus_std_Links { 1966 send {Blind}{Left} 1967 DeadKey := "" 1968 CompKey := "" 1969 } return 1970 1971 *Right:: 1972 if !lernModus or lernModus_std_Rechts { 1973 send {Blind}{Right} 1974 DeadKey := "" 1975 CompKey := "" 1976 } return 1977 1894 neo_tot1: 1895 noCaps = 1 1896 EbeneAktualisieren() 1897 if (Ebene = 1) and !CheckDeadUni("c1",0x0302) ; Zirkumflex, tot 1898 1899 deadUni(0x02C6, "dead_circumflex", "c1") 1900 1901 else if (Ebene = 2) and !CheckDeadUni("c2",0x0303) ; Tilde, tot 1902 1903 deadUni(0x02DC, "dead_tilde", "c2") 1904 1905 else if (Ebene = 3) and !CheckDeadUni("c3",0x030A) ; Ring, tot 1906 1907 deadUni(0x02DA, "dead_breve", "c3") 1908 1909 else if (Ebene = 4) and !CheckDeadUni("c4",0x030C) ; Caron, tot 1910 1911 deadUni(0x02C7, "dead_caron", "c4") 1912 1913 else if (Ebene = 5) and !CheckDeadUni("c5",0x0306) ; Brevis, tot 1914 1915 deadUni(0x02D8, "dead_breve", "c5") 1916 1917 else if (Ebene = 6) and !CheckDeadUni("c6",0x0304) ; Makron, tot 1918 1919 deadAsc("�", "dead_macron", "c6") 1920 return 1921 1922 neo_tot2: 1923 noCaps = 1 1924 EbeneAktualisieren() 1925 if (Ebene = 1) and !CheckDeadUni("g1",0x0300) ; Gravis, tot 1926 1927 deadAsc("``{space}", "dead_grave", "g1") 1928 1929 if (Ebene = 2) and !CheckDeadUni("g2",0x030F) ; Doppelgravis, tot 1930 1931 deadUni(0x02F5, "dead_doublegrave", "g2") 1932 1933 else if (Ebene = 3) and !CheckDeadUni("g3",0x0308) ; Di�rese, tot 1934 1935 deadUni(0x00A8, "dead_diaeresis", "g3") 1936 1937 else if (Ebene = 5) and !CheckDeadUni("g5",0x0485) ; Spiritus asper, tot 1938 1939 deadUni(0x1FFE, "U1FFE", "g5") 1940 return 1941 1942 neo_tot3: 1943 noCaps = 1 1944 EbeneAktualisieren() 1945 if (Ebene = 1) and !CheckDeadUni("a1",0x0301) ; Akut, tot 1946 1947 deadAsc("{�}{space}", "dead_acute", "a1") 1948 1949 else if (Ebene = 2) and !CheckDeadUni("a2",0x0327) ; Cedille, tot 1950 1951 deadAsc("�", "dead_cedilla", "a2") 1952 1953 else if (Ebene = 3) and !CheckDeadUni("a3",0x0337) ; Strich, tot 1954 1955 deadUni(0x002F, "dead_stroke", "a3") 1956 1957 else if (Ebene = 4) and !CheckDeadUni("a4",0x0338) ; Doppelakut, tot 1958 1959 deadUni(0x02DD, "dead_doubleacute", "a4") 1960 1961 else if (Ebene = 5) and !CheckDeadUni("a5",0x0486) ; Spiritus lenis, tot 1962 1963 deadUni(0x1FBF, "U1FBF", "a5") 1964 1965 else if (Ebene = 6) and !CheckDeadUni("a6",0x0307) ; Punkt dar�ber, tot 1966 1967 deadUni(0x02D9, "dead_abovedot", "a6") 1968 return 1978 1969 1979 1970 /* … … 2089 2080 if !DeadSilence 2090 2081 OutputChar(val1, val2) 2082 else CheckComp(val2) 2091 2083 DeadKey := a 2092 2084 } … … 2096 2088 if !DeadSilence 2097 2089 SendUnicodeChar(val1, val2) 2090 else CheckComp(val2) 2098 2091 DeadKey := a 2099 2092 }
