Changeset 806

Show
Ignore:
Timestamp:
08/25/08 17:24:35 (5 years ago)
Author:
dennis
Message:

Changelog für R804 nachgetragen (leider noch unvollständig), exe aktualisiert.

Location:
windows/autohotkey
Files:
3 modified

Legend:

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

    r804 r806  
    2525 
    2626=== Änderungshistorie === 
     27 
     28Revision 804 (von Martin Roppelt) 
     29- Formatierung vereinfacht und vereinheitlicht. 
     30- Compose-Ligaturen implementiert: fl, … 
    2731Revision 789 (von Martin Roppelt) 
    2832- NumLock-Bug ausgebessert (NumLock konnte nach dem Beenden von Neo nicht mehr aktiviert werden). 
  • windows/autohotkey/neo20.ahk

    r790 r806  
     1/* 
     2******************************************* 
     3WICHTIGE WARNUNG: 
     4 
     5Dies ist inzwischen eine automatisch generierte 
     6Datei! Sie wird regelm��ig �berschrieben und 
     7sollte deshalb nicht mehr direkt bearbeitet werden! 
     8 
     9Alle weiterf�hrende Informationen finden sich im Abschnitt  
     10== Hinweise f�r Entwickler == 
     11in der Datei README.txt!   
     12******************************************* 
     13 
     14 
     15 
     16 
     17 
     18 
     19 
     20 
     21 
     22 
     23 
     24 
     25 
     26 
     27 
     28 
     29 
     30 
     31 
     32 
     33******************************************* 
     34Das war die letzte WARNUNG, ich hoffe nur dass 
     35Sie wirklich wissen was Sie hier tun wollen ... 
     36******************************************* 
     37*/ 
    138/****************** 
    239* Initialisierung * 
     
    112149regread,inputlocale,HKEY_CURRENT_USER,Keyboard Layout\Preload,1 
    113150regread,inputlocalealias,HKEY_CURRENT_USER,Keyboard Layout\Substitutes,%inputlocale% 
    114 if inputlocalealias<>inputlocale=%inputlocalealias% 
    115 if inputlocale<>00000407 
    116 { 
     151if (inputlocalealias<>inputlocale=%inputlocalealias% and inputlocale<>00000407) { 
    117152  suspend    
    118153  regread,inputlocale,HKEY_LOCAL_MACHINE,SYSTEM\CurrentControlSet\Control\Keyboard Layouts\%inputlocale%,Layout Text 
     
    163198;Blinde/Sichtbare Tote Tasten 
    164199*F9:: 
    165   if (isMod4pressed()) 
    166     DeadSilence := not(DeadSilence) 
    167   else 
    168     send {blind}{F9} 
     200  if isMod4pressed() 
     201    DeadSilence := !(DeadSilence) 
     202  else send {blind}{F9} 
    169203return 
    170204 
    171205;Blinde/Sichtbare Compose 
    172206*F10:: 
    173   if (isMod4pressed()) 
    174     DeadCompose := not(DeadCompose) 
    175   else 
    176     send {blind}{F10} 
     207  if isMod4pressed() 
     208    DeadCompose := !(DeadCompose) 
     209  else send {blind}{F10} 
    177210return 
    178211 
    179212;Lang-s-Tastatur: 
    180213*F11:: 
    181   if (isMod4pressed()){ 
    182     LangSTastatur := not(LangSTastatur) 
     214  if isMod4pressed() { 
     215    LangSTastatur := !(LangSTastatur) 
    183216    if LangSTastatur 
    184217      KeyboardLED(2,"on") 
    185218    else KeyboardLED(2,"off") 
    186   }  
    187   else 
    188     send {blind}{F11} 
     219  } else send {blind}{F11} 
    189220return 
    190221 
     
    192223;bzw. Skript neu laden: 
    193224*Esc:: 
    194   if (isMod4pressed()) 
     225  if isMod4pressed() 
    195226    reload 
    196   else 
    197     send {blind}{Esc} 
     227  else send {blind}{Esc} 
    198228return 
    199229 
     
    202232  if isShiftpressed() 
    203233    goto togglesuspend 
    204   else= 
    205     send {blind}{pause} 
     234  else send {blind}{pause} 
    206235return 
    207236 
     
    211240*/ 
    212241togglesuspend: 
    213   if A_IsSuspended 
    214   { 
     242  if A_IsSuspended { 
    215243    menu, tray, rename, %enable%, %disable% 
    216244    menu, tray, tip, %name% 
     
    218246      menu, tray, icon, %ResourceFolder%\neo.ico,,1 
    219247    suspend , off ; Schaltet Suspend aus -> NEO 
    220   } 
    221   else 
    222   { 
     248  } else { 
    223249    menu, tray, rename, %disable%, %enable% 
    224250    menu, tray, tip, %name% : Deaktiviert 
     
    226252      menu, tray, icon, %ResourceFolder%\neo_disabled.ico,,1 
    227253    suspend , on  ; Schaltet Suspend ein -> QWERTZ 
    228   } 
    229 return 
     254  } return 
    230255 
    231256help: 
    232    Run, %A_WinDir%\hh mk:@MSITStore:autohotkey.chm 
     257  Run, %A_WinDir%\hh mk:@MSITStore:autohotkey.chm 
    233258return 
    234259 
     
    251276 
    252277neo: 
    253    run http://neo-layout.org/ 
     278  run http://neo-layout.org/ 
    254279return 
    255280 
    256281autohotkey: 
    257    run http://autohotkey.com/ 
     282  run http://autohotkey.com/ 
    258283return 
    259284 
    260285open: 
    261    ListLines ; shows the Autohotkey window 
     286  ListLines ; shows the Autohotkey window 
    262287return 
    263288 
    264289edit: 
    265    edit 
     290  edit 
    266291return 
    267292 
    268293reload: 
    269    Reload 
     294  Reload 
    270295return 
    271296 
    272297hide: 
    273    menu, tray, noicon 
     298  menu, tray, noicon 
    274299return 
    275300 
    276301exitprogram: 
    277    exitapp 
     302  exitapp 
    278303return 
    279304 
     
    349374gespiegelt_punkt = neo_� 
    350375gespiegelt_j = neo_� 
    351  
    352  
    353376; LShift+RShift == CapsLock (simuliert) 
    354377; Es werden nur die beiden Tastenkombinationen abgefragt, 
     
    493516       return ( GetKeyState("<","P") or GetKeyState("SC138","P") or GetKeyState("�","P")) 
    494517} 
    495  
    496  
    497518/* 
    498519   ------------------------------------------------------ 
     
    500521   ------------------------------------------------------ 
    501522*/ 
     523 
    502524; Reihe 1 
    503 *VKDCSC029::goto neo_tot1  ; Zirkumflex ^ 
     525*VKDCSC029::goto neo_tot1 ; Zirkumflex 
    504526*VK31SC002::goto neo_1 
    505527*VK32SC003::goto neo_2 
     
    509531*VK36SC007::goto neo_6 
    510532*VK37SC008:: 
    511      if( not(einHandNeo) or not(spacepressed) ) 
    512        goto neo_7 
    513      else 
    514       { 
    515         keypressed := 1 
    516         goto %gespiegelt_7% 
    517       } 
     533  if (!(einHandNeo) or !(spacepressed)) 
     534    goto neo_7 
     535  else { 
     536    keypressed := 1 
     537    goto %gespiegelt_7% 
     538  }  
    518539*VK38SC009:: 
    519      if( not(einHandNeo) or not(spacepressed) ) 
    520        goto neo_8 
    521      else 
    522       { 
    523         keypressed := 1 
    524         goto %gespiegelt_8% 
    525       } 
     540  if(!(einHandNeo) or !(spacepressed)) 
     541    goto neo_8 
     542  else { 
     543    keypressed := 1 
     544    goto %gespiegelt_8% 
     545  } 
    526546*VK39SC00A:: 
    527      if( not(einHandNeo) or not(spacepressed) ) 
    528        goto neo_9 
    529      else 
    530       { 
    531         keypressed := 1 
    532         goto %gespiegelt_9% 
    533       } 
     547  if(!(einHandNeo) or !(spacepressed)) 
     548    goto neo_9 
     549  else { 
     550    keypressed := 1 
     551    goto %gespiegelt_9% 
     552  } 
    534553*VK30SC00B:: 
    535      if( not(einHandNeo) or not(spacepressed) ) 
    536        goto neo_0 
    537      else 
    538       { 
    539         keypressed := 1 
    540         goto %gespiegelt_0% 
    541       } 
     554  if(!(einHandNeo) or !(spacepressed)) 
     555    goto neo_0 
     556  else { 
     557    keypressed := 1 
     558    goto %gespiegelt_0% 
     559  } 
    542560*VKDBSC00C:: ; � 
    543   if ( not(ahkTreiberKombi) ) 
    544   { 
    545        if( not(einHandNeo) or not(spacepressed) ) 
    546        goto neo_strich 
    547      else 
    548       { 
    549         keypressed := 1 
    550         goto %gespiegelt_strich% 
    551       } 
    552    } 
    553   else 
    554   { 
    555      goto neo_sz    
    556   } 
    557 *VKDDSC00D::goto neo_tot2  ; Akut                        
     561  if !ahkTreiberKombi { 
     562    if(!(einHandNeo) or !(spacepressed)) 
     563      goto neo_strich 
     564    else { 
     565      keypressed := 1 
     566      goto %gespiegelt_strich% 
     567    } 
     568  } else goto neo_sz    
     569*VKDDSC00D::goto neo_tot2 ; Akut 
     570 
    558571; Reihe 2 
     572 
    559573VK09SC00F::goto neo_tab 
    560574*VK51SC010:: ; q (x) 
    561   if ( not(ahkTreiberKombi) ) 
    562   { 
    563      goto neo_x 
     575  if !ahkTreiberKombi  
     576    goto neo_x 
     577  else goto neo_q    
     578*VK57SC011:: ; w (v) 
     579  if !ahkTreiberKombi  
     580    goto neo_v 
     581  else goto neo_w    
     582*VK45SC012:: ; e (l) 
     583  if !ahkTreiberKombi  
     584    goto neo_l 
     585  else goto neo_e    
     586*VK52SC013:: ; r (c) 
     587  if !ahkTreiberKombi  
     588    goto neo_c 
     589  else goto neo_r    
     590*VK54SC014:: ; t (w) 
     591  if !ahkTreiberKombi  
     592    goto neo_w 
     593  else goto neo_t    
     594*VK5ASC015:: ; z (k)  
     595  if !ahkTreiberKombi { 
     596    if(!(einHandNeo) or !(spacepressed)) 
     597      goto neo_k 
     598    else { 
     599      keypressed := 1 
     600      goto %gespiegelt_k% 
     601    } 
    564602  } 
    565   else 
    566   { 
    567      goto neo_q    
     603  else goto neo_z    
     604*VK55SC016:: ; u (h) 
     605  if !ahkTreiberKombi { 
     606    if(!(einHandNeo) or !(spacepressed)) 
     607      goto neo_h 
     608    else { 
     609      keypressed := 1 
     610      goto %gespiegelt_h% 
     611    } 
     612  } else goto neo_u    
     613*VK49SC017:: ; i (g) 
     614  if !ahkTreiberKombi { 
     615    if(!(einHandNeo) or !(spacepressed)) 
     616      goto neo_g 
     617    else { 
     618      keypressed := 1 
     619      goto %gespiegelt_g% 
     620    } 
    568621  } 
    569 *VK57SC011:: ; w (v) 
    570   if ( not(ahkTreiberKombi) ) 
    571   { 
    572      goto neo_v 
     622  else goto neo_i    
     623*VK4FSC018:: ; o (f) 
     624  if !ahkTreiberKombi { 
     625    if(!(einHandNeo) or !(spacepressed)) 
     626      goto neo_f 
     627    else { 
     628      keypressed := 1 
     629      goto %gespiegelt_f% 
     630    } 
    573631  } 
    574   else 
    575   { 
    576      goto neo_w    
     632  else goto neo_o    
     633*VK50SC019:: ; p (q) 
     634  if !ahkTreiberKombi { 
     635    if(!(einHandNeo) or !(spacepressed)) 
     636      goto neo_q 
     637    else { 
     638      keypressed := 1 
     639      goto %gespiegelt_q% 
     640    } 
    577641  } 
    578 *VK45SC012:: ; e (l) 
    579   if ( not(ahkTreiberKombi) ) 
    580   { 
    581      goto neo_l 
     642  else goto neo_p    
     643*VKBASC01A:: ; � (�) 
     644  if !ahkTreiberKombi { 
     645    if(!(einHandNeo) or !(spacepressed)) 
     646      goto neo_sz 
     647    else { 
     648      keypressed := 1 
     649      goto %gespiegelt_sz% 
     650    } 
     651  } else goto neo_�    
     652*VKBBSC01B:: ; + (tot3) 
     653  if !ahkTreiberKombi { 
     654    if(!(einHandNeo) or !(spacepressed)) 
     655      goto neo_tot3 
     656    else { 
     657      keypressed := 1 
     658      goto %gespiegelt_tot3% 
     659    } 
    582660  } 
    583   else 
    584   { 
    585      goto neo_e    
    586   } 
    587 *VK52SC013:: ; r (c) 
    588   if ( not(ahkTreiberKombi) ) 
    589   { 
    590      goto neo_c 
    591   } 
    592   else 
    593   { 
    594      goto neo_r    
    595   } 
    596 *VK54SC014:: ; t (w) 
    597   if ( not(ahkTreiberKombi) ) 
    598   { 
    599      goto neo_w 
    600   } 
    601   else 
    602   { 
    603      goto neo_t    
    604   } 
    605 *VK5ASC015:: ; z (k)  
    606   if ( not(ahkTreiberKombi) ) 
    607   { 
    608      if( not(einHandNeo) or not(spacepressed) ) 
    609        goto neo_k 
    610      else 
    611       { 
    612         keypressed := 1 
    613         goto %gespiegelt_k% 
    614       } 
    615   } 
    616   else 
    617   { 
    618      goto neo_z    
    619   } 
    620 *VK55SC016:: ; u (h) 
    621   if ( not(ahkTreiberKombi) ) 
    622   { 
    623      if( not(einHandNeo) or not(spacepressed) ) 
    624        goto neo_h 
    625      else 
    626       { 
    627         keypressed := 1 
    628         goto %gespiegelt_h% 
    629       } 
    630   } 
    631   else 
    632   { 
    633      goto neo_u    
    634   } 
    635 *VK49SC017:: ; i (g) 
    636   if ( not(ahkTreiberKombi) ) 
    637   { 
    638      if( not(einHandNeo) or not(spacepressed) ) 
    639        goto neo_g 
    640      else 
    641       { 
    642         keypressed := 1 
    643         goto %gespiegelt_g% 
    644       } 
    645   } 
    646   else 
    647   { 
    648      goto neo_i    
    649   } 
    650 *VK4FSC018:: ; o (f) 
    651   if ( not(ahkTreiberKombi) ) 
    652   { 
    653      if( not(einHandNeo) or not(spacepressed) ) 
    654        goto neo_f 
    655      else 
    656       { 
    657         keypressed := 1 
    658         goto %gespiegelt_f% 
    659       } 
    660   } 
    661   else 
    662   { 
    663      goto neo_o    
    664   } 
    665 *VK50SC019:: ; p (q) 
    666   if ( not(ahkTreiberKombi) ) 
    667   { 
    668      if( not(einHandNeo) or not(spacepressed) ) 
    669        goto neo_q 
    670      else 
    671       { 
    672         keypressed := 1 
    673         goto %gespiegelt_q% 
    674       } 
    675   } 
    676   else 
    677   { 
    678      goto neo_p    
    679   } 
    680 *VKBASC01A:: ; � (�) 
    681   if ( not(ahkTreiberKombi) ) 
    682   { 
    683      if( not(einHandNeo) or not(spacepressed) ) 
    684        goto neo_sz 
    685      else 
    686       { 
    687         keypressed := 1 
    688         goto %gespiegelt_sz% 
    689       } 
    690   } 
    691   else 
    692   { 
    693      goto neo_�    
    694   } 
    695 *VKBBSC01B:: ; + (tot3) 
    696   if ( not(ahkTreiberKombi) ) 
    697   { 
    698      if( not(einHandNeo) or not(spacepressed) ) 
    699        goto neo_tot3 
    700      else 
    701       { 
    702         keypressed := 1 
    703         goto %gespiegelt_tot3% 
    704       } 
    705   } 
    706   else 
    707   { } ; this should never happen 
    708661 
    709662; Reihe 3 
    710663*VK41SC01E:: ; a (u) 
    711   if ( not(ahkTreiberKombi) ) 
    712   { 
    713      goto neo_u 
    714   } 
    715   else 
    716   { 
    717      goto neo_a    
    718   } 
     664  if !ahkTreiberKombi  
     665    goto neo_u 
     666  else goto neo_a    
    719667*VK53SC01F:: ; s (i) 
    720   if ( not(ahkTreiberKombi) ) 
    721   { 
    722      goto neo_i 
    723   } 
    724   else 
    725   { 
    726      goto neo_s    
    727   } 
     668  if !ahkTreiberKombi  
     669    goto neo_i 
     670  else goto neo_s    
    728671*VK44SC020:: ; d (a) 
    729   if ( not(ahkTreiberKombi) ) 
    730   { 
    731      goto neo_a 
    732   } 
    733   else 
    734   { 
    735      goto neo_d    
    736   } 
     672  if !ahkTreiberKombi  
     673    goto neo_a 
     674  else goto neo_d    
    737675*VK46SC021:: ; f (e) 
    738   if ( not(ahkTreiberKombi) ) 
    739   { 
    740      goto neo_e 
    741   } 
    742   else 
    743   { 
    744      goto neo_f    
    745   } 
     676  if !ahkTreiberKombi  
     677    goto neo_e 
     678  else goto neo_f    
    746679*VK47SC022:: ; g (o) 
    747   if ( not(ahkTreiberKombi) ) 
    748   { 
    749      goto neo_o 
    750   } 
    751   else 
    752   { 
    753      goto neo_g    
    754   } 
     680  if !ahkTreiberKombi  
     681    goto neo_o 
     682  else goto neo_g    
    755683*VK48SC023:: ; h (s) 
    756   if ( not(ahkTreiberKombi) ) 
    757   { 
    758      if( not(einHandNeo) or not(spacepressed) ) 
    759        goto neo_s 
    760      else 
    761       { 
    762         keypressed := 1 
    763         goto %gespiegelt_s% 
    764       } 
    765   } 
    766   else 
    767   { 
    768      goto neo_h    
    769   } 
     684  if !ahkTreiberKombi { 
     685    if(!(einHandNeo) or !(spacepressed)) 
     686      goto neo_s 
     687    else { 
     688      keypressed := 1 
     689      goto %gespiegelt_s% 
     690    } 
     691  } else goto neo_h    
    770692*VK4ASC024:: ; j (n) 
    771   if ( not(ahkTreiberKombi) ) 
    772   { 
    773      if( not(einHandNeo) or not(spacepressed) ) 
    774        goto neo_n 
    775      else 
    776       { 
    777         keypressed := 1 
    778         goto %gespiegelt_n% 
    779       } 
    780   } 
    781   else 
    782   { 
    783      goto neo_j    
    784   } 
     693  if !ahkTreiberKombi { 
     694    if(!(einHandNeo) or !(spacepressed)) 
     695      goto neo_n 
     696    else { 
     697      keypressed := 1 
     698      goto %gespiegelt_n% 
     699    } 
     700  } else goto neo_j    
    785701*VK4BSC025:: ; k (r) 
    786   if ( not(ahkTreiberKombi) ) 
    787   { 
    788      if( not(einHandNeo) or not(spacepressed) ) 
    789        goto neo_r 
    790      else 
    791       { 
    792         keypressed := 1 
    793         goto %gespiegelt_r% 
    794       } 
    795   } 
    796   else 
    797   { 
    798      goto neo_k    
    799   } 
     702  if !ahkTreiberKombi { 
     703    if(!(einHandNeo) or !(spacepressed)) 
     704      goto neo_r 
     705    else { 
     706      keypressed := 1 
     707      goto %gespiegelt_r% 
     708    } 
     709  } else goto neo_k    
    800710*VK4CSC026:: ; l (t) 
    801   if ( not(ahkTreiberKombi) ) 
    802   { 
    803      if( not(einHandNeo) or not(spacepressed) ) 
    804        goto neo_t 
    805      else 
    806       { 
    807         keypressed := 1 
    808         goto %gespiegelt_t% 
    809       } 
    810   } 
    811   else 
    812   { 
    813      goto neo_l    
    814   } 
     711  if !ahkTreiberKombi { 
     712    if(!(einHandNeo) or !(spacepressed)) 
     713      goto neo_t 
     714    else { 
     715      keypressed := 1 
     716      goto %gespiegelt_t% 
     717    } 
     718  } else goto neo_l    
    815719*VKC0SC027:: ; � (d) 
    816   if ( not(ahkTreiberKombi) ) 
    817   { 
    818      if( not(einHandNeo) or not(spacepressed) ) 
    819        goto neo_d 
    820      else 
    821       { 
    822         keypressed := 1 
    823         goto %gespiegelt_d% 
    824       } 
    825   } 
    826   else 
    827   { 
    828      goto neo_�    
    829   } 
     720  if !ahkTreiberKombi { 
     721    if(!(einHandNeo) or !(spacepressed)) 
     722      goto neo_d 
     723    else { 
     724      keypressed := 1 
     725      goto %gespiegelt_d% 
     726    } 
     727  } else goto neo_�    
    830728*VKDESC028:: ; � (y) 
    831   if ( not(ahkTreiberKombi) ) 
    832   { 
    833      goto neo_y 
    834   } 
    835   else 
    836   { 
    837      goto neo_� 
    838   } 
     729  if !ahkTreiberKombi  
     730    goto neo_y 
     731  else goto neo_� 
    839732 
    840733; Reihe 4 
    841734*VK59SC02C:: ; y (�) 
    842   if ( not(ahkTreiberKombi) ) 
    843   { 
    844      goto neo_� 
    845   } 
    846   else 
    847   { 
    848      goto neo_y    
    849   } 
     735  if !ahkTreiberKombi  
     736    goto neo_� 
     737  else goto neo_y    
    850738*VK58SC02D:: ; x (�) 
    851   if ( not(ahkTreiberKombi) ) 
    852   { 
    853      goto neo_� 
    854   } 
    855   else 
    856   { 
    857      goto neo_x    
    858   } 
     739  if !ahkTreiberKombi  
     740    goto neo_� 
     741  else goto neo_x    
    859742*VK43SC02E:: ; c (�) 
    860   if ( not(ahkTreiberKombi) ) 
    861   { 
    862      goto neo_� 
    863   } 
    864   else 
    865   { 
    866      goto neo_c 
    867   } 
     743  if !ahkTreiberKombi  
     744    goto neo_� 
     745  else goto neo_c 
    868746*VK56SC02F:: ; v (p) 
    869   if ( not(ahkTreiberKombi) ) 
    870   { 
    871      goto neo_p 
    872   } 
    873   else 
    874   { 
    875      goto neo_v 
    876   } 
     747  if !ahkTreiberKombi  
     748    goto neo_p 
     749  else goto neo_v 
    877750*VK42SC030:: ; b (z) 
    878   if ( not(ahkTreiberKombi) ) 
    879   { 
    880      goto neo_z 
    881   } 
    882   else 
    883   { 
    884      goto neo_b 
    885   } 
     751  if !ahkTreiberKombi  
     752    goto neo_z 
     753  else goto neo_b 
    886754*VK4ESC031:: ; n (b) 
    887   if ( not(ahkTreiberKombi) ) 
    888   { 
    889      if( not(einHandNeo) or not(spacepressed) ) 
    890        goto neo_b 
    891      else 
    892       { 
    893         keypressed := 1 
    894         goto %gespiegelt_b% 
    895       } 
    896   } 
    897   else 
    898   { 
    899      goto neo_n 
    900   } 
     755  if !ahkTreiberKombi { 
     756    if(!(einHandNeo) or !(spacepressed)) 
     757      goto neo_b 
     758    else { 
     759      keypressed := 1 
     760      goto %gespiegelt_b% 
     761    } 
     762  } else goto neo_n 
    901763*VK4DSC032:: ; m (m) 
    902      if( not(einHandNeo) or not(spacepressed) ) 
     764     if(!(einHandNeo) or !(spacepressed)) 
    903765       goto neo_m 
    904      else 
    905       { 
    906         keypressed := 1 
    907         goto %gespiegelt_m% 
     766     else { 
     767       keypressed := 1 
     768       goto %gespiegelt_m% 
    908769      } 
    909770*VKBCSC033:: ; , (,) 
    910      if( not(einHandNeo) or not(spacepressed) ) 
     771     if(!(einHandNeo) or !(spacepressed)) 
    911772       goto neo_komma 
    912      else 
    913       { 
    914         keypressed := 1 
    915         goto %gespiegelt_komma% 
    916       } 
     773     else { 
     774       keypressed := 1 
     775       goto %gespiegelt_komma% 
     776     } 
    917777*VKBESC034:: ; . (.) 
    918      if( not(einHandNeo) or not(spacepressed) ) 
     778     if(!(einHandNeo) or !(spacepressed)) 
    919779       goto neo_punkt 
    920      else 
    921       { 
    922         keypressed := 1 
    923         goto %gespiegelt_punkt% 
    924       } 
     780     else { 
     781       keypressed := 1 
     782       goto %gespiegelt_punkt% 
     783     } 
    925784*VKBDSC035:: ; - (j) 
    926   if ( not(ahkTreiberKombi) ) 
    927   { 
    928      if( not(einHandNeo) or not(spacepressed) ) 
     785  if !ahkTreiberKombi { 
     786     if(!(einHandNeo) or !(spacepressed)) 
    929787       goto neo_j 
    930      else 
    931       { 
    932         keypressed := 1 
    933         goto %gespiegelt_j% 
    934       } 
    935   } 
    936   else 
    937   { 
    938      goto neo_strich 
    939   } 
     788     else { 
     789       keypressed := 1 
     790       goto %gespiegelt_j% 
     791     } 
     792  } else goto neo_strich 
    940793 
    941794; Numpad 
     
    946799*VK6BSC04E::goto neo_NumpadAdd 
    947800*VK0DSC11C::goto neo_NumpadEnter 
    948  
    949 *VK67SC047::                      ; NumPad7    (mit NumLock  und ohne Shift) 
    950 *VK24SC047::goto neo_Numpad7      ; NumPadHome (ohne Numlock oder mit Shift) 
    951  
    952 *VK68SC048::                      ; NumPad8    (mit NumLock  und ohne Shift) 
    953 *VK26SC048::goto neo_Numpad8      ; NumPadUp   (ohne Numlock oder mit Shift) 
    954  
    955 *VK69SC049::                      ; NumPad9    (mit NumLock  und ohne Shift) 
    956 *VK21SC049::goto neo_Numpad9      ; NumPadPgUp (ohne Numlock oder mit Shift) 
    957  
    958 *VK64SC04B::                      ; NumPad4    (mit NumLock  und ohne Shift) 
    959 *VK25SC04B::goto neo_Numpad4      ; NumPadLeft (ohne Numlock oder mit Shift) 
    960  
    961 *VK65SC04C::                      ; NumPad5    (mit NumLock  und ohne Shift) 
    962 *VK0CSC04C::goto neo_Numpad5      ; NumPadClear(ohne Numlock oder mit Shift) 
    963  
    964 *VK66SC04D::                      ; NumPad6    (mit NumLock  und ohne Shift) 
    965 *VK27SC04D::goto neo_Numpad6      ; NumPadRight(ohne Numlock oder mit Shift) 
    966  
    967 *VK61SC04F::                      ; NumPad1    (mit NumLock  und ohne Shift) 
    968 *VK23SC04F::goto neo_Numpad1      ; NumPadEnd  (ohne Numlock oder mit Shift) 
    969  
    970 *VK62SC050::                      ; NumPad2    (mit NumLock  und ohne Shift) 
    971 *VK28SC050::goto neo_Numpad2      ; NumPadDown (ohne Numlock oder mit Shift) 
    972  
    973 *VK63SC051::                      ; NumPad3    (mit NumLock  und ohne Shift) 
    974 *VK22SC051::goto neo_Numpad3      ; NumPadPgDn (ohne Numlock oder mit Shift) 
    975  
    976 *VK60SC052::                      ; NumPad0    (mit NumLock  und ohne Shift) 
    977 *VK2DSC052::goto neo_Numpad0      ; NumPadIns  (ohne Numlock oder mit Shift) 
    978  
    979 *VK6ESC053::                      ; NumPadDot  (mit NumLock  und ohne Shift) 
    980 *VK2ESC053::goto neo_NumpadDot    ; NumPadIns  (ohne Numlock oder mit Shift) 
     801*VK67SC047::                   ; NumPad7 
     802*VK24SC047::goto neo_Numpad7   ; NumPadHome 
     803*VK68SC048::                   ; NumPad8 
     804*VK26SC048::goto neo_Numpad8   ; NumPadUp 
     805*VK69SC049::                   ; NumPad9 
     806*VK21SC049::goto neo_Numpad9   ; NumPadPgUp 
     807*VK64SC04B::                   ; NumPad4 
     808*VK25SC04B::goto neo_Numpad4   ; NumPadLeft 
     809*VK65SC04C::                   ; NumPad5 
     810*VK0CSC04C::goto neo_Numpad5   ; NumPadClear 
     811*VK66SC04D::                   ; NumPad6 
     812*VK27SC04D::goto neo_Numpad6   ; NumPadRight 
     813*VK61SC04F::                   ; NumPad1 
     814*VK23SC04F::goto neo_Numpad1   ; NumPadEnd 
     815*VK62SC050::                   ; NumPad2 
     816*VK28SC050::goto neo_Numpad2   ; NumPadDown 
     817*VK63SC051::                   ; NumPad3 
     818*VK22SC051::goto neo_Numpad3   ; NumPadPgDn 
     819*VK60SC052::                   ; NumPad0 
     820*VK2DSC052::goto neo_Numpad0   ; NumPadIns 
     821*VK6ESC053::                   ; NumPadDot 
     822*VK2ESC053::goto neo_NumpadDot ; NumPadIns 
    981823/* 
    982 Die eigentliche NEO-Belegung und der Hauptteil des AHK-Treibers. 
    983  
    984   Ablauf bei toten Tasten: 
    985   1. Ebene Aktualisieren. 
    986   2. Abh�ngig von der Variablen "Ebene" Zeichen ausgeben und die Variable "PriorDeadKey" setzen. 
    987  
    988   Ablauf bei "untoten" Tasten: 
    989   1. Ebene Aktualisieren. 
    990   2. Abh�ngig von den Variablen "Ebene" und "PriorDeadKey" Zeichen ausgeben. 
    991   3. "PriorDeadKey" mit leerem String �berschreiben. 
     824  Die eigentliche NEO-Belegung und der Hauptteil des AHK-Treibers. 
    992825 
    993826  Reihe 1 
     
    997830  noCaps=1 
    998831  EbeneAktualisieren() 
    999   if(Ebene=1){ 
    1000     deadUni(0x02C6) ; Zirkumflex, tot 
    1001     DeadKey=c1 
    1002   }else if(Ebene = 2){ 
    1003     deadUni(0x02C7) ; Caron, tot 
    1004     DeadKey=c2 
    1005   }else if(Ebene = 3){ 
     832  if (Ebene=1) { 
     833     deadUni(0x02C6) ; Zirkumflex, tot 
     834     DeadKey = c1 
     835  } else if (Ebene = 2) { 
     836     deadUni(0x02C7) ; Caron, tot 
     837     DeadKey = c2 
     838  } else if (Ebene = 3) { 
    1006839    deadUni(0x02D8) ; Brevis, tot 
    1007     DeadKey=c3 
    1008   }else if Ebene7 
     840    DeadKey = c3 
     841  } else if Ebene7 
    1009842    SendUnicodeChar(0x0302) ; Verbindungszeichen Zirkumflex 
    1010843  else if Ebene8 
    1011844    SendUnicodeChar(0x0306) ; Verbindungszeichen Brevis 
    1012   else if(Ebene = 4){ 
     845  else if (Ebene = 4) { 
    1013846    deadUni(0x00B7) ; Mittenpunkt, tot 
    1014     DeadKey=c4 
    1015   }else if(Ebene = 5){ 
     847    DeadKey = c4 
     848  } else if (Ebene = 5) { 
    1016849    deadUni(0x002D) ; Querstrich, tot 
    1017     DeadKey=c5 
    1018   }else if(Ebene = 6){ 
     850    DeadKey = c5 
     851  } else if (Ebene = 6) { 
    1019852    deadUni(0x0323) ; Punkt drunter (Colon), tot 
    1020     DeadKey=c6 
    1021   }CompKey := PriorCompKey 
     853    DeadKey = c6 
     854  } CompKey := PriorCompKey 
    1022855return 
    1023856 
     
    1025858  noCaps=1 
    1026859  EbeneAktualisieren() 
    1027   if Ebene12{ 
    1028     if!(CheckDeadUni("c1",0x00B9) ; Hochgestellte 1 
     860  if Ebene12 { 
     861    if !(CheckDeadUni("c1",0x00B9) ; Hochgestellte 1 
    1029862      or CheckDeadUni("c5",0x2081) ; Tiefgestellte 1 
    1030863      or CheckComp3Uni("r_1",0x217A) ; R�misch xi 
    1031864      or CheckComp3Uni("R_1",0x216A)) ; R�misch XI 
    1032865      outputChar(1,"�") 
    1033     if!(checkComp(1)) 
    1034     if(PriorCompKey == "r") 
     866    if !(checkComp(1)) 
     867    if (PriorCompKey == "r") 
    1035868      CompKey := "r_1" 
    1036     else if(PriorCompkey == "R") 
     869    else if (PriorCompkey == "R") 
    1037870      CompKey := "R_1" 
    1038   }else if(Ebene = 3) 
     871  } else if (Ebene = 3) 
    1039872    SendUnicodeChar(0x00B9) ; Hochgestellte 1 
    1040   else if(Ebene = 4) 
     873  else if (Ebene = 4) 
    1041874    SendUnicodeChar(0x2022) ; Bullet 
    1042   else if(Ebene = 5) 
     875  else if (Ebene = 5) 
    1043876    SendUnicodeChar(0x2640) ; Piktogramm weiblich 
    1044   else if(Ebene = 6) 
     877  else if (Ebene = 6) 
    1045878    SendUnicodeChar(0x00AC) ; Nicht-Symbol 
    1046879return 
     
    1049882  noCaps = 1 
    1050883  EbeneAktualisieren() 
    1051   if(Ebene = 1){ 
    1052     if!(CheckDeadUni("c1",0x00B2) ; Hochgestellte 2 
     884  if (Ebene = 1) { 
     885    if !(CheckDeadUni("c1",0x00B2) ; Hochgestellte 2 
    1053886      or CheckDeadUni("c5",0x2082) ; Tiefgestellte 2 
    1054887      or CheckCompUni("r",0x2171) ; R�misch ii 
     
    1058891      outputChar(2,"") 
    1059892    checkComp(2) 
    1060   }else if(Ebene = 2) 
     893  } else if (Ebene = 2) 
    1061894    SendUnicodeChar(0x2116) ; Numero 
    1062   else if(Ebene = 3) 
     895  else if (Ebene = 3) 
    1063896    SendUnicodeChar(0x00B2) ; Hochgestellte 2 
    1064   else if(Ebene = 4) 
     897  else if (Ebene = 4) 
    1065898    SendUnicodeChar(0x2023) ; Aufz�hlungspfeil 
    1066   else if(Ebene = 5) 
     899  else if (Ebene = 5) 
    1067900    SendUnicodeChar(0x26A5) ; Piktogramm Zwitter 
    1068   else if(Ebene = 6) 
     901  else if (Ebene = 6) 
    1069902    SendUnicodeChar(0x2228) ; Logisches Oder 
    1070903return 
     
    1073906  noCaps = 1 
    1074907  EbeneAktualisieren() 
    1075   if Ebene12{ 
    1076     if!(CheckDeadUni("c1",0x00B3) 
    1077       or CheckDeadUni("c5",0x2083) 
     908  if Ebene12 { 
     909    if !(CheckDeadUni("c1",0x00B3) ; Hochgestellte 3 
     910      or CheckDeadUni("c5",0x2083) ; Tiefgestellte 3 
    1078911      or CheckCompUni("1",0x2153) ; 1/3 
    1079912      or CheckCompUni("2",0x2154) ; 2/3 
     
    1082915      outputChar(3,"�") 
    1083916    checkComp(3) 
    1084   }else if(Ebene = 3) 
     917  } else if (Ebene = 3) 
    1085918    SendUnicodeChar(0x00B3) ; Hochgestellte 3 
    1086   else if(Ebene = 5) 
     919  else if (Ebene = 5) 
    1087920    SendUnicodeChar(0x2642) ; Piktogramm Mann 
    1088   else if(Ebene = 6) 
     921  else if (Ebene = 6) 
    1089922    SendUnicodeChar(0x2227) ; Logisches Und 
    1090923return 
     
    1093926  noCaps = 1 
    1094927  EbeneAktualisieren() 
    1095   if(Ebene = 1){ 
    1096     if!(CheckDeadUni("c1",0x2074) 
    1097       or CheckDeadUni("c5",0x2084) 
     928  if (Ebene = 1) { 
     929    if !(CheckDeadUni("c1",0x2074) ; Hochgestellte 4 
     930      or CheckDeadUni("c5",0x2084) ; Tiefgestellte 4 
    1098931      or CheckCompUni("r",0x2173) ; R�misch iv 
    1099932      or CheckCompUni("R",0x2163)) ; R�misch IV 
    1100933      outputChar(4,"") 
    1101934    checkComp(4) 
    1102   }else if(Ebene = 2) 
     935  } else if (Ebene = 2) 
    1103936    SendUnicodeChar(0x00BB) ; Double guillemot right 
    1104   else if(Ebene = 3) 
     937  else if (Ebene = 3) 
    1105938    Send {blind}� ; Single guillemot right 
    1106   else if(Ebene = 4) 
     939  else if (Ebene = 4) 
    1107940    Send {blind}{PgUp} 
    1108   else if(Ebene = 5) 
     941  else if (Ebene = 5) 
    1109942    SendUnicodeChar(0x2113) ; Script small L 
    1110   else if(Ebene = 6) 
     943  else if (Ebene = 6) 
    1111944    SendUnicodeChar(0x22A5) ; Senkrecht 
    1112945return 
     
    1115948  noCaps = 1 
    1116949  EbeneAktualisieren() 
    1117   if(Ebene = 1){  
    1118     if!(CheckDeadUni("c1",0x2075) 
    1119       or CheckDeadUni("c5",0x2085) 
     950  if (Ebene = 1) {  
     951    if !(CheckDeadUni("c1",0x2075) ; Hochgestellte 5 
     952      or CheckDeadUni("c5",0x2085) ; Tiefgestellte 5 
    1120953      or CheckCompUni("1",0x2155) ; 1/5 
    1121954      or CheckCompUni("2",0x2156) ; 2/5 
     
    1126959      outputChar(5,"") 
    1127960    checkComp(5) 
    1128   }else if(Ebene = 2) 
     961  } else if (Ebene = 2) 
    1129962    SendUnicodeChar(0x00AB) ; Double guillemot left 
    1130   else if(Ebene = 3) 
     963  else if (Ebene = 3) 
    1131964    Send {blind}� ; Single guillemot left 
    1132   else if(Ebene = 5) 
     965  else if (Ebene = 5) 
    1133966    SendUnicodeChar(0x2020) ; Kreuz (Dagger) 
    1134   else if(Ebene = 6) 
     967  else if (Ebene = 6) 
    1135968    SendUnicodeChar(0x2221) ; Winkel 
    1136969return 
     
    1139972  noCaps = 1 
    1140973  EbeneAktualisieren() 
    1141   if(Ebene = 1){ 
    1142     if!(CheckDeadUni("c1",0x2076) 
    1143       or CheckDeadUni("c5",0x2086) 
     974  if (Ebene = 1) { 
     975    if !(CheckDeadUni("c1",0x2076) ; Hochgestellte 6 
     976      or CheckDeadUni("c5",0x2086) ; Tiefgestellte 6 
    1144977      or CheckCompUni("1",0x2159) ; 1/6 
    1145978      or CheckCompUni("5",0x215A) ; 5/6 
     
    1148981      outputChar(6,"") 
    1149982    checkComp(6) 
    1150   }else if(Ebene = 2) 
     983  } else if (Ebene = 2) 
    1151984    SendUnicodeChar(0x20AC) 
    1152   else if(Ebene = 3) 
     985  else if (Ebene = 3) 
    1153986    send {blind}� 
    1154   else if(Ebene = 4) 
     987  else if (Ebene = 4) 
    1155988    send {blind}� 
    1156   else if(Ebene = 6) 
     989  else if (Ebene = 6) 
    1157990    SendUnicodeChar(0x2225) ; parallel 
    1158991return 
     
    1161994  noCaps = 1 
    1162995  EbeneAktualisieren() 
    1163   if Ebene12{ 
    1164     if!(CheckDeadUni("c1",0x2077) 
    1165       or CheckDeadUni("c5",0x2087) 
     996  if Ebene12 { 
     997    if !(CheckDeadUni("c1",0x2077) ; Hochgestellte 7 
     998      or CheckDeadUni("c5",0x2087) ; Tiefgestellte 7 
    1166999      or CheckCompUni("r",0x2176) ; R�misch vii 
    11671000      or CheckCompUni("R",0x2166)) ; R�misch VII 
    11681001      outputChar(7,"$") 
    11691002    checkComp(7) 
    1170   }else if(Ebene = 3) 
     1003  } else if (Ebene = 3) 
    11711004    send {blind}� 
    1172   else if(Ebene = 4) 
     1005  else if (Ebene = 4) 
    11731006    send {blind}� 
    1174   else if(Ebene = 5) 
     1007  else if (Ebene = 5) 
    11751008    SendUnicodeChar(0x03BA) ; greek small letter kappa 
    1176   else if(Ebene = 6) 
     1009  else if (Ebene = 6) 
    11771010    SendUnicodeChar(0x2209) ; nicht Element von 
    11781011return 
     
    11811014  noCaps = 1 
    11821015  EbeneAktualisieren() 
    1183   if Ebene12{ 
    1184     if!(CheckDeadUni("c1",0x2078) 
    1185       or CheckDeadUni("c5",0x2088) 
     1016  if Ebene12 { 
     1017    if !(CheckDeadUni("c1",0x2078) ; Hochgestellte 8 
     1018      or CheckDeadUni("c5",0x2088) ; Tiefgestellte 8 
    11861019      or CheckCompUni("1",0x215B) ; 1/8 
    11871020      or CheckCompUni("3",0x215C) ; 3/8 
     
    11921025      outputChar(8,"�") 
    11931026    checkComp(8) 
    1194   }else if(Ebene = 3) 
     1027  } else if (Ebene = 3) 
    11951028    send {blind}� 
    1196   else if(Ebene = 4) 
     1029  else if (Ebene = 4) 
    11971030    Send {blind}{NumpadDiv} 
    1198   else if(Ebene = 5) 
     1031  else if (Ebene = 5) 
    11991032    SendUnicodeChar(0x27E8) ; bra (�ffnende spitze Klammer) 
    1200   else if(Ebene = 6) 
     1033  else if (Ebene = 6) 
    12011034    SendUnicodeChar(0x2204) ; es existiert nicht 
    12021035return 
     
    12051038  noCaps = 1 
    12061039  EbeneAktualisieren() 
    1207   if Ebene12{ 
    1208     if!(CheckDeadUni("c1",0x2079) 
    1209       or CheckDeadUni("c5",0x2089) 
     1040  if Ebene12 { 
     1041    if !(CheckDeadUni("c1",0x2079) ; Hochgestellte 9 
     1042      or CheckDeadUni("c5",0x2089) ; Tiefgestellte 9 
    12101043      or CheckCompUni("r",0x2178) ; R�misch ix 
    12111044      or CheckCompUni("R",0x2168)) ; R�misch IX 
    12121045      outputChar(9,"�") 
    12131046    checkComp(9) 
    1214   }else if(Ebene = 3) 
     1047  } else if (Ebene = 3) 
    12151048    send {blind}� 
    1216   else if(Ebene = 4) 
     1049  else if (Ebene = 4) 
    12171050    Send {blind}{NumpadMult} 
    1218   else if(Ebene = 5) 
     1051  else if (Ebene = 5) 
    12191052    SendUnicodeChar(0x27E9) ; ket (schlie�ende spitze Klammer) 
    1220   else if(Ebene = 6) 
     1053  else if (Ebene = 6) 
    12211054    SendUnicodeChar(0x2226) ; nicht parallel 
    12221055return 
     
    12251058  noCaps = 1 
    12261059  EbeneAktualisieren() 
    1227   if Ebene12{ 
    1228     if!(CheckDeadUni("c1",0x2070) 
    1229       or CheckDeadUni("c5",0x2080) ; R�misch x 
     1060  if Ebene12 { 
     1061    if !(CheckDeadUni("c1",0x2070) ; Hochgestellte 0 
     1062      or CheckDeadUni("c5",0x2080) ; Tiefgestellte 0  
     1063      or CheckDeadUni("r_1",0x2177) ; R�misch x 
    12301064      or CheckComp3Uni("R_1",0x2169)) ; R�misch X 
    12311065      outputChar(0,"�") 
    12321066      checkComp(0) 
    1233    }else if(Ebene = 3) 
     1067   } else if (Ebene = 3) 
    12341068      send {blind}� 
    1235    else if(Ebene = 4) 
     1069   else if (Ebene = 4) 
    12361070      Send {blind}{NumpadSub} 
    1237    else if(Ebene = 6) 
     1071   else if (Ebene = 6) 
    12381072      SendUnicodeChar(0x2205) ; leere Menge 
    12391073return 
     
    12421076  noCaps = 1 
    12431077  EbeneAktualisieren() 
    1244   if(Ebene = 1) 
     1078  if (Ebene = 1) 
    12451079    outputChar("-","") ; Bindestrich-Minus 
    1246   else if(Ebene = 2) 
     1080  else if (Ebene = 2) 
    12471081    SendUnicodeChar(0x2013) ; Gedankenstrich 
    1248   else if(Ebene = 3) 
     1082  else if (Ebene = 3) 
    12491083    SendUnicodeChar(0x2014) ; Englischer Gedankenstrich (Geviertstrich) 
    1250   else if(Ebene = 5) 
     1084  else if (Ebene = 5) 
    12511085    SendUnicodeChar(0x2011) ; gesch�tzter Bindestrich (Bindestrich ohne Zeilenumbruch) 
    1252   else if(Ebene = 6) 
     1086  else if (Ebene = 6) 
    12531087    SendUnicodeChar(0x00AD) ; weicher Bindestrich 
    12541088return 
     
    12571091  noCaps = 1 
    12581092  EbeneAktualisieren() 
    1259   if(Ebene = 1){ 
     1093  if (Ebene = 1) { 
    12601094    deadAsc("{�}{space}") ; Akut, tot 
    12611095    DeadKey := "a1" 
    1262   }else if(Ebene = 2){ 
     1096  } else if (Ebene = 2) { 
    12631097    deadAsc("``{space}") ; Gravis, tot 
    12641098    DeadKey := "a2" 
    1265   }else if(Ebene = 3){ 
     1099  } else if (Ebene = 3) { 
    12661100    deadAsc("�") ; Cedilla, tot 
    12671101    DeadKey := "a3" 
    1268   }else if(Ebene = 4){ 
     1102  } else if (Ebene = 4) { 
    12691103    deadUni(0x02D9) ; Punkt oben 
    12701104    DeadKey := "a4" 
    1271   }else if(Ebene = 5){ 
     1105  } else if (Ebene = 5) { 
    12721106    deadUni(0x02DB) ; Ogonek 
    12731107    DeadKey := "a5" 
    1274   }else if(Ebene = 6){ 
     1108  } else if (Ebene = 6) { 
    12751109    deadUni(0x02DA) ; Ring oben 
    12761110    DeadKey := "a6" 
    1277   }CompKey := PriorCompKey 
     1111  } CompKey := PriorCompKey 
    12781112return 
    12791113 
     
    12871121neo_x: 
    12881122  EbeneAktualisieren() 
    1289   if(Ebene12) 
     1123  if (Ebene12) 
    12901124    OutputChar("x","X") 
    1291   else if(Ebene = 3) 
     1125  else if (Ebene = 3) 
    12921126    SendUnicodeChar(0x2026) ; Ellipse horizontal 
    1293   else if(Ebene = 4) 
     1127  else if (Ebene = 4) 
    12941128    SendUnicodeChar(0x22EE) ; Ellipse vertikal 
    1295   else if(Ebene = 5) 
     1129  else if (Ebene = 5) 
    12961130    SendUnicodeChar(0x03BE) ; xi 
    1297   else if(Ebene = 6) 
     1131  else if (Ebene = 6) 
    12981132    SendUnicodeChar(0x039E) ; Xi 
    12991133return 
     
    13021136neo_v: 
    13031137  EbeneAktualisieren() 
    1304   if(Ebene12 and !(CheckDeadUni12("c6",0x1E7F,0x1E7E))) 
     1138  if (Ebene12 and !(CheckDeadUni12("c6",0x1E7F,0x1E7E))) 
    13051139    OutputChar("v","V") 
    1306   else if(Ebene = 3) 
     1140  else if (Ebene = 3) 
    13071141    send {blind}_ 
    1308   else if(Ebene = 4) 
    1309     if(not(lernModus) or lernModus_neo_Backspace) 
     1142  else if (Ebene = 4) and (!lernModus or lernModus_neo_Backspace) 
    13101143      Send {blind}{Backspace} 
    1311   else if(Ebene = 6) 
     1144  else if (Ebene = 6) 
    13121145    SendUnicodeChar(0x2259) ; estimates 
    13131146return 
     
    13171150neo_l: 
    13181151  EbeneAktualisieren() 
    1319   if(Ebene12 and !(CheckDeadUni12("a1",0x013A,0x0139) 
     1152  if (Ebene12 and !(CheckDeadUni12("a1",0x013A,0x0139) 
    13201153                 or CheckDeadUni12("a3",0x013C,0x013B) 
    13211154                 or CheckDeadUni12("c2",0x013E,0x013D) 
    13221155                 or CheckDeadUni12("c4",0x0140,0x013F) 
    13231156                 or CheckDeadUni12("c6",0x1E37,0x1E36) 
    1324                  or CheckDeadUni12("t4",0x0142,0x0141))) 
     1157                 or CheckDeadUni12("t4",0x0142,0x0141) 
     1158                 or CheckCompUni("f",0xFB02) 
     1159                 or CheckCompUni("F",0xFB04))) 
    13251160    OutputChar("l","L") 
    1326   else if(Ebene = 3) 
     1161  else if (Ebene = 3) 
    13271162    send {blind}[ 
    1328   else if(Ebene = 4) 
     1163  else if (Ebene = 4) 
    13291164    Send {Blind}{Up} 
    1330   else if(Ebene = 5) 
     1165  else if (Ebene = 5) 
    13311166    SendUnicodeChar(0x03BB) ; lambda 
    1332   else if(Ebene = 6) 
     1167  else if (Ebene = 6) 
    13331168    SendUnicodeChar(0x039B) ; Lambda 
    13341169return 
     
    13371172neo_c: 
    13381173  EbeneAktualisieren() 
    1339   if(Ebene12 and !(CheckDeadUni12("a1",0x0107,0x0106) 
     1174  if (Ebene12 and !(CheckDeadUni12("a1",0x0107,0x0106) 
    13401175                 or CheckDeadUni12("a3",0x00E7,0x00E6) 
    13411176                 or CheckDeadUni12("a4",0x010B,0x010A) 
     
    13441179                 or CheckCompAsc("o","�"))) 
    13451180    OutputChar("c","C") 
    1346   else if(Ebene = 3) 
     1181  else if (Ebene = 3) 
    13471182    send {blind}] 
    1348   else if(Ebene = 4) 
    1349     if(not(lernModus) or lernModus_neo_Entf) 
     1183  else if (Ebene = 4) 
     1184    if (not(lernModus) or lernModus_neo_Entf) 
    13501185      Send {blind}{Del} 
    1351   else if(Ebene = 5) 
     1186  else if (Ebene = 5) 
    13521187    SendUnicodeChar(0x03C7) ; chi 
    1353   else if(Ebene = 6) 
     1188  else if (Ebene = 6) 
    13541189    SendUnicodeChar(0x2102) ; C (Komplexe Zahlen) 
    13551190return 
     
    13571192neo_w: 
    13581193  EbeneAktualisieren() 
    1359   if(Ebene12 and !(CheckDeadUni12("c1",0x0175,0x0174))) 
     1194  if (Ebene12 and !(CheckDeadUni12("c1",0x0175,0x0174))) 
    13601195    OutputChar("w","W") 
    1361   else if(Ebene = 3) 
     1196  else if (Ebene = 3) 
    13621197    SendUnicodeChar(0x005E) ; Zirkumflex 
    1363   else if(Ebene = 4) 
     1198  else if (Ebene = 4) 
    13641199    Send {blind}{Insert} ; Einfg 
    1365   else if(Ebene = 5) 
     1200  else if (Ebene = 5) 
    13661201    SendUnicodeChar(0x03C9) ; omega 
    1367   else if(Ebene = 6) 
     1202  else if (Ebene = 6) 
    13681203    SendUnicodeChar(0x03A9) ; Omega 
    13691204return 
     
    13711206neo_k: 
    13721207  EbeneAktualisieren() 
    1373   if(Ebene12 and !(CheckDeadUni12("a3",0x0137,0x0136) 
     1208  if (Ebene12 and !(CheckDeadUni12("a3",0x0137,0x0136) 
    13741209                 or CheckDeadUni12("c6",0x1E33,0x1E32))) 
    13751210    OutputChar("k","K") 
    1376   else if(Ebene = 3) 
     1211  else if (Ebene = 3) 
    13771212    send {blind}{!} 
    1378   else if(Ebene = 4) 
     1213  else if (Ebene = 4) 
    13791214    Send � 
    1380   else if(Ebene = 5) 
     1215  else if (Ebene = 5) 
    13811216    SendUnicodeChar(0x03F0) ; kappa symbol (varkappa) 
    1382   else if(Ebene = 6) 
     1217  else if (Ebene = 6) 
    13831218    SendUnicodeChar(0x221A) ; Wurzel 
    13841219return 
     
    13861221neo_h: 
    13871222  EbeneAktualisieren() 
    1388   if(Ebene12 and !(CheckDeadUni12("a4",0x1E23,0x1E22) 
     1223  if (Ebene12 and !(CheckDeadUni12("a4",0x1E23,0x1E22) 
    13891224                 or CheckDeadUni12("c1",0x0125,0x0124) 
    13901225                 or CheckDeadUni12("c5",0x0127,0x0126) 
    13911226                 or CheckDeadUni12("c6",0x1E25,0x1E24))) 
    13921227    OutputChar("h","H") 
    1393   else if((Ebene = 3) and !(CheckDeadUni("c5",0x2264))) ; kleiner gleich 
     1228  else if ((Ebene = 3) and !(CheckDeadUni("c5",0x2264))) ; kleiner gleich 
    13941229    send {blind}< 
    1395   else if((Ebene = 4) and !(CheckDeadUni("c1",0x2077) 
    1396                   or CheckDeadUni("c5",0x2087))) 
     1230  else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2077) 
     1231                          or CheckDeadUni("c5",0x2087))) 
    13971232    Send {blind}{NumPad7} 
    1398   else if(Ebene = 5) 
     1233  else if (Ebene = 5) 
    13991234    SendUnicodeChar(0x03C8) ; psi 
    1400   else if(Ebene = 6) 
     1235  else if (Ebene = 6) 
    14011236    SendUnicodeChar(0x03A8) ; Psi 
    14021237return 
     
    14041239neo_g: 
    14051240  EbeneAktualisieren() 
    1406   if(Ebene12 and !(CheckDeadUni12("a3",0x0123,0x0122) 
     1241  if (Ebene12 and !(CheckDeadUni12("a3",0x0123,0x0122) 
    14071242                 or CheckDeadUni12("a4",0x0121,0x0120) 
    14081243                 or CheckDeadUni12("c1",0x011D,0x011C) 
    14091244                 or CheckDeadUni12("c3",0x011F,0x011E))) 
    14101245    OutputChar("g","G") 
    1411   else if((Ebene = 3) and !(CheckDeadUni("c5",0x2265))) ; gr��er gleich 
     1246  else if ((Ebene = 3) and !(CheckDeadUni("c5",0x2265))) ; gr��er gleich 
    14121247    send {blind}> 
    1413   else if((Ebene = 4) and !(CheckDeadUni("c1",0x2078) 
    1414                          or CheckDeadUni("c5",0x2088))) 
     1248  else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2078) 
     1249                          or CheckDeadUni("c5",0x2088))) 
    14151250    Send {blind}{NumPad8} 
    1416   else if(Ebene = 5) 
     1251  else if (Ebene = 5) 
    14171252    SendUnicodeChar(0x03B3) ; gamma 
    1418   else if(Ebene = 6) 
     1253  else if (Ebene = 6) 
    14191254    SendUnicodeChar(0x0393) ; Gamma 
    14201255return 
     
    14221257neo_f: 
    14231258  EbeneAktualisieren() 
    1424   if(Ebene12 and !(CheckDeadUni12("a4",0x1E1F,0x1E1E) 
    1425             or CheckDeadUni12("t4",0x0192,0x0191))) 
     1259  if (Ebene12 and !(CheckDeadUni12("a4",0x1E1F,0x1E1E) 
     1260                 or CheckDeadUni12("t4",0x0192,0x0191) 
     1261                 or CheckCompUni("f",0xFB00))) 
    14261262    OutputChar("f","F") 
    1427   else if((Ebene = 3) and !(CheckDeadUni("a6",0x2257) ; ring equal to 
    1428                          or CheckDeadUni("c1",0x2259) ; entspricht 
    1429                          or CheckDeadUni("c2",0x225A) ; EQUIANGULAR TO 
    1430                          or CheckDeadUni("c5",0x2261) ; identisch 
    1431                          or CheckDeadUni("t1",0x2245) ; ungef�hr gleich 
    1432                          or CheckDeadUni("t4",0x2260))) ; ungleich 
     1263  else if ((Ebene = 3) and !(CheckDeadUni("a6",0x2257) ; ring equal to 
     1264                          or CheckDeadUni("c1",0x2259) ; entspricht 
     1265                          or CheckDeadUni("c2",0x225A) ; EQUIANGULAR TO 
     1266                          or CheckDeadUni("c5",0x2261) ; identisch 
     1267                          or CheckDeadUni("t1",0x2245) ; ungef�hr gleich 
     1268                          or CheckDeadUni("t4",0x2260))) ; ungleich 
    14331269    send {blind}`= 
    1434   else if((Ebene = 4) and !(CheckDeadUni("c1",0x2079) 
     1270  else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2079) 
    14351271                          or CheckDeadUni("c5",0x2089))) 
    14361272    send {blind}{NumPad9} 
    1437   else if(Ebene = 5) 
     1273  else if (Ebene = 5) 
    14381274    SendUnicodeChar(0x03C6) ; phi 
    1439   else if(Ebene = 6) 
     1275  else if (Ebene = 6) 
    14401276    SendUnicodeChar(0x03A6) ; Phi 
    14411277return 
    14421278 
    14431279neo_q: 
    1444    EbeneAktualisieren() 
    1445    if(Ebene12) 
    1446       OutputChar("q","Q") 
    1447    else if(Ebene = 3) 
    1448       send {blind}{&} 
    1449    else if((Ebene = 4) and !(CheckDeadUni("c1",0x207A) 
    1450                            or CheckDeadUni("c5",0x208A))) 
    1451       Send {blind}{NumPadAdd} 
    1452    else if(Ebene = 5) 
    1453       SendUnicodeChar(0x03D5) ; phi symbol (varphi) 
    1454    else if(Ebene = 6) 
    1455       SendUnicodeChar(0x211A) ; Q (rationale Zahlen) 
     1280  EbeneAktualisieren() 
     1281  if (Ebene12) 
     1282     OutputChar("q","Q") 
     1283  else if (Ebene = 3) 
     1284     send {blind}{&} 
     1285  else if ((Ebene = 4) and !(CheckDeadUni("c1",0x207A) 
     1286                          or CheckDeadUni("c5",0x208A))) 
     1287    Send {blind}{NumPadAdd} 
     1288  else if (Ebene = 5) 
     1289     SendUnicodeChar(0x03D5) ; phi symbol (varphi) 
     1290  else if (Ebene = 6) 
     1291     SendUnicodeChar(0x211A) ; Q (rationale Zahlen) 
    14561292return 
    14571293 
    14581294neo_sz: 
    14591295  EbeneAktualisieren() 
    1460   if(Ebene = 1) 
    1461     if(GetKeyState("CapsLock","T")) 
    1462       SendUnicodeChar(0x1E9E) ; versal-� 
    1463     else if LangSTastatur 
    1464       send {blind}s 
    1465     else 
    1466       send � 
    1467   else if(Ebene = 2) 
    1468     if(GetKeyState("CapsLock","T")) 
    1469       if LangSTastatur 
    1470         send {blind}s 
    1471       else 
    1472         send � 
    1473     else 
    1474       SendUnicodeChar(0x1E9E) ; versal-� 
    1475   else if(Ebene = 3) 
     1296  if (Ebene = 1) 
     1297    if LangSTastatur 
     1298      outputChar("s","") 
     1299    else send � 
     1300  else if (Ebene = 2) 
     1301    SendUnicodeChar(0x1E9E) ; versal-� 
     1302  else if (Ebene = 3) 
    14761303    if LangSTastatur 
    14771304      send � 
    1478     else 
     1305    else { 
    14791306      SendUnicodeChar(0x017F) ; langes s 
    1480   else if(Ebene = 5) 
     1307      CheckComp("lang_s") 
     1308  } else if (Ebene = 5) 
    14811309    SendUnicodeChar(0x03C2) ; varsigma 
    1482   else if(Ebene = 6) 
     1310  else if (Ebene = 6) 
    14831311    SendUnicodeChar(0x2218) ; Verkn�pfungsoperator 
    14841312return 
     
    14881316  noCaps = 1 
    14891317  EbeneAktualisieren() 
    1490   if(Ebene = 1) 
    1491   { 
     1318  if (Ebene = 1) { 
    14921319    deadUni(0x02DC) ; Tilde, tot 
    14931320    DeadKey := "t1" 
    1494   } 
    1495   else if(Ebene = 2) 
    1496   { 
     1321  } else if (Ebene = 2) { 
    14971322    deadUni(0x00AF) ; Macron, tot 
    14981323    DeadKey := "t2" 
    1499   } 
    1500   else if(Ebene = 3) 
    1501   { 
     1324  } else if (Ebene = 3) { 
    15021325    deadUni(0x00A8) ; Di�rese 
    15031326    DeadKey := "t3" 
    1504   } 
    1505   else if(Ebene = 4) 
    1506   { 
     1327  } else if Ebene7 
     1328    SendUnicodeChar(0x0308) ; Verbindungszeichen Di�rese 
     1329  else if (Ebene = 4) { 
    15071330    deadUni(0x002F) ; Schr�gstrich, tot 
    15081331    DeadKey := "t4" 
    1509   } 
    1510   else if(Ebene = 5) 
    1511   { 
     1332  } else if (Ebene = 5) { 
    15121333    deadUni(0x02DD) ; Doppelakut 
    15131334    DeadKey := "t5" 
    1514   } 
    1515   else if(Ebene = 6) 
    1516   { 
     1335  } else if (Ebene = 6) { 
    15171336    deadUni(0x02CF) ; Komma drunter, tot 
    15181337    DeadKey := "t6" 
     
    15301349neo_u: 
    15311350  EbeneAktualisieren() 
    1532   if(Ebene12 and !(CheckDeadUni12("a1",0x00FA,0x00DA) 
     1351  if (Ebene12 and !(CheckDeadUni12("a1",0x00FA,0x00DA) 
    15331352                 or CheckDeadUni12("a2",0x00F9,0x00D9) 
    15341353                 or CheckDeadUni12("a5",0x0173,0x0172) 
     
    15421361                 or CheckDeadUni12("t5",0x0171,0x0170))) 
    15431362    OutputChar("u","U") 
    1544   else if(Ebene = 3) 
     1363  else if (Ebene = 3) 
    15451364    send {blind}\ 
    1546   else if(Ebene = 4) 
     1365  else if (Ebene = 4) 
    15471366    Send {blind}{Home} 
    1548   else if(Ebene = 5) ; leer 
    1549   { 
     1367  else if (Ebene = 5) { ; leer 
    15501368     CompKey := PriorCompKey 
    15511369     DeadKey := PriorDeadKey 
    1552   } 
    1553   else if(Ebene = 6) 
     1370  } else if (Ebene = 6) 
    15541371    SendUnicodeChar(0x222E) ; contour integral 
    15551372return 
     
    15571374neo_i: 
    15581375  EbeneAktualisieren() 
    1559   if(Ebene12 and !(CheckDeadUni12("a1",0x00ED,0x00CD) 
     1376  if (Ebene12 and !(CheckDeadUni12("a1",0x00ED,0x00CD) 
    15601377                 or CheckDeadUni12("a2",0x00EC,0x00CC) 
    15611378                 or CheckDeadUni12("a4",0x012F,0x012E) 
     
    15661383                 or CheckDeadUni12("t1",0x0129,0x0128) 
    15671384                 or CheckDeadUni12("t2",0x012B,0x012A) 
    1568                  or CheckDeadAsc12("t3","�","�"))) 
     1385                 or CheckDeadAsc12("t3","�","�") 
     1386                 or CheckCompUni("f",0xFB01) 
     1387                 or CheckCompUni("F",0xFB03))) 
    15691388    OutputChar("i","I") 
    1570   else if(Ebene = 3) 
     1389  else if (Ebene = 3) 
    15711390    send {blind}`/ 
    1572   else if(Ebene = 4) 
     1391  else if (Ebene = 4) 
    15731392    Send {Blind}{Left} 
    1574   else if(Ebene = 5) 
     1393  else if (Ebene = 5) 
    15751394    SendUnicodeChar(0x03B9) ; iota 
    1576   else if(Ebene = 6) 
     1395  else if (Ebene = 6) 
    15771396    SendUnicodeChar(0x222B) ; integral 
    15781397return 
     
    15801399neo_a: 
    15811400  EbeneAktualisieren() 
    1582   if(Ebene12 and !(CheckDeadUni12("a1",0x00E1,0x00C1) 
     1401  if (Ebene12 and !(CheckDeadUni12("a1",0x00E1,0x00C1) 
    15831402                or CheckDeadUni12("a2",0x00E0,0x00C0) 
    15841403                or CheckDeadUni12("a5",0x0105,0x0104) 
     
    15911410                or CheckDeadAsc12("t3","�","�"))) 
    15921411    OutputChar("a","A") 
    1593   else if(Ebene = 3) 
     1412  else if (Ebene = 3) 
    15941413    send {blind}{{} 
    1595   else if(Ebene = 4) 
     1414  else if (Ebene = 4) 
    15961415    Send {Blind}{Down} 
    1597   else if(Ebene = 5) 
     1416  else if (Ebene = 5) 
    15981417    SendUnicodeChar(0x03B1) ; alpha 
    1599   else if(Ebene = 6) 
     1418  else if (Ebene = 6) 
    16001419    SendUnicodeChar(0x2200) ; f�r alle 
    16011420return 
     
    16031422neo_e: 
    16041423  EbeneAktualisieren() 
    1605   if(Ebene12 and !(CheckDeadUni12("a1",0x00E9,0x00C9) 
     1424  if (Ebene12 and !(CheckDeadUni12("a1",0x00E9,0x00C9) 
    16061425                 or CheckDeadUni12("a2",0x00E8,0x00C8) 
    16071426                 or CheckDeadUni12("a4",0x0117,0x0116) 
     
    16101429                 or CheckDeadUni12("c2",0x011B,0x011A) 
    16111430                 or CheckDeadUni12("c3",0x0115,0x0114) 
     1431                 or CheckDeadUni12("t1",0x1EBD,0x1EBC) 
    16121432                 or CheckDeadUni12("t2",0x0113,0x0112) 
    16131433                 or CheckDeadAsc12("t3","�","�") 
     
    16171437                 or CheckCompAsc12("O","�","�"))) 
    16181438    OutputChar("e","E") 
    1619   else if(Ebene = 3) 
     1439  else if (Ebene = 3) 
    16201440    send {blind}{}} 
    1621   else if(Ebene = 4) 
     1441  else if (Ebene = 4) 
    16221442    Send {Blind}{Right} 
    1623   else if(Ebene = 5) 
     1443  else if (Ebene = 5) 
    16241444      SendUnicodeChar(0x03B5) ; epsilon 
    1625   else if(Ebene = 6) 
     1445  else if (Ebene = 6) 
    16261446      SendUnicodeChar(0x2203) ; es existiert 
    16271447return 
     
    16291449neo_o: 
    16301450  EbeneAktualisieren() 
    1631   if(Ebene12 and !(CheckDeadUni12("a1",0x00F3,0x00D3) 
     1451  if (Ebene12 and !(CheckDeadUni12("a1",0x00F3,0x00D3) 
    16321452                 or CheckDeadUni12("a2",0x00F2,0x00D2) 
    16331453                 or CheckDeadUni12("a5",0x01EB,0x01EA) 
     
    16411461                 or CheckDeadUni12("t5",0x0151,0x0150))) 
    16421462    OutputChar("o","O") 
    1643   else if(Ebene = 3) 
     1463  else if (Ebene = 3) 
    16441464    send {blind}* 
    1645   else if(Ebene = 4) 
     1465  else if (Ebene = 4) 
    16461466    Send {blind}{End} 
    1647   else if(Ebene = 5) 
     1467  else if (Ebene = 5) 
    16481468    SendUnicodeChar(0x03BF) ; omicron 
    1649   else if(Ebene = 6) 
     1469  else if (Ebene = 6) 
    16501470    SendUnicodeChar(0x2208) ; element of 
    16511471return 
     
    16531473neo_s: 
    16541474  EbeneAktualisieren() 
    1655   if(Ebene12 and !(CheckDeadUni12("a1",0x015B,0x015A) 
    1656                    or CheckDeadUni12("a3",0x015F,0x015E) 
    1657                    or CheckDeadUni12("a4",0x1E61,0x1E60) 
    1658                    or CheckDeadUni12("c1",0x015D,0x015C) 
    1659                    or CheckDeadUni12("c2",0x0161,0x0160) 
    1660                    or CheckDeadUni12("c6",0x1E63,0x1A62))) 
    1661    { 
    1662       if(Ebene = 1) 
    1663       { 
    1664         if LangSTastatur 
    1665           if(GetKeyState("CapsLock","T")) 
    1666           { 
    1667             send {blind}s 
    1668             if(PriorDeadKey = "comp") 
    1669               Compkey := "s" 
    1670           } 
    1671           else 
    1672           { 
    1673             SendUnicodeChar(0x017F) ;langes S 
    1674             if(PriorDeadKey = "comp") 
    1675               CompKey := "lang_s" 
    1676           } 
    1677         else 
    1678         { 
    1679           send {blind}s 
    1680           if(PriorDeadKey = "comp") 
    1681             CompKey := "s" 
    1682         } 
    1683       } 
    1684       else if(Ebene = 2) 
    1685       { 
    1686         if LangSTastatur 
    1687           if(GetKeyState("CapsLock","T")) 
    1688           { 
    1689             SendUnicodeChar(0x017F) ;langes S 
    1690             if(PriorDeadKey = "comp") 
    1691               CompKey := "lang_s" 
    1692           } 
    1693           else 
    1694           { 
    1695             send {blind}S 
    1696             if(PriorDeadKey = "comp") 
    1697               CompKey := "s" 
    1698           } 
    1699         else 
    1700         { 
    1701           send {blind}S 
    1702           if(PriorDeadKey = "comp") 
    1703             CompKey := "S" 
    1704         } 
    1705       } 
    1706   } 
    1707   else if(Ebene = 3) 
     1475  if (Ebene12 and !(CheckDeadUni12("a1",0x015B,0x015A) 
     1476                 or CheckDeadUni12("a3",0x015F,0x015E) 
     1477                 or CheckDeadUni12("a4",0x1E61,0x1E60) 
     1478                 or CheckDeadUni12("c1",0x015D,0x015C) 
     1479                 or CheckDeadUni12("c2",0x0161,0x0160) 
     1480                 or CheckDeadUni12("c6",0x1E63,0x1A62))) 
     1481    { 
     1482      if LangSTastatur and (Ebene = 1) { 
     1483        SendUnicodeChar(0x017F) ;langes S 
     1484        CheckComp("lang_s") 
     1485      } else outputChar("s","S") 
     1486    } else if (Ebene = 3) 
    17081487    send {blind}? 
    1709   else if(Ebene = 4) 
     1488  else if (Ebene = 4) 
    17101489    Send � 
    1711   else if(Ebene = 5) 
     1490  else if (Ebene = 5) 
    17121491    SendUnicodeChar(0x03C3) ;sigma 
    1713   else if(Ebene = 6) 
     1492  else if (Ebene = 6) 
    17141493    SendUnicodeChar(0x03A3) ;Sigma 
    17151494return 
     
    17171496neo_n: 
    17181497  EbeneAktualisieren() 
    1719   if(Ebene12 and !(CheckDeadUni12("a1",0x0144,0x0143) 
     1498  if (Ebene12 and !(CheckDeadUni12("a1",0x0144,0x0143) 
    17201499                 or CheckDeadUni12("a3",0x0146,0x0145) 
    17211500                 or CheckDeadUni12("a4",0x1E45,0x1E44) 
     
    17231502                 or CheckDeadUni12("t1",0x00F1,0x00D1))) 
    17241503    OutputChar("n","N") 
    1725   else if(Ebene = 3) 
     1504  else if (Ebene = 3) 
    17261505    send {blind}( 
    1727   else if((Ebene = 4) and !(CheckDeadUni("c1",0x2074) 
     1506  else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2074) 
    17281507                          or CheckDeadUni("c5",0x2084))) 
    17291508    Send {blind}{NumPad4} 
    1730   else if(Ebene = 5) 
     1509  else if (Ebene = 5) 
    17311510    SendUnicodeChar(0x03BD) ; nu 
    1732   else if(Ebene = 6) 
     1511  else if (Ebene = 6) 
    17331512    SendUnicodeChar(0x2115) ; N (nat�rliche Zahlen) 
    17341513return 
     
    17361515neo_r: 
    17371516  EbeneAktualisieren() 
    1738   if(Ebene12 and !(CheckDeadUni12("a1",0x0155,0x0154) 
     1517  if (Ebene12 and !(CheckDeadUni12("a1",0x0155,0x0154) 
    17391518                 or CheckDeadUni12("a3",0x0157,0x0156) 
    17401519                 or CheckDeadUni12("a4",0x0E59,0x0E58) 
     
    17441523                 or CheckCompAsc12("O","�","�"))) 
    17451524    OutputChar("r","R") 
    1746   else if(Ebene = 3) 
     1525  else if (Ebene = 3) 
    17471526    send {blind}) 
    1748   else if((Ebene = 4) and !(CheckDeadUni("c1",0x2075) 
     1527  else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2075) 
    17491528                          or CheckDeadUni("c5",0x2085))) 
    17501529    Send {blind}{NumPad5} 
    1751   else if(Ebene = 5) 
     1530  else if (Ebene = 5) 
    17521531    SendUnicodeChar(0x03F1) ; rho symbol (varrho) 
    1753   else if(Ebene = 6) 
     1532  else if (Ebene = 6) 
    17541533    SendUnicodeChar(0x211D) ; R (reelle Zahlen) 
    17551534return 
     
    17571536neo_t: 
    17581537  EbeneAktualisieren() 
    1759   if(Ebene12 and !(CheckDeadUni12("a3",0x0163,0x0162) 
     1538  if (Ebene12 and !(CheckDeadUni12("a3",0x0163,0x0162) 
    17601539                 or CheckDeadUni12("a4",0x1E6B,0x1E6A) 
    17611540                 or CheckDeadUni12("c2",0x0165,0x0164) 
    17621541                 or CheckDeadUni12("c5",0x0167,0x0166) 
    1763                  or CheckDeadUni12("c6",0x1E6D,0x1E6C))) 
     1542                 or CheckDeadUni12("c6",0x1E6D,0x1E6C) 
     1543                 or CheckCompUni("lang_s",0xFB05) 
     1544                 or CheckCompUni("s",0xFB06))) 
    17641545    OutputChar("t","T") 
    1765   else if(Ebene = 3) 
     1546  else if (Ebene = 3) 
    17661547    send {blind}- ; Bisstrich 
    1767   else if((Ebene = 4) and !(CheckDeadUni("c1",0x2076) 
     1548  else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2076) 
    17681549                  or CheckDeadUni("c5",0x2086))) 
    17691550    Send {blind}{NumPad6} 
    1770   else if(Ebene = 5) 
     1551  else if (Ebene = 5) 
    17711552    SendUnicodeChar(0x03C4) ; tau 
    1772   else if(Ebene = 6) 
     1553  else if (Ebene = 6) 
    17731554    SendUnicodeChar(0x2202) ; partielle Ableitung 
    17741555return 
     
    17761557neo_d: 
    17771558   EbeneAktualisieren() 
    1778    if(Ebene12 and !(CheckDeadUni12("a4",0x1E0B,0x1E0A) 
     1559   if (Ebene12 and !(CheckDeadUni12("a4",0x1E0B,0x1E0A) 
    17791560                  or CheckDeadUni12("c2",0x010F,0x010E) 
    17801561                  or CheckDeadUni12("c5",0x0111,0x0110) 
     
    17821563                  or CheckDeadUni12("t4",0x00F0,0x00D0))) 
    17831564      OutputChar("d","D") 
    1784    else if(Ebene = 3) 
     1565   else if (Ebene = 3) 
    17851566      send {blind}: 
    1786    else if(Ebene = 4) 
     1567   else if (Ebene = 4) 
    17871568                send `, 
    1788    else if(Ebene = 5) 
     1569   else if (Ebene = 5) 
    17891570      SendUnicodeChar(0x03B4) ; delta 
    1790    else if(Ebene = 6) 
     1571   else if (Ebene = 6) 
    17911572      SendUnicodeChar(0x0394) ; Delta 
    17921573return 
     
    17941575neo_y: 
    17951576  EbeneAktualisieren() 
    1796   if(Ebene12 and !(CheckDeadUni12("a1",0x00FD,0x00DD) 
     1577  if (Ebene12 and !(CheckDeadUni12("a1",0x00FD,0x00DD) 
    17971578                 or CheckDeadUni12("c1",0x0177,0x0176) 
    17981579                 or CheckDeadAsc12("t3","�","�"))) 
    17991580    OutputChar("y","Y") 
    1800   else if(Ebene = 3) 
     1581  else if (Ebene = 3) 
    18011582    send {blind}@ 
    1802   else if(Ebene = 4) 
     1583  else if (Ebene = 4) 
    18031584    Send {blind}. 
    1804   else if(Ebene = 5) 
     1585  else if (Ebene = 5) 
    18051586    SendUnicodeChar(0x03C5) ; upsilon 
    1806   else if(Ebene = 6) 
     1587  else if (Ebene = 6) 
    18071588    SendUnicodeChar(0x2207) ; nabla 
    18081589return 
     
    18161597neo_�: 
    18171598  EbeneAktualisieren() 
    1818   if(Ebene12 and !(CheckDeadUni12("a1",0x01D8,0x01D7) 
     1599  if (Ebene12 and !(CheckDeadUni12("a1",0x01D8,0x01D7) 
    18191600                 or CheckDeadUni12("a2",0x01DC,0x01DB) 
    18201601                 or CheckDeadUni12("c2",0x01DA,0x01D9) 
    18211602                 or CheckDeadUni12("t2",0x01D6,0x01D5))) 
    18221603    OutputChar("�","�") 
    1823   else if(Ebene = 3) 
     1604  else if (Ebene = 3) 
    18241605    send {#} 
    1825   else if(Ebene = 4) 
     1606  else if (Ebene = 4) 
    18261607    Send {blind}{Esc} 
    1827   else if(Ebene = 5) ; leer 
    1828   { 
     1608  else if (Ebene = 5) { ; leer 
    18291609    DeadKey := PriorDeadKey 
    18301610    CompKey := PriorCompKey 
    1831   } 
    1832   else if(Ebene = 6) 
     1611  } else if (Ebene = 6) 
    18331612    SendUnicodeChar(0x221D) ; proportional 
    18341613return 
     
    18361615neo_�: 
    18371616  EbeneAktualisieren() 
    1838   if(Ebene12 and !(CheckDeadUni12("t2",0x022B,0x022A))) 
     1617  if (Ebene12 and !(CheckDeadUni12("t2",0x022B,0x022A))) 
    18391618    OutputChar("�","�") 
    1840   else if(Ebene = 3) 
     1619  else if (Ebene = 3) 
    18411620    send {blind}$ 
    1842   else if(Ebene = 4) 
     1621  else if (Ebene = 4) 
    18431622    send {blind}{Tab} 
    1844   else if(Ebene = 5) 
    1845   { 
     1623  else if (Ebene = 5) { ; leer 
    18461624    DeadKey := PriorDeadKey 
    18471625    CompKey := PriorCompKey 
    1848   } ; leer 
    1849   else if(Ebene = 6) 
     1626  } else if (Ebene = 6) 
    18501627    SendUnicodeChar(0x2111) ; Fraktur I 
    18511628return 
     
    18531630neo_�: 
    18541631  EbeneAktualisieren() 
    1855   if(Ebene12 and !(CheckDeadUni12("t2",0x01DF,0x01DE))) 
     1632  if (Ebene12 and !(CheckDeadUni12("t2",0x01DF,0x01DE))) 
    18561633    OutputChar("�","�") 
    1857   else if(Ebene = 3) 
     1634  else if (Ebene = 3) 
    18581635    send {blind}| 
    1859   else if(Ebene = 4) 
     1636  else if (Ebene = 4) 
    18601637    Send {blind}{PgDn} ; Next 
    1861   else if(Ebene = 5) 
     1638  else if (Ebene = 5) 
    18621639    SendUnicodeChar(0x03B7) ; eta 
    1863   else if(Ebene = 6) 
     1640  else if (Ebene = 6) 
    18641641    SendUnicodeChar(0x211C) ; Fraktur R 
    18651642return 
     
    18671644neo_p: 
    18681645  EbeneAktualisieren() 
    1869   if(Ebene12 and !(CheckDeadUni12("a4",0x1E57,0x1E56))) 
     1646  if (Ebene12 and !(CheckDeadUni12("a4",0x1E57,0x1E56))) 
    18701647    OutputChar("p","P") 
    1871   else if((Ebene = 3) and !(CheckDeadUni("t1",0x2248))) 
     1648  else if ((Ebene = 3) and !(CheckDeadUni("t1",0x2248))) 
    18721649    send {blind}~ 
    1873   else if(Ebene = 4) 
     1650  else if (Ebene = 4) 
    18741651      Send {blind}{Enter} 
    1875   else if(Ebene = 5) 
     1652  else if (Ebene = 5) 
    18761653    SendUnicodeChar(0x03C0) ; pi 
    1877   else if(Ebene = 6) 
     1654  else if (Ebene = 6) 
    18781655    SendUnicodeChar(0x03A0) ; Pi 
    18791656return 
     
    18811658neo_z: 
    18821659  EbeneAktualisieren() 
    1883   if(Ebene12 and !(CheckDeadUni12("a1",0x017A,0x0179) 
     1660  if (Ebene12 and !(CheckDeadUni12("a1",0x017A,0x0179) 
    18841661                 or CheckDeadUni12("a4",0x017C,0x017B) 
    18851662                 or CheckDeadUni12("c2",0x017E,0x017D) 
    18861663                 or CheckDeadUni12("c6",0x1E93,0x1E92))) 
    18871664    OutputChar("z","Z") 
    1888   else if(Ebene = 3) 
     1665  else if (Ebene = 3) 
    18891666    send ``{space} ; untot 
    1890   else if(Ebene = 4) 
    1891   { 
     1667  else if (Ebene = 4) { ; leer 
    18921668    DeadKey := PriorDeadKey 
    18931669    CompKey := PriorCompKey 
    1894   } ; leer 
    1895   else if(Ebene = 5) 
     1670  } else if (Ebene = 5) 
    18961671    SendUnicodeChar(0x03B6) ; zeta 
    1897   else if(Ebene = 6) 
     1672  else if (Ebene = 6) 
    18981673    SendUnicodeChar(0x2124) ; Z (ganze Zahlen) 
    18991674return 
     
    19011676neo_b: 
    19021677  EbeneAktualisieren() 
    1903   if(Ebene12 and !(CheckDeadUni12("a4",0x1E03,0x1E02))) 
     1678  if (Ebene12 and !(CheckDeadUni12("a4",0x1E03,0x1E02))) 
    19041679    OutputChar("b","B") 
    1905   else if(Ebene = 3) 
     1680  else if (Ebene = 3) 
    19061681    send {blind}{+} 
    1907   else if(Ebene = 4) 
     1682  else if (Ebene = 4) 
    19081683    send {blind}: 
    1909   else if(Ebene = 5) 
     1684  else if (Ebene = 5) 
    19101685    SendUnicodeChar(0x03B2) ; beta 
    1911   else if(Ebene = 6) 
     1686  else if (Ebene = 6) 
    19121687    SendUnicodeChar(0x21D2) ; Doppel-Pfeil rechts 
    19131688return 
     
    19151690neo_m: 
    19161691  EbeneAktualisieren() 
    1917   if(Ebene12 and !(CheckDeadUni12("a4",0x1E41,0x1E40) 
     1692  if (Ebene12 and !(CheckDeadUni12("a4",0x1E41,0x1E40) 
    19181693                      or CheckDeadUni12("c6",0x1E43,0x1E42) 
    19191694                      or CheckCompUni12("t",0x2122,0x2122) ; TM 
    19201695                      or CheckCompUni12("s",0x2120,0x2120))) ; SM 
    19211696    OutputChar("m","M") 
    1922   else if(Ebene = 3) 
     1697  else if (Ebene = 3) 
    19231698    send {blind}`% 
    1924   else if((Ebene = 4) and !(CheckDeadUni("c1",0x00B9) 
     1699  else if ((Ebene = 4) and !(CheckDeadUni("c1",0x00B9) 
    19251700                          or CheckDeadUni("c5",0x2081))) 
    19261701    Send {blind}{NumPad1} 
    1927   else if(Ebene = 5) 
     1702  else if (Ebene = 5) 
    19281703    SendUnicodeChar(0x03BC) ; griechisch mu, micro w�re 0x00B5 
    1929   else if(Ebene = 6) 
     1704  else if (Ebene = 6) 
    19301705    SendUnicodeChar(0x21D4) ; doppelter Doppelpfeil (genau dann wenn) 
    19311706return 
     
    19341709  noCaps = 1 
    19351710  EbeneAktualisieren() 
    1936   if(Ebene = 1) 
    1937     if(GetKeyState("CapsLock","T")) 
    1938       send {blind}{Shift down},{Shift up} 
     1711  if (Ebene = 1) 
     1712    if isMod2Locked 
     1713      send {blind}{Shift down} , {Shift up} 
    19391714    else 
    19401715      send {blind}, 
    1941   else if(Ebene = 2) 
     1716  else if (Ebene = 2) 
    19421717     SendUnicodeChar(0x22EE) ; vertikale ellipse 
    1943   else if(Ebene = 3) 
     1718  else if (Ebene = 3) 
    19441719    send {blind}" 
    1945   else if((Ebene = 4) and !(CheckDeadUni("c1",0x00B2) 
     1720  else if ((Ebene = 4) and !(CheckDeadUni("c1",0x00B2) 
    19461721                          or CheckDeadUni("c5",0x2082))) 
    19471722    Send {blind}{NumPad2} 
    1948   else if(Ebene = 5) 
     1723  else if (Ebene = 5) 
    19491724    SendUnicodeChar(0x03C1) ; rho 
    1950   else if(Ebene = 6) 
     1725  else if (Ebene = 6) 
    19511726    SendUnicodeChar(0x21D0) ; Doppelpfeil links 
    19521727return 
     
    19551730  noCaps = 1 
    19561731  EbeneAktualisieren() 
    1957   if(Ebene = 1) 
    1958     if(GetKeyState("CapsLock","T")) 
    1959       send {blind}{Shift down}.{Shift up} 
     1732  if (Ebene = 1) 
     1733    if isMod2Locked 
     1734      send {blind}{Shift down} . {Shift up} 
    19601735    else 
    19611736      send {blind}. 
    1962   else if(Ebene = 2) 
     1737  else if (Ebene = 2) 
    19631738    SendUnicodeChar(0x2026) ; ellipse 
    1964   else if(Ebene = 3) 
     1739  else if (Ebene = 3) 
    19651740    send {blind}' 
    1966   else if((Ebene = 4) and !(CheckDeadUni("c1",0x00B3) 
     1741  else if ((Ebene = 4) and !(CheckDeadUni("c1",0x00B3) 
    19671742                          or CheckDeadUni("c5",0x2083))) 
    19681743    Send {blind}{NumPad3} 
    1969   else if(Ebene = 5) 
     1744  else if (Ebene = 5) 
    19701745    SendUnicodeChar(0x03D1) ; theta symbol (vartheta) 
    1971   else if(Ebene = 6) 
     1746  else if (Ebene = 6) 
    19721747    SendUnicodeChar(0x0398) ; Theta 
    19731748return 
     
    19761751neo_j: 
    19771752  EbeneAktualisieren() 
    1978   if(Ebene12 and !(CheckDeadUni12("c1",0x0135,0x0134) 
     1753  if (Ebene12 and !(CheckDeadUni12("c1",0x0135,0x0134) 
    19791754            or CheckDeadUni12("c2",0x01F0,"") 
    19801755            or CheckCompUni("i",0x0133) ; ij 
     
    19851760            or CheckCompUni12("N",0x01CB,0x01CA))) ; Nj/NJ 
    19861761    OutputChar("j","J") 
    1987   else if(Ebene = 3) 
     1762  else if (Ebene = 3) 
    19881763    send {blind}`; 
    1989   else if(Ebene = 4) 
     1764  else if (Ebene = 4) 
    19901765    Send {blind}`; 
    1991   else if(Ebene = 5) 
     1766  else if (Ebene = 5) 
    19921767    SendUnicodeChar(0x03B8) ; theta 
    1993   else if(Ebene = 6) 
     1768  else if (Ebene = 6) 
    19941769    SendUnicodeChar(0x2261) ; identisch 
    19951770return 
     
    20031778neo_NumLock: 
    20041779  EbeneAktualisieren() 
    2005   if(Ebene = 1) 
     1780  if (Ebene = 1) 
    20061781    send `= 
    2007   if(Ebene = 2) ; Funktioniert nicht 
    2008   { 
     1782  if (Ebene = 2) { ; Funktioniert nicht 
    20091783    SetNumLockState 
    20101784    send {NumLock} 
    20111785  } 
    2012   if(Ebene = 3) 
     1786  if (Ebene = 3) 
    20131787    SendUnicodeChar(0x2248) ; Fast gleich 
    2014   if(Ebene = 4) 
     1788  if (Ebene = 4) 
    20151789    SendUnicodeChar(0x2260) ; Ungleich zu 
    20161790return 
     
    20201794  if Ebene14 
    20211795    send {blind}{NumpadDiv} 
    2022   else if(Ebene = 2) 
     1796  else if (Ebene = 2) 
    20231797    SendUnicodeChar(0x2215) ; Slash 
    2024   else if(Ebene = 3) 
     1798  else if (Ebene = 3) 
    20251799    send {blind}� 
    20261800return 
     
    20301804  if Ebene14 
    20311805    send {blind}{NumpadMult} 
    2032   else if(Ebene = 2) 
     1806  else if (Ebene = 2) 
    20331807    SendUnicodeChar(0x22C5) ; Cdot 
    2034   else if(Ebene = 3) 
     1808  else if (Ebene = 3) 
    20351809    send {blind}� 
    20361810return 
     
    20381812neo_NumpadSub: 
    20391813  EbeneAktualisieren() 
    2040   if(Ebene14 and !(CheckDeadUni("c1",0x207B) 
     1814  if (Ebene14 and !(CheckDeadUni("c1",0x207B) 
    20411815                 or CheckDeadUni("c5",0x208B))) 
    20421816    send {blind}{NumpadSub} 
    2043   else if(Ebene = 3) 
     1817  else if (Ebene = 3) 
    20441818    SendUnicodeChar(0x2212) ; Echtes Minus 
    20451819return 
     
    20471821neo_NumpadAdd: 
    20481822  EbeneAktualisieren() 
    2049   if(Ebene14 and !(CheckDeadUni("c1",0x207A) 
     1823  if (Ebene14 and !(CheckDeadUni("c1",0x207A) 
    20501824                 or CheckDeadUni("c5",0x208A))) 
    20511825    send {blind}{NumpadAdd} 
    2052   else if(Ebene = 3) 
     1826  else if (Ebene = 3) 
    20531827    send {blind}� 
    2054   else if(Ebene = 2) 
     1828  else if (Ebene = 2) 
    20551829    SendUnicodeChar(0x2213) ; Inverses � 
    20561830return 
     
    20621836neo_Numpad7: 
    20631837  EbeneAktualisieren() 
    2064   if(Ebene = 1) 
    2065   { 
     1838  if (Ebene = 1) { 
    20661839    if NumLock 
    20671840      send {blind}{Numpad7} 
    20681841    else 
    2069       send {blind){Shift up}{Numpad7} 
    2070     if(PriorDeadKey = "comp") 
     1842      send {blind) {Shift up}{Numpad7} 
     1843    if (PriorDeadKey = "comp") 
    20711844      CompKey := "7" 
    2072   } 
    2073   else if(Ebene = 2) 
     1845  } else if (Ebene = 2) 
    20741846    SendUnicodeChar(0x2020) ; Kreuz 
    2075   else if(Ebene = 3) 
     1847  else if (Ebene = 3) 
    20761848    SendUnicodeChar(0x2195) ; Hoch-Runter-Pfeil 
    2077   else if(Ebene = 4) 
     1849  else if (Ebene = 4) 
    20781850    if NumLock 
    20791851      send {blind}{Shift up}{NumpadHome} 
     
    20841856neo_Numpad8: 
    20851857  EbeneAktualisieren() 
    2086   if((Ebene = 1) and !(CheckCompUni("1",0x215B) ; 1/8 
     1858  if ((Ebene = 1) and !(CheckCompUni("1",0x215B) ; 1/8 
    20871859                     or CheckCompUni("3",0x215C) ; 3/8 
    20881860                     or CheckCompUni("5",0x215D) ; 5/8 
    2089                      or CheckCompUni("7",0x215E))) ; 7/8 
    2090   { 
     1861                     or CheckCompUni("7",0x215E))) { ; 7/8 
    20911862    if NumLock 
    20921863      send {blind}{Numpad8} 
    20931864    else 
    2094       send {blind){Shift up}{Numpad8} 
    2095     if(PriorDeadKey = "comp") 
     1865      send {blind) {Shift up}{Numpad8} 
     1866    if (PriorDeadKey = "comp") 
    20961867      CompKey := "8" 
    2097   } 
    2098   else if(Ebene = 2) 
     1868  } else if (Ebene = 2) 
    20991869    SendUnicodeChar(0x2229) ; Durchschnitt 
    2100   else if(Ebene = 3) 
     1870  else if (Ebene = 3) 
    21011871    SendUnicodeChar(0x2191) ; Hochpfeil 
    2102   else if(Ebene = 4) 
     1872  else if (Ebene = 4) 
    21031873    if NumLock 
    21041874      send {blind}{Shift up}{NumpadUp} 
     
    21091879neo_Numpad9: 
    21101880  EbeneAktualisieren() 
    2111   if(Ebene = 1) 
    2112   { 
     1881  if (Ebene = 1) { 
    21131882    if NumLock 
    21141883      send {blind}{Numpad9} 
    21151884    else 
    2116       send {blind){Shift up}{Numpad9} 
    2117     if(PriorDeadKey = "comp") 
     1885      send {blind) {Shift up}{Numpad9} 
     1886    if (PriorDeadKey = "comp") 
    21181887      CompKey := "9" 
    2119   } 
    2120   else if(Ebene = 2) 
     1888  } else if (Ebene = 2) 
    21211889    SendUnicodeChar(0x2297) ; Tensorprodukt / Vektor in die Ebene zeigend 
    2122   else if(Ebene = 3) 
     1890  else if (Ebene = 3) 
    21231891    SendUnicodeChar(0x220D) ; Kleines umgekehrtes Elementzeichen 
    2124   else if(Ebene = 4) 
     1892  else if (Ebene = 4) 
    21251893    if NumLock 
    21261894      send {blind}{Shift up}{NumpadPgUp} 
     
    21311899neo_Numpad4: 
    21321900  EbeneAktualisieren() 
    2133   if((Ebene = 1) and !(CheckCompUni("1",0x00BC) ; 1/4 
    2134                      or CheckCompUni("3",0x00BE))) ; 3/4 
    2135   { 
     1901  if ((Ebene = 1) and !(CheckCompUni("1",0x00BC) ; 1/4 
     1902                     or CheckCompUni("3",0x00BE))) { ; 3/4 
    21361903    if NumLock 
    21371904      send {blind}{Numpad4} 
    21381905    else 
    2139       send {blind){Shift up}{Numpad4} 
    2140     if(PriorDeadKey = "comp") 
     1906      send {blind) {Shift up}{Numpad4} 
     1907    if (PriorDeadKey = "comp") 
    21411908      CompKey := "4" 
    2142   } 
    2143   else if(Ebene = 2) 
     1909  } else if (Ebene = 2) 
    21441910    SendUnicodeChar(0x2282) ; Teilmenge 
    2145   else if(Ebene = 3) 
     1911  else if (Ebene = 3) 
    21461912    SendUnicodeChar(0x2190) ; Linkspfeil 
    2147   else if(Ebene = 4) 
     1913  else if (Ebene = 4) 
    21481914    if NumLock 
    21491915      send {blind}{Shift up}{NumpadLeft} 
     
    21541920neo_Numpad5: 
    21551921  EbeneAktualisieren() 
    2156   if((Ebene = 1) and !(CheckCompUni("1",0x2155) ; 1/5 
     1922  if ((Ebene = 1) and !(CheckCompUni("1",0x2155) ; 1/5 
    21571923                     or CheckCompUni("2",0x2156) ; 2/5 
    21581924                     or CheckCompUni("3",0x2157) ; 3/5 
    2159                      or CheckCompUni("4",0x2158))) ; 4/5 
    2160   { 
     1925                     or CheckCompUni("4",0x2158))) { ; 4/5 
    21611926    if NumLock 
    21621927      send {blind}{Numpad5} 
    21631928    else 
    2164       send {blind){Shift up}{Numpad5} 
    2165     if(PriorDeadKey = "comp") 
     1929      send {blind) {Shift up}{Numpad5} 
     1930    if (PriorDeadKey = "comp") 
    21661931      CompKey := "5" 
    2167   } 
    2168   else if(Ebene = 3) 
     1932  } else if (Ebene = 3) 
    21691933    SendUnicodeChar(0x221E) ; Unendlich 
    2170   else if(Ebene = 2) 
     1934  else if (Ebene = 2) 
    21711935    SendUnicodeChar(0x20AC) ; Euro 
    2172   else if(Ebene = 4) ; Beg 
     1936  else if (Ebene = 4) ; Beg 
    21731937    if NumLock 
    21741938      send {NumPad5} 
     
    21791943neo_Numpad6: 
    21801944  EbeneAktualisieren() 
    2181   if((Ebene = 1) and !(CheckCompUni("1",0x2159) ; 1/6 
    2182                      or CheckCompUni("5",0x215a))) ; 5/6 
    2183   { 
     1945  if ((Ebene = 1) and !(CheckCompUni("1",0x2159) ; 1/6 
     1946                     or CheckCompUni("5",0x215a))) { ; 5/6 
    21841947    if NumLock 
    21851948      send {blind}{Numpad6} 
    21861949    else 
    2187       send {blind){Shift up}{Numpad6} 
    2188     if(PriorDeadKey = "comp") 
     1950      send {blind) {Shift up}{Numpad6} 
     1951    if (PriorDeadKey = "comp") 
    21891952      CompKey := "6" 
    2190   } 
    2191   else if(Ebene = 2) 
     1953  } else if (Ebene = 2) 
    21921954    SendUnicodeChar(0x2283) ; Obermenge 
    2193   else if(Ebene = 3) 
     1955  else if (Ebene = 3) 
    21941956    SendUnicodeChar(0x2192) ; Rechtspfeil 
    2195   else if(Ebene = 4) 
     1957  else if (Ebene = 4) 
    21961958    if NumLock 
    21971959      send {blind}{Shift up}{NumpadRight} 
     
    22021964neo_Numpad1: 
    22031965  EbeneAktualisieren() 
    2204   if(Ebene = 1) 
    2205   { 
     1966  if (Ebene = 1) { 
    22061967    if NumLock 
    22071968      send {blind}{Numpad1} 
    22081969    else 
    2209       send {blind){Shift up}{Numpad1} 
    2210     if(PriorDeadKey = "comp") 
     1970      send {blind) {Shift up}{Numpad1} 
     1971    if (PriorDeadKey = "comp") 
    22111972      CompKey := "1" 
    2212   } 
    2213   else if(Ebene = 2) 
     1973  } else if (Ebene = 2) 
    22141974    SendUnicodeChar(0x2714) ; H�kchen 
    2215   else if(Ebene = 3) 
     1975  else if (Ebene = 3) 
    22161976    SendUnicodeChar(0x2194) ; Links-Rechts-Pfeil 
    2217   else if(Ebene = 4) 
     1977  else if (Ebene = 4) 
    22181978    if NumLock 
    22191979      send {blind}{Shift up}{NumpadEnd} 
     
    22241984neo_Numpad2: 
    22251985  EbeneAktualisieren() 
    2226   if((Ebene = 1) and !(CheckCompUni("1",0x00BD))) ; 1/2 
    2227   { 
     1986  if ((Ebene = 1) and !(CheckCompUni("1",0x00BD))) { ; 1/2 
    22281987    if NumLock 
    22291988      send {blind}{Numpad2} 
    22301989    else 
    2231       send {blind){Shift up}{Numpad2} 
    2232     if(PriorDeadKey = "comp") 
     1990      send {blind) {Shift up}{Numpad2} 
     1991    if (PriorDeadKey = "comp") 
    22331992      CompKey := "2" 
    2234   } 
    2235   else if(Ebene = 2) 
     1993  } else if (Ebene = 2) 
    22361994    SendUnicodeChar(0x222A) ; Vereinigung 
    2237   else if(Ebene = 3) 
     1995  else if (Ebene = 3) 
    22381996    SendUnicodeChar(0x2192) ; Untenpfeil 
    2239   else if(Ebene = 4) 
     1997  else if (Ebene = 4) 
    22401998    if NumLock 
    22411999      send {blind}{Shift up}{NumpadDown} 
     
    22462004neo_Numpad3: 
    22472005  EbeneAktualisieren() 
    2248   if((Ebene = 1) and !(CheckCompUni("1",0x2153) ; 1/3 
    2249                      or CheckCompUni("5",0x2154))) ; 2/3 
    2250   { 
     2006  if ((Ebene = 1) and !(CheckCompUni("1",0x2153) ; 1/3 
     2007                     or CheckCompUni("5",0x2154))) { ; 2/3 
    22512008    if NumLock 
    22522009      send {blind}{Numpad3} 
    22532010    else 
    2254       send {blind){Shift up}{Numpad3} 
    2255     if(PriorDeadKey = "comp") 
     2011      send {blind) {Shift up}{Numpad3} 
     2012    if (PriorDeadKey = "comp") 
    22562013      CompKey := "3" 
    2257   } 
    2258   else if(Ebene = 2) 
     2014  } else if (Ebene = 2) 
    22592015    SendUnicodeChar(0x2718) ; Kreuzchen 
    2260   else if(Ebene = 3) 
     2016  else if (Ebene = 3) 
    22612017    SendUnicodeChar(0x2192) ; Rechtspfeil 
    2262   else if(Ebene = 4) 
     2018  else if (Ebene = 4) 
    22632019    if NumLock 
    22642020      send {blind}{Shift up}{NumpadPgDn} 
     
    22692025neo_Numpad0: 
    22702026  EbeneAktualisieren() 
    2271   if(Ebene = 1) 
    2272   { 
     2027  if (Ebene = 1) { 
    22732028    if NumLock 
    22742029      send {blind}{Numpad0} 
    22752030    else 
    2276       send {blind){Shift up}{Numpad0} 
    2277     if(PriorDeadKey = "comp") 
     2031      send {blind) {Shift up}{Numpad0} 
     2032    if (PriorDeadKey = "comp") 
    22782033      CompKey := "0" 
    2279   } 
    2280   else if(Ebene = 2) 
     2034  } else if (Ebene = 2) 
    22812035    SendUnicodeChar(0x2030) ; Promille 
    2282   else if(Ebene = 3) 
     2036  else if (Ebene = 3) 
    22832037    SendUnicodeChar(0x0025) ; Prozent 
    2284   else if(Ebene = 4) 
     2038  else if (Ebene = 4) 
    22852039    if NumLock 
    22862040      send {blind}{Shift up}{NumpadIns} 
     
    22912045neo_NumpadDot: 
    22922046  EbeneAktualisieren() 
    2293   if(Ebene = 1) 
    2294   { 
     2047  if (Ebene = 1) { 
    22952048    if NumLock 
    22962049      send {blind}{NumpadDot} 
    22972050    else         
    2298       send {blind){Shift up}{NumpadDot} 
    2299   } 
    2300   else if(Ebene = 2) 
     2051      send {blind) {Shift up}{NumpadDot} 
     2052  } else if (Ebene = 2) 
    23012053    send `, 
    2302   else if(Ebene = 3) 
     2054  else if (Ebene = 3) 
    23032055    send {blind}. 
    2304   else if(Ebene = 4) 
     2056  else if (Ebene = 4) 
    23052057    if NumLock 
    23062058      send {blind}{Shift up}{NumpadDel} 
     
    23162068 
    23172069*space:: 
    2318   if((einHandNeo)) 
     2070  if ((einHandNeo)) 
    23192071   spacepressed := 1 
    23202072  else 
     
    23232075 
    23242076*space up:: 
    2325   if((einHandNeo)) 
    2326   { 
    2327     if((keypressed)) 
     2077  if ((einHandNeo)) { 
     2078    if ((keypressed)) 
    23282079    { 
    23292080     keypressed := 0 
    23302081     spacepressed := 0 
    2331     } 
    2332     else 
     2082    } else 
    23332083    { 
    23342084      goto neo_SpaceUp 
    23352085    } 
    2336   } 
    2337   else 
    2338     { } ;do nothing 
     2086  } else 
     2087    {} ;do nothing 
    23392088return 
    23402089 
    23412090neo_SpaceUp: 
    23422091    EbeneAktualisieren() 
    2343     if((Ebene = 1) and !(CheckComp3Uni("r_1",0x2170) ; R�misch i 
     2092    if ((Ebene = 1) and !(CheckComp3Uni("r_1",0x2170) ; R�misch i 
    23442093                    or CheckComp3Uni("R_1",0x2160))) ; R�misch I 
    23452094      Send {blind}{Space} 
    23462095    else if ((Ebene = 2) or (Ebene = 3)) 
    23472096      Send {blind}{Space} 
    2348     else if(Ebene = 4 and !(CheckDeadUni("c1",0x2070) 
     2097    else if (Ebene = 4 and !(CheckDeadUni("c1",0x2070) 
    23492098                       or CheckDeadUni("c5",0x2080))) 
    23502099      Send {blind}{NumPad0} 
    2351     else if(Ebene = 5) 
     2100    else if (Ebene = 5) 
    23522101      SendUnicodeChar(0x00A0) ; gesch�tztes Leerzeichen 
    2353     else if(Ebene = 6) 
     2102    else if (Ebene = 6) 
    23542103      SendUnicodeChar(0x202F) ; schmales gesch�tztes Leerzeichen 
    23552104    DeadKey := "" CompKey := "" 
     
    23652114 
    23662115*Enter:: 
    2367   if(not(lernModus) or lernModus_std_Return) 
    2368   { 
     2116  if (not(lernModus) or lernModus_std_Return) { 
    23692117    send {Blind}{Enter} 
    23702118    DeadKey := "" CompKey := "" 
    2371   } 
    2372 return 
     2119  } return 
    23732120 
    23742121*Backspace:: 
    2375   if(not(lernModus) or lernModus_std_Backspace) 
    2376   { 
     2122  if (not(lernModus) or lernModus_std_Backspace) { 
    23772123    send {Blind}{Backspace} 
    23782124    DeadKey := "" CompKey := "" 
    2379   } 
    2380 return 
     2125  } return 
    23812126 
    23822127*Del:: 
    2383   if(not(lernModus) or lernModus_std_Entf) 
     2128  if (not(lernModus) or lernModus_std_Entf) 
    23842129    send {Blind}{Del} 
    23852130return 
    23862131 
    23872132*Ins:: 
    2388   if(not(lernModus) or lernModus_std_Einf) 
     2133  if (not(lernModus) or lernModus_std_Einf) 
    23892134    send {Blind}{Ins} 
    23902135return 
     
    23952140 
    23962141neo_tab: 
    2397   if(IsMod3Pressed()) 
    2398   { 
     2142  if (IsMod3Pressed()) { 
    23992143    DeadKey := "comp" 
    24002144    CompKey := "" 
    2401   } 
    2402   else 
    2403   { 
     2145  } else { 
    24042146    send {blind}{Tab} 
    24052147    DeadKey := "" 
    24062148    CompKey := "" 
    2407   } 
    2408 return 
     2149  } return 
    24092150 
    24102151*Home:: 
    2411   if(not(lernModus) or lernModus_std_Pos1) 
    2412   { 
     2152  if (not(lernModus) or lernModus_std_Pos1) { 
    24132153    send {Blind}{Home} 
    24142154    DeadKey := "" CompKey := "" 
    2415   } 
    2416 return 
     2155  } return 
    24172156 
    24182157*End:: 
    2419   if(not(lernModus) or lernModus_std_Ende) 
    2420   { 
     2158  if (not(lernModus) or lernModus_std_Ende) { 
    24212159    send {Blind}{End} 
    24222160    DeadKey := "" CompKey := "" 
    2423   } 
    2424 return 
     2161  } return 
    24252162 
    24262163*PgUp:: 
    2427   if(not(lernModus) or lernModus_std_PgUp) 
    2428   { 
     2164  if (not(lernModus) or lernModus_std_PgUp) { 
    24292165    send {Blind}{PgUp} 
    24302166    DeadKey := "" CompKey := "" 
    2431   } 
    2432 return 
     2167  } return 
    24332168 
    24342169*PgDn:: 
    2435   if(not(lernModus) or lernModus_std_PgDn) 
    2436   { 
     2170  if (not(lernModus) or lernModus_std_PgDn) { 
    24372171    send {Blind}{PgDn} 
    24382172    DeadKey := "" CompKey := "" 
    2439   } 
    2440 return 
     2173  } return 
    24412174 
    24422175*Up:: 
    2443   if(not(lernModus) or lernModus_std_Hoch) 
    2444   { 
     2176  if (not(lernModus) or lernModus_std_Hoch) { 
    24452177    send {Blind}{Up} 
    24462178    DeadKey := "" CompKey := "" 
    2447   } 
    2448 return 
     2179  } return 
    24492180 
    24502181*Down:: 
    2451   if(not(lernModus) or lernModus_std_Runter) 
    2452   { 
     2182  if (not(lernModus) or lernModus_std_Runter) { 
    24532183    send {Blind}{Down} 
    24542184    DeadKey := "" CompKey := "" 
    2455   } 
    2456 return 
     2185  } return 
    24572186 
    24582187*Left:: 
    2459   if(not(lernModus) or lernModus_std_Links) 
    2460   { 
     2188  if (not(lernModus) or lernModus_std_Links) { 
    24612189    send {Blind}{Left} 
    24622190    DeadKey := "" CompKey := "" 
    2463   } 
    2464 return 
     2191  } return 
    24652192 
    24662193*Right:: 
    2467   if(not(lernModus) or lernModus_std_Rechts) 
    2468   { 
     2194  if (not(lernModus) or lernModus_std_Rechts) { 
    24692195    send {Blind}{Right} 
    24702196    DeadKey := "" CompKey := "" 
    2471   } 
    2472 return 
     2197  } return 
    24732198/*  
    24742199   ------------------------------------------------------ 
     
    25782303    DllCall("RtlFillMemory", "UInt", &pDest + pOffset + A_Index-1, "UInt", 1, "UChar", pInteger >> 8*(A_Index-1) & 0xFF)  
    25792304} 
    2580  
    2581  
    2582  
    2583  
    2584 deadAsc(val){ 
     2305deadAsc(val) { 
    25852306  global 
    2586   if!(DeadSilence) 
     2307  if !DeadSilence 
    25872308    send % val 
    25882309} 
    25892310 
    2590 deadUni(val){ 
     2311deadUni(val) { 
    25912312  global 
    2592   if!(DeadSilence) 
     2313  if !DeadSilence 
    25932314    SendUnicodeChar(val) 
    25942315} 
    25952316 
    2596 undeadAsc(val){ 
     2317undeadAsc(val) { 
    25972318  global 
    2598   if(DeadSilence) 
     2319  if DeadSilence 
    25992320    send % val 
    26002321  else 
     
    26042325undeadUni(val){ 
    26052326  global 
    2606   if!(DeadSilence) 
     2327  if !DeadSilence 
    26072328    send {bs} 
    26082329  SendUnicodeChar(val) 
    26092330} 
    26102331 
    2611 CheckDeadAsc(d,val){ 
     2332CheckDeadAsc(d,val) { 
    26122333  global 
    2613   if(PriorDeadKey == d){ 
     2334  if (PriorDeadKey == d) { 
    26142335    undeadAsc(val) 
    26152336    return 1 
    2616   }else return 0 
    2617 } 
    2618  
    2619 CheckDeadUni(d,val){ 
     2337  } else return 0 
     2338} 
     2339 
     2340CheckDeadUni(d,val) { 
    26202341  global 
    2621   if(PriorDeadKey == d){ 
     2342  if (PriorDeadKey == d) { 
    26222343    undeadUni(val) 
    26232344    return 1 
    2624   }else return 0 
    2625 } 
    2626  
    2627 CheckDeadAsc12(d,val1,val2){ 
     2345  } else return 0 
     2346} 
     2347 
     2348CheckDeadAsc12(d,val1,val2) { 
    26282349  global 
    2629   if(PriorDeadKey == d){ 
    2630     if((Ebene = 1) and (val1 != "")){ 
     2350  if (PriorDeadKey == d){ 
     2351    if (Ebene = 1) and (val1 != "") { 
    26312352      undeadAsc(val1) 
    26322353      return 1 
    2633     }else if((Ebene = 2) and (val2 != "")){ 
     2354    } else if (Ebene = 2) and (val2 != "") { 
    26342355      undeadAsc(val2) 
    26352356      return 1 
    2636     }else return 0 
    2637   }else return 0 
    2638 } 
    2639  
    2640 CheckDeadUni12(d,val1,val2){ 
     2357    } else return 0 
     2358  } else return 0 
     2359} 
     2360 
     2361CheckDeadUni12(d,val1,val2) { 
    26412362  global 
    2642   if(PriorDeadKey == d){ 
    2643     if((Ebene = 1) and (val1 != "")){ 
     2363  if(PriorDeadKey == d) { 
     2364    if (Ebene = 1) and (val1 != "") { 
    26442365      undeadUni(val1) 
    26452366      return 1 
    2646     }else if((Ebene = 2) and (val2 != "")){ 
     2367    } else if (Ebene = 2) and (val2 != "") { 
    26472368      undeadUni(val2) 
    26482369      return 1 
    2649     }else return 0 
    2650   }else return 0 
    2651 } 
    2652  
    2653 compAsc(val){ 
     2370    } else return 0 
     2371  } else return 0 
     2372} 
     2373 
     2374compAsc(val) { 
    26542375  global 
    2655   if!(DeadCompose) 
     2376  if !DeadCompose 
    26562377    send % val 
    26572378} 
    26582379 
    2659 compUni(val){ 
     2380compUni(val) { 
    26602381  global 
    2661   if!(DeadCompose) 
     2382  if !DeadCompose 
    26622383    SendUnicodeChar(val) 
    26632384} 
    26642385 
    2665 uncompAsc(val){ 
     2386uncompAsc(val) { 
    26662387  global 
    2667   if(DeadCompose) 
     2388  if DeadCompose 
    26682389    send % val 
    26692390  else send % "{bs}" . val 
    26702391} 
    26712392 
    2672 uncompUni(val) 
    2673 { 
     2393uncompUni(val) { 
    26742394  global 
    2675   if!(DeadCompose) 
     2395  if !DeadCompose 
    26762396    send {bs} 
    26772397  SendUnicodeChar(val)     
    26782398} 
    26792399 
    2680 uncomp3Uni(val) 
    2681 { 
     2400uncomp3Uni(val) { 
    26822401  global 
    2683   if!(DeadCompose) 
     2402  if !DeadCompose 
    26842403    send {bs}{bs} 
    26852404  SendUnicodeChar(val)     
    26862405} 
    26872406 
    2688 CheckCompAsc(d,val){ 
     2407CheckCompAsc(d,val) { 
    26892408  global 
    2690   if(PriorCompKey == d){ 
     2409  if (PriorCompKey == d) { 
    26912410    uncompAsc(val) 
    26922411    return 1 
    2693   }else return 0 
    2694 } 
    2695  
    2696 CheckCompAsc12(d,val1,val2){ 
     2412  } else return 0 
     2413} 
     2414 
     2415CheckCompAsc12(d,val1,val2) { 
    26972416  global 
    2698   if(PriorCompKey == d) 
    2699     if((Ebene = 1) and (val1 != "")){ 
     2417  if (PriorCompKey == d) 
     2418    if (Ebene = 1) and (val1 != "") { 
    27002419      uncompAsc(val1) 
    27012420      return 1 
    2702     }else if((Ebene = 2) and (val2 != "")){ 
     2421    } else if (Ebene = 2) and (val2 != "") { 
    27032422      uncompAsc(val2) 
    27042423      return 1 
    2705     }else return 0 
     2424    } else return 0 
    27062425  else return 0 
    27072426} 
    27082427 
    2709 CheckCompUni(d,val){ 
     2428CheckCompUni(d,val) { 
    27102429  global 
    2711   if(PriorCompKey == d){ 
     2430  if (PriorCompKey == d) { 
    27122431    uncompUni(val) 
    27132432    return 1 
    2714   }else return 0 
     2433  } else return 0 
    27152434} 
    27162435 
    27172436CheckCompUni12(d,val1,val2){ 
    27182437  global 
    2719   if(PriorCompKey == d){ 
    2720     if     ((Ebene = 1) and (val1 != "")){ 
     2438  if (PriorCompKey == d) { 
     2439    if (Ebene = 1) and (val1 != "") { 
    27212440      uncompUni(val1) 
    27222441      return 1 
    2723     }else if((Ebene = 2) and (val2 != "")){ 
     2442    }else if (Ebene = 2) and (val2 != "") { 
    27242443      uncompUni(val2) 
    27252444      return 1 
    2726     }else return 0 
    2727   }else return 0 
    2728 } 
    2729  
    2730 CheckComp3Uni(d,val){ 
     2445    } else return 0 
     2446  } else return 0 
     2447} 
     2448 
     2449CheckComp3Uni(d,val) { 
    27312450  global 
    2732   if(PriorCompKey == d){ 
     2451  if (PriorCompKey == d) { 
    27332452    uncomp3Uni(val) 
    27342453    return 1 
    2735   }else return 0 
    2736 } 
    2737  
    2738 CheckComp3Uni12(d,val1,val2){ 
     2454  } else return 0 
     2455} 
     2456 
     2457CheckComp3Uni12(d,val1,val2) { 
    27392458  global 
    2740   if(PriorCompKey == d){ 
    2741     if((Ebene = 1) and (val1 != "")){ 
     2459  if (PriorCompKey == d) { 
     2460    if (Ebene = 1) and (val1 != "") { 
    27422461      uncomp3Uni(val1) 
    27432462      return 1 
    2744     }else if((Ebene = 2) and (val2 != "")){ 
     2463    } else if (Ebene = 2) and (val2 != "") { 
    27452464      uncomp3Uni(val2) 
    27462465      return 1 
    2747     }else return 0 
    2748   }else return 0 
    2749 } 
    2750  
    2751 outputChar(val1,val2){ 
     2466    } else return 0 
     2467  } else return 0 
     2468} 
     2469 
     2470outputChar(val1,val2) { 
    27522471  global 
    2753   if(Ebene = 1) 
     2472  if (Ebene = 1) 
    27542473    c := val1 
    2755   else 
    2756     c := val2 
    2757   if    GetKeyState("Shift","P") and isMod2Locked 
     2474  else c := val2 
     2475  if GetKeyState("Shift","P") and isMod2Locked 
    27582476    send % "{blind}{Shift Up}" . c . "{Shift Down}" 
    2759   else 
    2760     send % "{blind}" . c 
    2761   if(PriorDeadKey = "comp") 
     2477  else send % "{blind}" . c 
     2478  if (PriorDeadKey = "comp") 
    27622479    CompKey := c 
    27632480} 
    27642481 
    2765 checkComp(d){ 
    2766   if(PriorDeadKey = "comp"){ 
     2482checkComp(d) { 
     2483  if (PriorDeadKey = "comp") { 
    27672484    CompKey := d 
    27682485    return 1 
     
    27992516  DllCall("ntdll\RtlFillMemoryUlong","Uint",ref,"Uint",4,"Uint",val) 
    28002517} 
    2801  
    28022518/* 
    28032519   ------------------------------------------------------ 
     
    29682684    } 
    29692685Return 
    2970  
    29712686