Changeset 1016

Show
Ignore:
Timestamp:
10/18/08 02:03:14 (5 years ago)
Author:
martin_r
Message:

Aktualisierung der toten Tasten abgeschlossen

Location:
windows/autohotkey
Files:
7 modified

Legend:

Unmodified
Added
Removed
  • windows/autohotkey/Changelog-and-Todo.txt

    r995 r1016  
    2424=== Änderungshistorie === 
    2525 
     26Revision 1016 (von Martin Roppelt) 
     27- Tote Tasten fertig angepasst. 
    2628Revision 993 (von Martin Roppelt) 
    2729- Tote Tasten aktualisiert. 
  • windows/autohotkey/Source/Keys-Neo.ahk

    r1011 r1016  
    2121  else if (Ebene = 4) 
    2222    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) 
    2430                        or CheckDeadUni("a5",0x1F00))) 
    2531    SendUnicodeChar(0x03B1, "Greek_alpha") ; alpha 
     
    6672   EbeneAktualisieren() 
    6773   if (Ebene12 and !(CheckDeadUni12("c1",0x1E13,0x1E12) 
    68                   or CheckDeadUni("c2",0x1D6D) 
     74                  or CheckDeadUni(  "c2",0x1D6D) 
    6975                  or CheckDeadUni12("c4",0x010F,0x010E) 
    7076                  or CheckDeadUni12("g3",0x1E0D,0x1E0C) 
     
    109115neo_f: 
    110116  EbeneAktualisieren() 
    111   if (Ebene12 and !(CheckDeadUni12("a4",0x1E1F,0x1E1E) 
    112                  or CheckDeadUni12("t4",0x0192,0x0191))) 
     117  if (Ebene12 and !(CheckDeadUni12("a6",0x1E1F,0x1E1E))) 
    113118    OutputChar12("f","F","f","F") 
    114   else if ((Ebene = 3) and !(CheckDeadUni("a6",0x2257) ; ring equal to 
    115                           or CheckDeadUni("c1",0x2259) ; entspricht 
    116                           or CheckDeadUni("c2",0x225A) ; EQUIANGULAR TO 
    117                           or CheckDeadUni("t2",0x2261) ; identisch 
    118                           or CheckDeadUni("t1",0x2245) ; ungef�hr gleich 
    119                           or CheckDeadUni("t4",0x2260))) ; ungleich 
     119  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 
    120125    OutputChar("`=", "equal") 
    121126  else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2079) 
    122                           or CheckDeadUni("t4",0x2089))) 
     127                          or CheckDeadUni("a3",0x2089))) 
    123128    OutputChar("{Numpad9}", "KP_9") 
    124129  else if (Ebene = 5) 
     
    130135neo_g: 
    131136  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))) 
    136141    OutputChar12("g","G","g","G") 
    137   else if ((Ebene = 3) and !(CheckDeadUni("t4",0x2265))) ; gr��er gleich 
     142  else if ((Ebene = 3) and !(CheckDeadUni("a3",0x2265))) ; gr��er gleich 
    138143    OutputChar(">", "greater") 
    139144  else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2078) 
    140                           or CheckDeadUni("t4",0x2088))) 
     145                          or CheckDeadUni("a3",0x2088))) 
    141146    OutputChar("{Numpad8}", "KP_8") 
    142147  else if (Ebene = 5) 
     
    148153neo_h: 
    149154  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))) 
    154158    OutputChar12("h","H","h","H") 
    155   else if ((Ebene = 3) and !(CheckDeadUni("t4",0x2264))) ; kleiner gleich 
     159  else if ((Ebene = 3) and !(CheckDeadUni("a3",0x2264))) ; kleiner gleich 
    156160    OutputChar("<", "less") 
    157161  else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2077) 
    158                           or CheckDeadUni("t4",0x2087))) 
     162                          or CheckDeadUni("a3",0x2087))) 
    159163    OutputChar("{Numpad7}", "KP_7") 
    160164  else if (Ebene = 5) 
     
    166170neo_i: 
    167171  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("c1",0x00EE,0x00CE) 
    173                  or CheckDeadUni12("c2",0x01D0,0x01CF) 
    174                  or CheckDeadUni12("c3",0x012D,0x012C) 
    175                  or CheckDeadUni12("t1",0x0129,0x0128) 
    176                  or CheckDeadUni12("t2",0x012B,0x012A) 
    177                  or CheckDeadAsc12("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))) 
    178182    OutputChar12("i","I","i","I") 
    179183  else if (Ebene = 3) 
     
    190194  EbeneAktualisieren() 
    191195  if (Ebene12 and !(CheckDeadUni12("c1",0x0135,0x0134) 
    192                  or CheckDeadUni("c2",0x01F0))) 
     196                 or CheckDeadUni(  "c4",0x01F0))) 
    193197    OutputChar12("j","J","j","J") 
    194198  else if (Ebene = 3) 
     
    204208neo_k: 
    205209  EbeneAktualisieren() 
    206   if (Ebene12 and !(CheckDeadUni12("a3",0x0137,0x0136) 
    207                  or CheckDeadUni12("c6",0x1E33,0x1E32))) 
     210  if (Ebene12 and !(CheckDeadUni12("a2",0x0137,0x0136) 
     211                 or CheckDeadUni12("a6",0x1E33,0x1E32))) 
    208212    OutputChar12("k","K","k","K") 
    209213  else if (Ebene = 3) 
     
    219223neo_l: 
    220224  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))) 
    227230    OutputChar12("l","L","l","L") 
    228231  else if (Ebene = 3) 
     
    238241neo_m: 
    239242  EbeneAktualisieren() 
    240   if (Ebene12 and !(CheckDeadUni12("a4",0x1E41,0x1E40) 
    241                  or CheckDeadUni12("c6",0x1E43,0x1E42))) 
     243  if (Ebene12 and !CheckDeadUni12("a6",0x1E41,0x1E40)) 
    242244    OutputChar12("m","M","m","M") 
    243245  else if (Ebene = 3) 
    244246    OutputChar("`%", "percent") 
    245247  else if ((Ebene = 4) and !(CheckDeadUni("c1",0x00B9) 
    246                           or CheckDeadUni("t4",0x2081))) 
     248                          or CheckDeadUni("a3",0x2081))) 
    247249    OutputChar("{Numpad1}", "KP_1") 
    248250  else if (Ebene = 5) 
     
    254256neo_n: 
    255257  EbeneAktualisieren() 
    256   if (Ebene12 and !(CheckDeadUni12("a1",0x0144,0x0143) 
    257                  or CheckDeadUni12("a3",0x0146,0x0145) 
    258                  or CheckDeadUni12("a4",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))) 
    261263    OutputChar12("n","N","n","N") 
    262264  else if (Ebene = 3) 
    263265    OutputChar("(", "parenleft") 
    264266  else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2074) 
    265                           or CheckDeadUni("t4",0x2084))) 
     267                          or CheckDeadUni("a3",0x2084))) 
    266268    OutputChar("{Numpad4}", "KP_4") 
    267269  else if (Ebene = 5) 
     
    273275neo_o: 
    274276  EbeneAktualisieren() 
    275   if (Ebene12 and !(CheckDeadUni12("a1",0x00F3,0x00D3) 
    276                  or CheckDeadUni12("a2",0x00F2,0x00D2) 
    277                  or CheckDeadUni12("a5",0x01EB,0x01EA) 
    278                  or CheckDeadUni12("c1",0x00F4,0x00D4) 
    279                  or CheckDeadUni12("c2",0x01D2,0x01D1) 
    280                  or CheckDeadUni12("c3",0x014F,0x014E) 
    281                  or CheckDeadUni12("t1",0x00F5,0x00D5) 
    282                  or CheckDeadUni12("t2",0x014D,0x014C) 
    283                  or CheckDeadAsc12("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))) 
    286288    OutputChar12("o","O","o","O") 
    287289  else if (Ebene = 3) 
     
    297299neo_p: 
    298300  EbeneAktualisieren() 
    299   if (Ebene12 and !(CheckDeadUni12("a4",0x1E57,0x1E56))) 
     301  if (Ebene12 and !(CheckDeadUni12("a6",0x1E57,0x1E56))) 
    300302    OutputChar12("p","P","p","P") 
    301   else if ((Ebene = 3) and !(CheckDeadUni("t1",0x2248))) 
     303  else if ((Ebene = 3) and !(CheckDeadUni("c2",0x2248))) 
    302304    OutputChar("~", "asciitilde") 
    303305  else if (Ebene = 4) 
     
    316318    OutputChar("{&}", "ampersand") 
    317319  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") 
    320322  else if (Ebene = 5) 
    321323     SendUnicodeChar(0x03D5, "U03D5") ; phi symbol (varphi) 
     
    326328neo_r: 
    327329  EbeneAktualisieren() 
    328   if (Ebene12 and !(CheckDeadUni12("a1",0x0155,0x0154) 
    329                  or CheckDeadUni12("a3",0x0157,0x0156) 
    330                  or CheckDeadUni12("a4",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))) 
    333335    OutputChar12("r","R","r","R") 
    334336  else if (Ebene = 3) 
    335337    OutputChar(")", "parenright") 
    336338  else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2075) 
    337                           or CheckDeadUni("t4",0x2085))) 
     339                          or CheckDeadUni("a3",0x2085))) 
    338340    OutputChar("{Numpad5}", "KP_5") 
    339341  else if (Ebene = 5) 
     
    345347neo_s: 
    346348  EbeneAktualisieren() 
    347   if (Ebene12 and !(CheckDeadUni12("a1",0x015B,0x015A) 
    348                  or CheckDeadUni12("a3",0x015F,0x015E) 
    349                  or CheckDeadUni12("a4",0x1E61,0x1E60) 
     349  if (Ebene12 and !LangSTastatur and !(CheckDeadUni12("a1",0x015B,0x015A) 
     350                 or CheckDeadUni12("a2",0x015F,0x015E) 
     351                 or CheckDeadUni12("a6",0x1E61,0x1E60) 
    350352                 or CheckDeadUni12("c1",0x015D,0x015C) 
    351                  or CheckDeadUni12("c2",0x0161,0x0160) 
    352                  or CheckDeadUni12("c6",0x1E63,0x1A62))) { 
     353                 or CheckDeadUni12("c4",0x0161,0x0160) 
     354                 or CheckDeadUni12("a6",0x1E63,0x1A62))) { 
    353355    if LangSTastatur and (Ebene = 1) 
    354356      SendUnicodeChar(0x017F, "17F") ; langes s 
     
    370372neo_t: 
    371373  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))) 
    378378    OutputChar12("t","T","t","T") 
    379379  else if (Ebene = 3) 
     
    390390neo_u: 
    391391  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("c1",0x00FB,0x00DB) 
    397                  or CheckDeadUni12("c2",0x01D4,0x01D3) 
    398                  or CheckDeadUni12("c3",0x016D,0x016C) 
    399                  or CheckDeadUni12("t1",0x0169,0x0168) 
    400                  or CheckDeadUni12("t2",0x016B,0x016A) 
    401                  or CheckDeadAsc12("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))) 
    403403    OutputChar12("u","U","u","U") 
    404404  else if (Ebene = 3) 
     
    412412neo_v: 
    413413  EbeneAktualisieren() 
    414   if (Ebene12 and !(CheckDeadUni12("c6",0x1E7F,0x1E7E))) 
     414  if (Ebene12 and !(CheckDeadUni12("a6",0x1E7F,0x1E7E))) 
    415415    OutputChar12("v","V","v","V") 
    416416  else if (Ebene = 3) 
     
    452452neo_y: 
    453453  EbeneAktualisieren() 
    454   if (Ebene12 and !(CheckDeadUni12("a1",0x00FD,0x00DD) 
    455                  or CheckDeadUni12("c1",0x0177,0x0176) 
    456                  or CheckDeadAsc12("t3","�","�"))) 
     454  if (Ebene12 and !(CheckDeadUni12("c1",0x0177,0x0176) 
     455                 or CheckDeadAsc12("g3","�","�") 
     456                 or CheckDeadUni12("a1",0x00FD,0x00DD))) 
    457457    OutputChar12("y","Y","y","Y") 
    458458  else if (Ebene = 3) 
     
    469469  EbeneAktualisieren() 
    470470  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))) 
    474473    OutputChar12("z","Z","z","Z") 
    475474  else if (Ebene = 3) 
    476475    OutputChar("``{space}", "grave") ; untot 
     476  else if (Ebene = 4) 
     477    send {Ctrl down}z{Ctrl up} 
    477478  else if (Ebene = 5) 
    478479    SendUnicodeChar(0x03B6, "Greek_zeta") ; zeta 
     
    483484neo_�: 
    484485  EbeneAktualisieren() 
    485   if (Ebene12 and !(CheckDeadUni12("t2",0x01DF,0x01DE))) 
     486  if (Ebene12 and !(CheckDeadUni12("c6",0x01DF,0x01DE))) 
    486487    OutputChar12("�","�","adiaeresis","Adiaeresis") 
    487488  else if (Ebene = 3) 
     
    497498neo_�: 
    498499  EbeneAktualisieren() 
    499   if (Ebene12 and !(CheckDeadUni12("t2",0x022B,0x022A))) 
     500  if (Ebene12 and !(CheckDeadUni12("c6",0x022B,0x022A))) 
    500501    OutputChar12("�","�","odiaeresis","Odiaeresis") 
    501502  else if (Ebene = 3) 
     
    510511  EbeneAktualisieren() 
    511512  if (Ebene12 and !(CheckDeadUni12("a1",0x01D8,0x01D7) 
    512                  or CheckDeadUni12("a2",0x01DC,0x01DB) 
    513                  or CheckDeadUni12("c2",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))) 
    515516    OutputChar12("�","�","udiaeresis","Udiaeresis") 
    516517  else if (Ebene = 3) 
  • windows/autohotkey/Source/Keys-NumPad.ahk

    r1009 r1016  
    204204  EbeneAktualisieren() 
    205205  if (Ebene12 and !(CheckDeadUni("c1",0x207B) 
    206                  or CheckDeadUni("t4",0x208B))) 
     206                 or CheckDeadUni("a3",0x208B))) 
    207207    send {blind}{NumpadSub} 
    208208  else if (Ebene = 3) 
     
    219219  EbeneAktualisieren() 
    220220  if (Ebene12 and !(CheckDeadUni("c1",0x207A) 
    221                  or CheckDeadUni("c5",0x208A))) 
     221                 or CheckDeadUni("a3",0x208A))) 
    222222    send {blind}{NumpadAdd} 
    223223  else if (Ebene = 3) 
  • windows/autohotkey/Source/Keys-Numbers.ahk

    r1009 r1016  
    33  EbeneAktualisieren() 
    44  if Ebene12 and !(CheckDeadUni("c1",0x2070) ; Hochgestellte 0 
    5       or CheckDeadUni("c5",0x2080)) ; Tiefgestellte 0  
     5                or CheckDeadUni("a3",0x2080)) ; Tiefgestellte 0  
    66    OutputChar12(0,"�",0,"rightdoublequotemark") 
    77   else if (Ebene = 3) 
    88     OutputChar("�", "rightsingleqoutemark") 
    99   else if (Ebene = 4) 
    10      OutputChar("{NumpadSub}", "minus") ; s. Mail vom Sun, 14 Sep 2008 00:33:47 +0200 
     10     OutputChar("{NumpadSub}", "KP_Minus") 
    1111   else if (Ebene = 6) 
    1212     SendUnicodeChar(0x2205, "emptyset") ; leere Menge 
     
    1717  EbeneAktualisieren() 
    1818  if Ebene12 and !(CheckDeadUni("c1",0x00B9) ; Hochgestellte 1 
    19                 or CheckDeadUni("c5",0x2081)) ; Tiefgestellte 1 
     19                or CheckDeadUni("a3",0x2081)) ; Tiefgestellte 1 
    2020    OutputChar12(1,"�",1,"degree") 
    2121  else if (Ebene = 3) 
     
    3333  EbeneAktualisieren() 
    3434  if (Ebene = 1 and !(CheckDeadUni("c1",0x00B2) ; Hochgestellte 2 
    35                    or CheckDeadUni("c5",0x2082))) ; Tiefgestellte 2 
     35                   or CheckDeadUni("a3",0x2082))) ; Tiefgestellte 2 
    3636    OutputChar(2,2) 
    3737  else if (Ebene = 2) 
     
    5151  EbeneAktualisieren() 
    5252  if Ebene12 and !(CheckDeadUni("c1",0x00B3) ; Hochgestellte 3 
    53                 or CheckDeadUni("c5",0x2083)) ; Tiefgestellte 3 
     53                or CheckDeadUni("a3",0x2083)) ; Tiefgestellte 3 
    5454    OutputChar12(3,"�",3,"section") 
    5555  else if (Ebene = 3) 
     
    6767  EbeneAktualisieren() 
    6868  if (Ebene = 1) and !(CheckDeadUni("c1",0x2074) ; Hochgestellte 4 
    69                     or CheckDeadUni("c5",0x2084)) ; Tiefgestellte 4 
     69                    or CheckDeadUni("a3",0x2084)) ; Tiefgestellte 4 
    7070    OutputChar(4,4) 
    7171  else if (Ebene = 2) 
     
    8585  EbeneAktualisieren() 
    8686  if (Ebene = 1) and !(CheckDeadUni("c1",0x2075) ; Hochgestellte 5 
    87                     or CheckDeadUni("c5",0x2085)) ; Tiefgestellte 5 
     87                    or CheckDeadUni("a3",0x2085)) ; Tiefgestellte 5 
    8888    OutputChar(5,5) 
    8989  else if (Ebene = 2) 
     
    101101  EbeneAktualisieren() 
    102102  if (Ebene = 1) and !(CheckDeadUni("c1",0x2076) ; Hochgestellte 6 
    103                     or CheckDeadUni("c5",0x2086)) ; Tiefgestellte 6 
     103                    or CheckDeadUni("a3",0x2086)) ; Tiefgestellte 6 
    104104    OutputChar(6,6) 
    105105  else if (Ebene = 2) 
     
    119119  EbeneAktualisieren() 
    120120  if Ebene12 and !(CheckDeadUni("c1",0x2077) ; Hochgestellte 7 
    121                 or CheckDeadUni("c5",0x2087)) ; Tiefgestellte 7 
     121                or CheckDeadUni("a3",0x2087)) ; Tiefgestellte 7 
    122122    OutputChar12(7,"$",7,"dollar") 
    123123  else if (Ebene = 3) 
     
    135135  EbeneAktualisieren() 
    136136  if Ebene12 and !(CheckDeadUni("c1",0x2078) ; Hochgestellte 8 
    137             or CheckDeadUni("c5",0x2088)) ; Tiefgestellte 8 
     137                or CheckDeadUni("a3",0x2088)) ; Tiefgestellte 8 
    138138    OutputChar12(8,"�",8,"doublelowquotemark") 
    139139  else if (Ebene = 3) 
     
    151151  EbeneAktualisieren() 
    152152  if Ebene12 and !(CheckDeadUni("c1",0x2079) ; Hochgestellte 9 
    153       or CheckDeadUni("c5",0x2089)) ; Tiefgestellte 9 
     153                or CheckDeadUni("a3",0x2089)) ; Tiefgestellte 9 
    154154    OutputChar12(9,"�",9,"leftdoublequotemark") 
    155155  else if (Ebene = 3) 
  • windows/autohotkey/Source/Keys-Special.ahk

    r1009 r1016  
    6666neo_SpaceUp: 
    6767  EbeneAktualisieren() 
    68   if (Ebene = 1) and !CheckDeadUni("t4",0x2010)  ; Echter Bindestrich 
     68  if (Ebene = 1) and !CheckDeadUni("a3",0x2010)  ; Echter Bindestrich 
    6969    OutputChar("{Space}", "Space") 
    7070  else if (Ebene = 2) or (Ebene = 3) 
    7171    Send {blind}{Space} 
    7272  else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2070) 
    73                         or CheckDeadUni("c5",0x2080))) 
     73                        or CheckDeadUni("a3",0x2080))) 
    7474   OutputChar("{Numpad0}", "KP_0") 
    7575  else if (Ebene = 5) 
  • windows/autohotkey/neo20.ahk

    r994 r1016  
    755755 
    756756 
    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") 
     757neo_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") 
    786775  else if (Ebene = 3) 
    787     SendUnicodeChar(0x00B9, "onesuperior") ; Hochgestellte 1 
     776    OutputChar("{{}", "braceleft") 
    788777  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 
     790return 
     791 
     792neo_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") 
    790803  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 
    1020807return 
    1021808 
    1022809neo_c: 
    1023810  EbeneAktualisieren() 
    1024   if (Ebene12 and !(CheckDeadUni12("a1",0x0107,0x0106) 
    1025                  or CheckDeadUni12("a3",0x00E7,0x00E6) 
    1026                  or CheckDeadUni12("a4",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))) 
    1029816    OutputChar12("c","C","c","C") 
    1030817  else if (Ebene = 3) 
     
    1038825return 
    1039826 
    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 
     827neo_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 
    1250846return 
    1251847 
     
    1273869return 
    1274870 
     871neo_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 
     889return 
     890 
     891neo_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 
     907return 
     908 
     909neo_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 
     924return 
     925 
     926neo_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 
     947return 
     948 
     949neo_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 
     962return 
     963 
     964neo_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 
     977return 
     978 
     979neo_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 
     995return 
     996 
     997neo_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) 
     1010return 
     1011 
     1012neo_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) 
     1029return 
     1030 
    12751031neo_o: 
    12761032  EbeneAktualisieren() 
    1277   if (Ebene12 and !(CheckDeadUni12("a1",0x00F3,0x00D3) 
    1278                  or CheckDeadUni12("a2",0x00F2,0x00D2) 
    1279                  or CheckDeadUni12("a5",0x01EB,0x01EA) 
    1280                  or CheckDeadUni12("c1",0x00F4,0x00D4) 
    1281                  or CheckDeadUni12("c2",0x01D2,0x01D1) 
    1282                  or CheckDeadUni12("c3",0x014F,0x014E) 
    1283                  or CheckDeadUni12("t1",0x00F5,0x00D5) 
    1284                  or CheckDeadUni12("t2",0x014D,0x014C) 
    1285                  or CheckDeadAsc12("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))) 
    12881044    OutputChar12("o","O","o","O") 
    12891045  else if (Ebene = 3) 
     
    12971053return 
    12981054 
     1055neo_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 
     1067return 
     1068 
     1069neo_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) 
     1082return 
     1083 
     1084neo_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) 
     1101return 
     1102 
    12991103neo_s: 
    13001104  EbeneAktualisieren() 
    1301   if (Ebene12 and !(CheckDeadUni12("a1",0x015B,0x015A) 
    1302                  or CheckDeadUni12("a3",0x015F,0x015E) 
    1303                  or CheckDeadUni12("a4",0x1E61,0x1E60) 
     1105  if (Ebene12 and !LangSTastatur and !(CheckDeadUni12("a1",0x015B,0x015A) 
     1106                 or CheckDeadUni12("a2",0x015F,0x015E) 
     1107                 or CheckDeadUni12("a6",0x1E61,0x1E60) 
    13041108                 or CheckDeadUni12("c1",0x015D,0x015C) 
    1305                  or CheckDeadUni12("c2",0x0161,0x0160) 
    1306                  or CheckDeadUni12("c6",0x1E63,0x1A62))) { 
     1109                 or CheckDeadUni12("c4",0x0161,0x0160) 
     1110                 or CheckDeadUni12("a6",0x1E63,0x1A62))) { 
    13071111    if LangSTastatur and (Ebene = 1) 
    13081112      SendUnicodeChar(0x017F, "17F") ; langes s 
     
    13221126return 
    13231127 
    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") ; nu 
    1339   else if (Ebene = 6) 
    1340     SendUnicodeChar(0x2115, "U2115") ; N (nat�rliche Zahlen) 
    1341 return 
    1342  
    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 return 
    1361  
    13621128neo_t: 
    13631129  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))) 
    13701134    OutputChar12("t","T","t","T") 
    13711135  else if (Ebene = 3) 
     
    13801144return 
    13811145 
    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 
     1146neo_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 
     1166return 
     1167 
     1168neo_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 
     1178return 
     1179 
     1180neo_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 
     1192return 
     1193 
     1194neo_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 
    13981206return 
    13991207 
    14001208neo_y: 
    14011209  EbeneAktualisieren() 
    1402   if (Ebene12 and !(CheckDeadUni12("a1",0x00FD,0x00DD) 
    1403                  or CheckDeadUni12("c1",0x0177,0x0176) 
    1404                  or CheckDeadAsc12("t3","�","�"))) 
     1210  if (Ebene12 and !(CheckDeadUni12("c1",0x0177,0x0176) 
     1211                 or CheckDeadAsc12("g3","�","�") 
     1212                 or CheckDeadUni12("a1",0x00FD,0x00DD))) 
    14051213    OutputChar12("y","Y","y","Y") 
    14061214  else if (Ebene = 3) 
     
    14141222return 
    14151223 
    1416 /* 
    1417  
    1418   Reihe 4 
    1419  
    1420 */ 
     1224neo_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) 
     1238return 
    14211239 
    14221240neo_�: 
    14231241  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 
     1252return 
     1253 
     1254neo_�: 
     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 
     1264return 
     1265 
     1266neo_�: 
     1267  EbeneAktualisieren() 
    14241268  if (Ebene12 and !(CheckDeadUni12("a1",0x01D8,0x01D7) 
    1425                  or CheckDeadUni12("a2",0x01DC,0x01DB) 
    1426                  or CheckDeadUni12("c2",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))) 
    14281272    OutputChar12("�","�","udiaeresis","Udiaeresis") 
    14291273  else if (Ebene = 3) 
     
    14371281return 
    14381282 
    1439 neo_�: 
    1440   EbeneAktualisieren() 
    1441   if (Ebene12 and !(CheckDeadUni12("t2",0x022B,0x022A))) 
    1442     OutputChar12("�","�","odiaeresis","Odiaeresis") 
     1283neo_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-� 
    14431291  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 
     1299return 
     1300 
     1301neo_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 
     1313return 
     1314 
     1315neo_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 
    14451323  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 
     1329return 
     1330 
     1331neo_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 
    14551339  else if (Ebene = 3) 
    1456     OutputChar("|", "bar") 
     1340    SendUnicodeChar(0x00B2, "twosuperior") ; Hochgestellte 2 
    14571341  else if (Ebene = 4) 
    1458     OutputChar("{PgDn}", "Next") 
     1342    SendUnicodeChar(0x2023, "U2023") ; Aufz�hlungspfeil 
    14591343  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 
     1347return 
     1348 
     1349neo_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 
    14711357  else if (Ebene = 4) 
    1472     OutputChar("{Enter}", "Return") 
     1358    SendUnicodeChar(0x266B, "U226B") ; 2 Achtelnoten 
    14731359  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 
     1363return 
     1364 
     1365neo_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 
    14861373  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 
    14881377  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 
     1381return 
     1382 
     1383neo_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 
    14981391  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 
     1397return 
     1398 
     1399neo_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") 
    15021409  else if (Ebene = 4) 
    1503     OutputChar(":", "colon") 
     1410    OutputChar("�", "sterling") 
    15041411  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 
     1415return 
     1416 
     1417neo_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") 
    15151423  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") 
    15201427  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 
     1431return 
     1432 
     1433neo_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 
     1447return 
     1448 
     1449neo_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 
     1463return 
     1464 
     1465neo_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 
    15241481return 
    15251482 
     
    15421499return 
    15431500 
    1544 neo_punkt: 
     1501neo_strich: 
    15451502  noCaps = 1 
    15461503  EbeneAktualisieren() 
    15471504  if (Ebene = 1) 
    1548     OutputChar(".", "period") 
     1505    OutputChar("-", "minus") ; Bindestrich-Minus 
    15491506  else if (Ebene = 2) 
    1550     SendUnicodeChar("0x2026", "ellipsis") ; Ellipse 
     1507    SendUnicodeChar(0x2013, "endash") ; Gedankenstrich 
    15511508  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 
     1514return 
     1515 
     1516*space:: 
     1517  if einHandNeo 
     1518    spacepressed := 1 
     1519  else goto neo_SpaceUp 
     1520return 
     1521 
     1522*space up:: 
     1523  if einHandNeo 
     1524    if keypressed { 
     1525     keypressed := 0 
     1526     spacepressed := 0 
     1527    } else goto neo_SpaceUp 
     1528  return 
     1529 
     1530neo_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 
     1547return 
     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} 
     1569return 
     1570 
     1571*Ins:: 
     1572  if !lernModus or lernModus_std_Einf 
     1573    send {Blind}{Ins} 
     1574return 
     1575 
     1576neo_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 
     1642neo_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 
     1656return 
     1657 
     1658neo_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") 
     1672return 
     1673 
     1674neo_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 
     1688return 
     1689 
     1690neo_Numpad3: 
     1691  EbeneAktualisieren() 
     1692  if (Ebene = 1) 
    15551693    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} 
    15561700  else if (Ebene = 5) 
    1557     SendUnicodeChar(0x03D1, "U03D1") ; theta symbol (vartheta) 
    1558   else if (Ebene = 6) 
    1559     SendUnicodeChar(0x0398, "Greek_THETA") ; Theta 
    1560 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") 
     1704return 
     1705 
     1706neo_Numpad4: 
     1707  EbeneAktualisieren() 
     1708  if (Ebene = 1) 
     1709    OutputChar("{Numpad4}", "KP_4") 
     1710  else if (Ebene = 2) 
     1711    SendUnicodeChar(0x2663, "club") ; schwarzes Kreuz 
    15681712  else if (Ebene = 3) 
    1569     OutputChar("`;", "semicolon") 
     1713    SendUnicodeChar(0x2190, "leftarrow") ; Linkspfeil 
    15701714  else if (Ebene = 4) 
    1571     OutputChar("`;", "semicolon") 
     1715    send {blind}{NumpadLeft} 
    15721716  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 
     1720return 
     1721 
     1722neo_Numpad5: 
     1723  EbeneAktualisieren() 
     1724  if (Ebene = 1) 
     1725    OutputChar("{Numpad5}", "KP_5") 
     1726  else if (Ebene = 2) 
     1727    SendUnicodeChar(0x20AC, "EuroSign") ; Euro 
    15881728  else if (Ebene = 3) 
    1589     OutputChar("`=", "equal") 
     1729    SendUnicodeChar(0x221E, "infinity") ; Unendlich 
    15901730  else if (Ebene = 4) 
    1591     SendUnicodeChar(0x2260, "notequal") ; Ungleich zu 
     1731    send {blind}{NumPadClear} ; begin 
    15921732  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 
     1736return 
     1737 
     1738neo_Numpad6: 
     1739  EbeneAktualisieren() 
     1740  if (Ebene = 1) 
     1741    OutputChar("{Numpad6}", "KP_6") 
     1742  if (Ebene = 2) 
     1743    OutputChar("�", "brokenbar") 
    16021744  else if (Ebene = 3) 
    1603     OutputChar("�", "division") 
     1745    SendUnicodeChar(0x2192, "rightarrow") ; Rechtspfeil 
    16041746  else if (Ebene = 4) 
    1605     SendUnicodeChar(0x2300, "U2300") ; diameter 
     1747    send {blind}{NumpadRight} 
    16061748  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 
    16581752return 
    16591753 
     
    17061800return 
    17071801 
    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 
     1802neo_NumLock: 
     1803  EbeneAktualisieren() 
     1804  if Ebene12 
     1805    OutputChar("{Tab}", "Tab") 
    17141806  else if (Ebene = 3) 
    1715     SendUnicodeChar(0x2190, "leftarrow") ; Linkspfeil 
     1807    OutputChar("`=", "equal") 
    17161808  else if (Ebene = 4) 
    1717     send {blind}{NumpadLeft} 
     1809    SendUnicodeChar(0x2260, "notequal") ; Ungleich zu 
    17181810  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") 
     1814return 
     1815 
     1816neo_NumpadDiv: 
     1817  EbeneAktualisieren() 
     1818  if Ebene12 
     1819    OutputChar("{NumpadDiv}", "KP_Divide") 
    17301820  else if (Ebene = 3) 
    1731     SendUnicodeChar(0x221E, "infinity") ; Unendlich 
     1821    OutputChar("�", "division") 
    17321822  else if (Ebene = 4) 
    1733     send {blind}{NumPadClear} ; begin 
     1823    SendUnicodeChar(0x2300, "U2300") ; diameter 
    17341824  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 
     1828return 
     1829 
     1830neo_NumpadMult: 
     1831  EbeneAktualisieren() 
     1832  if Ebene12 
     1833    send {blind}{NumpadMult} 
    17461834  else if (Ebene = 3) 
    1747     SendUnicodeChar(0x2192, "rightarrow") ; Rechtspfeil 
     1835    SendUnicodeChar(0x22C5, "U22C5") ; multiplication dot 
    17481836  else if (Ebene = 4) 
    1749     send {blind}{NumpadRight} 
     1837    SendUnicodeChar(0x2299, "U2299") ; circled dot 
    17501838  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 
     1842return 
     1843 
     1844neo_NumpadSub: 
     1845  EbeneAktualisieren() 
     1846  if (Ebene12 and !(CheckDeadUni("c1",0x207B) 
     1847                 or CheckDeadUni("a3",0x208B))) 
     1848    send {blind}{NumpadSub} 
    17621849  else if (Ebene = 3) 
    1763     SendUnicodeChar(0x2194, "U2194") ; Links-Rechts-Pfeil 
     1850    SendUnicodeChar(0x2212, "U2212") ; Echtes Minus 
    17641851  else if (Ebene = 4) 
    1765     send {blind}{NumpadEnd} 
     1852    SendUnicodeChar(0x2296, "U2296") ; circled minus 
    17661853  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 
     1857return 
     1858 
     1859neo_NumpadAdd: 
     1860  EbeneAktualisieren() 
     1861  if (Ebene12 and !(CheckDeadUni("c1",0x207A) 
     1862                 or CheckDeadUni("a3",0x208A))) 
     1863    send {blind}{NumpadAdd} 
    17781864  else if (Ebene = 3) 
    1779     SendUnicodeChar(0x2192, "downarrow") 
     1865    OutputChar("�", "plusminus") 
    17801866  else if (Ebene = 4) 
    1781     send {blind}{NumpadDown} 
     1867    SendUnicodeChar(0x2295, "U2295") ; circled plus 
    17821868  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 
     1872return 
     1873 
     1874neo_NumpadEnter: 
     1875  send {blind}{NumpadEnter} 
    18181876return 
    18191877 
     
    18341892return 
    18351893 
    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  
     1894neo_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") 
     1920return 
     1921 
     1922neo_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") 
     1940return 
     1941 
     1942neo_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") 
     1968return 
    19781969 
    19791970/*  
     
    20892080  if !DeadSilence 
    20902081    OutputChar(val1, val2) 
     2082  else CheckComp(val2) 
    20912083  DeadKey := a 
    20922084} 
     
    20962088  if !DeadSilence 
    20972089    SendUnicodeChar(val1, val2) 
     2090  else CheckComp(val2) 
    20982091  DeadKey := a 
    20992092}