Show
Ignore:
Timestamp:
07/25/08 08:46:11 (5 years ago)
Author:
martin_r
Message:

LangSTastatur auf F11(4) (Vorschlag von Dennis), Einbindung von LangSTastaturStandardmäßigEingeschaltet.ahk, T*(4)⇔T*(5) bei PriorDeadKey

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • windows/autohotkey/neo20.ahk

    r689 r694  
    11/* 
    22******************************************* 
    3  
    4  
    5  
    63WICHTIGE WARNUNG: 
    74 
     
    96Datei! Sie wird regelm��ig �berschrieben und 
    107sollte deshalb nicht mehr direkt bearbeitet werden! 
    11  
    12  
    138 
    149DIE AUSF�HRBARE DATEI AKTUALISIEREN: 
     
    1813installiert wurde) ein Doppelklick auf die Batch-Datei 
    1914Build-Update.bat 
    20  
    21  
    2215 
    2316HINWEISE F�R AHK-ENTWICKLER: 
     
    4740The programm will exit. 
    4841 
    49  
    50  
    5142AHK-LINKS 
    5243 
     
    5849 
    5950 
    60  
    6151******************************************* 
    6252*/ 
    6353 
    64  
    65  
    66  
    67  
    68  
    69  
    70  
    71  
    72  
    73  
    74  
    75  
    76  
    77  
    78  
    79  
    80  
    81  
    82  
    83  
    84  
    85  
    86  
    87  
    88  
    89  
    90  
    91  
    92  
    93  
    94  
    95  
    9654/* 
    97 ******************************************* 
    98 DU BIST GEWARNT WORDEN! 
    99 ******************************************* 
     55************************************* 
     56* NEO 2.0 (beta) Autohotkey-Treiber * 
     57************************************* 
     58Autoren: 
     59Stefan Mayer <stm (at) neo-layout. o r g> 
     60Nora Geissler <nora_geissler (at) yahoo. d e> 
     61Matthias Berg <neo (at) matthias-berg. e u> 
     62... 
     63 
     64 
     65 
     66********* 
     67* TODO: * 
     68********* 
     69- Die Bildschirmtastatur mit Mod4 hat den Mod4-Lock deaktiviert! 
     70- Auf der 6. Ebene von 2 und 3 werden noch immer Delta und Nabla gesendet, aber nicht die logischen Symbole UND und ODER (wie in der Referenz); siehe hierzu auch http://de.autohotkey.com/forum/post-26040.html 
     71- send und send{blind} durch SendUnicodeChar ersetzen (aus Performance-Gr�nden jedoch nicht a-z, A-Z, 0-9) 
     72- Compose vollst�ndig implementieren (Welche Methode ist hierzu am besten geeignet?) 
     73- ausgiebig testen... (besonders Vollst�ndigkeit bei Deadkeys) 
     74- Bessere L�sung f�r das Leeren von PriorDeadKey finden, damit die Sondertasten nicht mehr abgefangen werden m�ssen. 
     75- Testen, ob die Capslockl�sung (siehe *1:: ebene 1) auch f�r Numpad gebraucht wird 
     76- Die Ebenen vom Tastenblock an die neue Referenz anpassen (wenn da ein Konsens gefunden wurde) 
     77 
     78 
     79********** 
     80* IDEEN: * 
     81********** 
     82- Tastatur-Reset: mod4+escape (oder ev. ein anderer Hotkey) soll die Tastatur wieder in den Normalzustand versetzen (d.h. alle Ebenen unlocken und Einhand, Lang-s oder Sonstwelche-Modi deaktivieren) 
     83- Die Varianten (lernModus, einHandNeo, Lang-s-Tastatur, Qwertz/pausieren) sollten einheitlich (de-)aktiviert werden, etwa �ber Mod4 F9-F12 
     84- bei Ebene 4 rechte Hand (Numpad) z.B. Numpad5 statt 5 senden 
     85 
     86 
     87 
     88****************** 
     89* CHANGEHISTORY: * 
     90****************** 
     91Revision 687 (von Dennis Heidsiek): 
     92- Die SendUnicodeChar-Methode um den GDK-Workarround von Matthias W�chter erg�nzt 
     93- (An/Aus) Icons an Favicon der neuen Homepage angepasst 
     94Revision 645 (von Martin Roppelt): 
     95- Ellipse zus�tzlich auf M3+x;  
     96- Lang-s-Tastatur probeweise auf M4+Esc 
     97Revision 640 (von Dennis Heidsiek): 
     98- Der untote Zirkumflex (^) auf Ebene 3 funktioniert jetzt auch in Java-Programmen 
     99Revision 639 (von Martin Roppelt): 
     100- Lang-s-Tastatur kann nicht mehr durch einen Hotkey aktiviert werden 
     101Revision 629 (von Martin Roppelt): 
     102- Spitze Klammern (bra und ket) testweise auf M5+8/9 
     103Revision 624 (von Martin Roppelt): 
     104- Lang-s-Tastatur (ein- und auszuschalten durch Mod4+�) 
     105Revision 616 (von Dennis Heidsiek): 
     106- Der nicht funktionierende Mod5-Lock-Fix wurde wieder entfernt, da er sogar neue Fehler produzierte. 
     107Revision 615 (von Dennis Heidsiek): 
     108- Erfolgloser Versuch, den Mod4-Lock wiederherzustellen (durch eine Tilde vor den Scancodes der Bildschirmtastatur). 
     109- Rechtschreibfehler korrigiert. 
     110- Zwei AHK-Links eingef�gt. 
     111Revision 609 (von Dennis Heidsiek): 
     112- Vorl�ufiger Abschluss der AHK-Modularisierung. 
     113- Bessere Testm�glichkeit �All.ahk� f�r AHK-Entwickler hinzugef�gt, bei der sich die Zeilenangaben in Fehlermeldungen auf die tats�chlichen Module und nicht auf das gro�e �vereinigte� Skript beziehen. 
     114Revision 608 (von Martin Roppelt): 
     115- Rechtschreibfehler korrigiert und Dateinamen aktualisiert und sortiert. 
     116Revision 590 (von Dennis Heidsiek): 
     117- Erste technische Vorarbeiten zur logischen Modularisierung des viel zu lange gewordenen AHK-Quellcodes. 
     118- Neue Batch-Datei Build-Update.bat zur einfachen Aktualisierung der EXE-Datei 
     119Revision 583 (von Dennis Heidsiek): 
     120- Kleinere Korrekturen (Mod3+Numpad5, Mod5+Numpad5 und Mod3+Numpad9 stimmen wieder mit der Referenz �berein). 
     121Revision 580 (von Matthias Berg): 
     122- Bildschirmtastatur jetzt mit Mod4+F* statt Strg+F*, dies deaktiviert jedoch leider den Mod4-Lock 
     123Revision 570 (von Matthias Berg): 
     124- Hotkeys f�r einHandNeo und lernModus durch entsprechende ScanCodes ersetzt  
     125Revision 568 (von Matthias Berg): 
     126- Sonderzeichen, Umlaute, z und y durch ScanCodes ersetzt 
     127  * jetzt wird auch bei eingestelltem US Layout Neo verwendet. (z.B. f�r Chinesische InputMethodEditors) 
     128  * rechter Mod3 geht noch nicht bei US Layout (weder ScanCode noch "\") 
     129Revision 567 (von Dennis Heidsiek): 
     130- Aktivierter Mod4 Lock wird jetzt �ber die Rollen-LED des Keybord angezeigt (analog zu CapsLock), die NUM-LED beh�lt ihr bisheriges Verhalten 
     131- Neue Option im Skript: UseMod4Light 
     132Revision 561 (von Matthias Berg): 
     133- Ebene 4 Tab verh�lt sich jetzt wie das andere Tab dank "goto neo_tab" 
     134Revision 560 (von Dennis Heidsiek): 
     135- Neue Option im Skript: bildschirmTastaturEinbinden bindet die PNG-Bilder der Bildschirmtastur mit in die exe-Datei ein, so dass sich der Benutzer nur eine Datei herunterladen muss 
     136Revision 559 (von Matthias Berg): 
     137- Shift+Alt+Tab Problem gel�st (muss noch mehr auf Nebeneffekte getestet werden) 
     138Revision 558 (von Matthias Berg): 
     139- Icon-Bug behoben 
     140  * Hotkeys d�rfen nicht vor der folgenden Zeile stehen: 
     141   "menu, tray, icon, neo.ico,,1" 
     142- lernModus-Konfigurations-Bug behoben: or statt and(not) 
     143- Ein paar leere Else-F�lle eingebaut (Verst�ndlichkeit, m�gliche Compilerprobleme vermeiden)    
     144Revision 556 (von Matthias Berg): 
     145- lernModus (an/aus mit Strg+Komma) 
     146  * im Skript konfigurierbar 
     147  * Schaltet z.B. Qwertz Tasten aus, die es auf der 4. Ebene gibt (Return, Backspace,...) 
     148  * Kann auch Backspace und/oder Entfernen der 4. Ebene ausschalten (gut zum Lernen richtig zu schreiben) 
     149- Bug aufgetaucht: Icons werden nicht mehr angezeigt 
     150Revision 544 (von Stefan Mayer): 
     151- ,.:; auf dem Mod4-Ziffernblock an die aktuelle Referenz angepasst 
     152- Versionen von rho, theta, kappa und phi an die aktuelle Referenz angepasst 
     153Revision 542 (von Matthias Berg): 
     154- bei EinHandNeo ist jetzt Space+y auch Mod4 
     155- AltGr-Bug  hoffentlich wieder behoben. Diesmal mit extra altGrPressed Variable 
     156- nurEbenenFuenfUndSechs umbenannt in ahkTreiberKombi und auf Ebene 4 statt 5 und 6 ge�ndert 
     157Revision 540 (von Matthias Berg): 
     158- stark �berarbeitet um Wartbarkeit zu erh�hen und Redundanz zu veringern 
     159- nurEbenenFuenfUndSechs sollte nun auch auf Neo Treiber statt Qwertz laufen 
     160  * aber es muss noch jemand testen 
     161  * Problem: was kann man abfangen, wenn eine tote Taste gedr�ckt wird 
     162- einHandNeo: 
     163  * An-/Ausschalten mit STRG+Punkt 
     164  * Buchstaben der rechten Hand werden mit Space zur linken Hand 
     165  * Nebeneffekt: es gibt beim Festhalten von Space keine wiederholten Leerzeichen mehr 
     166Revision 532 (von Matthias Berg): 
     167- BildschirmTastatur  
     168  * aktiviert mit strg+F1 bis 7 schaltet Keyboard ein oder aus 
     169  * strg+F7 zeigt die zuletzt angezeigte Ebene an (und wieder aus). 
     170  * strg+F8 schaltet AlwaysOnTop um     
     171Revision 529 (von Stefan Mayer): 
     172- Icon wird automatisch geladen, falls .ico-Dateien im selbem Ordner 
     173- in der .exe sind die .ico mitgespeichert und werden geladen 
     174Revision 528 (von Matthias Berg): 
     175- Neo-Icon 
     176- Neo-Prozess jetzt automatisch auf hoher Prioritaet 
     177  (siehe globale Schalter) 
     178- Mod3-Lock (nur wenn rechtes Mod3 zuerst gedr�ckt wird, andere L�sung f�hrte zum Caps-Bug) 
     179- Mod4-Lock (nur wenn das linke Mod4 zuerst gedr�ckt wird, andere L�sung f�hte zum AltGr-Bug) 
     180- Ein paar falsche Zeichen korrigiert 
     181Revision 527 (von Matthias Berg): 
     182- AltGr Problem hoffentlich behoben 
     183- Umschalt+Mod4 Bug behoben 
     184Revision 526 (von Matthias Berg): 
     185- Ebenen 1 bis 4 ausschalten per Umschalter siehe erste Codezeile nurEbenenFuenfUndSechs = 0 
     186- Mod4-Lock durch Mod4+Mod4 
     187- EbenenAktualisierung neu geschrieben 
     188- Ebene 6 �ber Mod3+Mod4 
     189- Ebenen (besonders Matheebene) an Referenz angepasst (allerdings kaum um Ebenen 1&2 gek�mmert, besonders Compose k�nnte noch �berholt werden) 
     190Revision 525 (von Matthias Berg): 
     191- Capslock bei Zahlen und Sonderzeichen ber�cksichtigt 
     192Revision 524 (von Matthias Berg): 
     193- umgekehrtes ^ f�r o, a, �,i  sowie f�r die grossen vokale ( 3. ton chinesisch) 
     194  � damit wird jetzt PinYin vollst�ndig unterst�tzt caron, macron, akut, grave auf uiaeo� 
     195- Sonderzeichen senden wieder blind -> Shortcuts funktionieren, Capslock ist leider Shiftlock 
     196Revision 523 (von Matthias Berg): 
     197- CapsLock geht jetzt auch bei allen Zeichen ('send Zeichen' statt 'send {blind} Zeichen') 
     198- vertikale Ellipse eingebaut 
     199- Umschalt+Umschalt f�r Capslock statt Mod3+Mod3 
     200- bei Suspend wird jetzt wirklich togglesuspend aufgerufen (auch beim aktivieren per shift+pause) 
     201Revsion 490 (von Stefan Mayer):  
     202- SUBSCRIPT von 0 bis 9 sowie (auf Ziffernblock) + und - 
     203  � auch bei Ziffernblock auf der 5. Ebene 
     204- Kein Parsen �ber die Zwischenablage mehr 
     205- Vista-kompatibel 
     206- Compose-Taste 
     207  � Br�che (auf Zahlenreihe und Hardware-Ziffernblock) 
     208  � r�mische Zahlen 
     209  � Ligaturen und Copyright 
     210 
     211 
     212 
    100213*/ 
    101214 
    102  
    103  
    104  
    105  
    106  
    107  
    108  
    109  
    110  
    111  
    112  
    113  
    114  
    115  
    116  
    117  
    118  
    119  
    120  
    121  
    122  
    123  
    124  
    125  
    126  
    127  
    128 /* 
    129     Titel:        NEO 2.0 beta Autohotkey-Treiber 
    130     $Revision:    624 $ 
    131     $Date:        2008-07-08 18:50:00 +0200 (Di, 07 Jul 2008) $ 
    132     Autoren:      Stefan Mayer <stm (at) neo-layout. o r g> 
    133                   Nora Geissler <nora_geissler (at) yahoo. d e> 
    134                   Matthias Berg <neo (at) matthias-berg. e u> 
    135                   ... 
    136                    
    137                    
    138                    
    139                    
    140     TODO:         - ausgiebig testen... (besonders Vollst�ndigkeit bei Deadkeys) 
    141                   - Bessere L�sung f�r das leeren von PriorDeadKey finden, damit die Sondertasten 
    142                     nicht mehr abgefangen werden m�ssen. 
    143                   - Testen ob die Capslockl�sung (siehe *1:: ebene 1) auch f�r Numpad gebraucht wird 
    144                   - Sind Ebenen vom Touchpad noch richtig? 
    145                   - Die Bildschirmtastatur mit Mod4 deaktiviert den Mod4-Lock 
    146                   - Auf der 6. Ebene von 2 und 3 werden Delta und Nabla gesendet, aber nicht die 
    147                     logischen Symbole UND und ODER (wie in der Referenz) 
    148     Ideen:        - Symbol �ndern (Neo-Logo abwarten) 
    149                   - bei Ebene 4 rechte Hand (Numpad) z.B. Numpad5 statt 5 senden 
    150                   - Tastatur-Reset: mod4+escape (oder ev. ein anderer Hotkey) soll die 
    151                     Tastatur wieder in den Normalzustand versetzen (d.h. alle Ebenen 
    152                     unlocken und Einhand, Lang-s oder Sonstwelche-Modi deaktivieren) 
    153                   - Die Varianten (lernModus, einHandNeo, Lang-s-Tastatur Qwertz/pausieren) 
    154                     sollten einheitlich (de-)aktiviert werden, etwa �ber Mod4 F9-F12 
    155  
    156  
    157     CHANGEHISTORY: 
    158                   Revision 687 (von Dennis Heidsiek): 
    159                   - Die SendUnicodeChar-Methode um den GDK-Workarround von Matthias W�chter erg�nzt 
    160                   - (An/Aus) Icons an Favicon der neuen Homepage angepasst 
    161                   Revision 645 (von Martin Roppelt): 
    162                   - Ellipse zus�tzlich auf M3+x;  
    163                   - Lang-s-Tastatur probeweise auf M4+Esc 
    164                   Revision 640 (von Dennis Heidsiek): 
    165                   - Der untote Zirkumflex (^) auf Ebene 3 funktioniert jetzt auch 
    166                     in Java-Programmen 
    167                   Revision 639 (von Martin Roppelt): 
    168                   - Lang-s-Tastatur kann nicht mehr durch einen Hotkey aktiviert werden 
    169                   Revision 629 (von Martin Roppelt): 
    170                   - Spitze Klammern (bra und ket) testweise auf M5+8/9 
    171                   Revision 624 (von Martin Roppelt): 
    172                   - Lang-s-Tastatur (ein- und auszuschalten durch Mod4+�) 
    173                   Revision 616 (von Dennis Heidsiek): 
    174                   - Der nicht funktionierende Mod5-Lock-Fix wurde wieder entfernt, da 
    175                     er sogar neue Fehler produzierte. 
    176                   Revision 615 (von Dennis Heidsiek): 
    177                   - Erfolgloser Versuch, den Mod4-Lock wiederherzustellen 
    178                     (durch eine Tilde vor den Scancodes der Bildschirmtastatur). 
    179                   - Rechtschreibfehler korrigiert. 
    180                   - Zwei AHK-Links eingef�gt. 
    181                   Revision 609 (von Dennis Heidsiek): 
    182                   - Vorl�ufiger Abschluss der AHK-Modularisierung. 
    183                   - Bessere Testm�glichkeit �All.ahk� f�r AHK-Entwickler hinzugef�gt, bei der 
    184                     sich die Zeilenangaben in Fehlermeldungen auf die tats�chlichen Module und 
    185                     nicht auf das gro�e �vereinigte� Skript beziehen. 
    186                   Revision 608 (von Martin Roppelt): 
    187                   - Rechtschreibfehler korrigiert und Dateinamen aktualisiert und sortiert. 
    188                   Revision 590 (von Dennis Heidsiek): 
    189                   - Erste technische Vorarbeiten zur logischen Modularisierung des viel 
    190                     zu lange gewordenen AHK-Quellcodes. 
    191                   - Neue Batch-Datei Build-Update.bat zur einfachen Aktualisierung der EXE-Datei 
    192                   Revision 583 (von Dennis Heidsiek): 
    193                   - Kleinere Korrekturen (Mod3+Numpad5, Mod5+Numpad5 und Mod3+Numpad9 
    194                     stimmen wieder mit der Referenz �berein). 
    195                   Revision 580 (von Matthias Berg): 
    196                   - Bildschirmtastatur jetzt mit Mod4+F* statt Strg+F*, dies deaktiviert 
    197                     jedoch leider den Mod4-Lock 
    198                   Revision 570 (von Matthias Berg): 
    199                   - Hotkeys f�r einHandNeo und lernModus durch entsprechende ScanCodes ersetzt  
    200                   Revision 568 (von Matthias Berg): 
    201                   - Sonderzeichen, Umlaute, z und y durch ScanCodes ersetzt 
    202                     * jetzt wird auch bei eingestelltem US Layout Neo verwendet. 
    203                       (z.B. f�r Chinesische InputMethodEditors) 
    204                     * rechter Mod3 geht noch nicht bei US Layout (weder ScanCode noch "\") 
    205                   Revision 567 (von Dennis Heidsiek): 
    206                   - Aktivierter Mod4 Lock wird jetzt �ber die Rollen-LED des Keybord angezeigt 
    207                     (analog zu CapsLock), die NUM-LED beh�lt ihr bisheriges Verhalten 
    208                   - Neue Option im Skript: UseMod4Light 
    209                   Revision 561 (von Matthias Berg): 
    210                   - Ebene 4 Tab verh�lt sich jetzt wie das andere Tab dank "goto neo_tab" 
    211                   Revision 560 (von Dennis Heidsiek): 
    212                   - Neue Option im Skript: bildschirmTastaturEinbinden bindet die PNG-Bilder der 
    213                     Bildschirmtastur mit in die exe-Datei ein, so dass sich der Benutzer nur eine Datei 
    214                     herunterladen muss 
    215                   Revision 559 (von Matthias Berg): 
    216                   - Shift+Alt+Tab Problem gel�st (muss noch mehr auf Nebeneffekte getestet werden) 
    217                   Revision 558 (von Matthias Berg): 
    218                   - Icon-Bug behoben 
    219                     * Hotkeys d�rfen nicht vor der folgenden Zeile stehen: 
    220                      "menu, tray, icon, neo.ico,,1" 
    221                   - lernModus-Konfigurations-Bug behoben: or statt and(not) 
    222                   - Ein paar leere Else-F�lle eingebaut (Verst�ndlichkeit, m�gliche Compilerprobleme vermeiden)    
    223                   Revision 556 (von Matthias Berg): 
    224                   - lernModus (an/aus mit Strg+Komma) 
    225                     * im Skript konfigurierbar 
    226                     * Schaltet z.B. Qwertz Tasten aus, die es auf der 4. Ebene gibt (Return, Backspace,...) 
    227                     * Kann auch Backspace und/oder Entfernen der 4. Ebene ausschalten (gut zum Lernen richtig  
    228                       zu schreiben) 
    229                   - Bug aufgetaucht: Icons werden nicht mehr angezeigt 
    230                   Revision 544 (von Stefan Mayer): 
    231                   - ,.:; auf dem Mod4-Ziffernblock an die aktuelle Referenz angepasst 
    232                   - Versionen von rho, theta, kappa und phi an die aktuelle Referenz angepasst 
    233                   Revision 542 (von Matthias Berg): 
    234                   - bei EinHandNeo ist jetzt Space+y auch Mod4 
    235                   - AltGr-Bug  hoffentlich wieder behoben. Diesmal mit extra altGrPressed Variable 
    236                   - nurEbenenFuenfUndSechs umbenannt in ahkTreiberKombi und auf Ebene 4 statt 5 und 6 ge�ndert 
    237                   Revision 540 (von Matthias Berg): 
    238                   - stark �berarbeitet um Wartbarkeit zu erh�hen und Redundanz zu veringern 
    239                   - nurEbenenFuenfUndSechs sollte nun auch auf Neo Treiber statt Qwertz laufen 
    240                     * aber es muss noch jemand testen 
    241                     * Problem: was kann man abfangen, wenn eine tote Taste gedr�ckt wird 
    242                  - einHandNeo: 
    243                     * An-/Ausschalten mit STRG+Punkt 
    244                     * Buchstaben der rechten Hand werden mit Space zur linken Hand 
    245                     * Nebeneffekt: es gibt beim Festhalten von Space keine wiederholten Leerzeichen mehr 
    246                   Revision 532 (von Matthias Berg): 
    247                   - BildschirmTastatur  
    248                     * aktiviert mit strg+F1 bis 7 schaltet Keyboard ein oder aus 
    249                     * strg+F7 zeigt die zuletzt angezeigte Ebene an (und wieder aus). 
    250                     * strg+F8 schaltet AlwaysOnTop um     
    251                   Revision 529 (von Stefan Mayer): 
    252                   - Icon wird automatisch geladen, falls .ico-Dateien im selbem Ordner 
    253                   - in der .exe sind die .ico mitgespeichert und werden geladen 
    254                   Revision 528 (von Matthias Berg): 
    255                   - Neo-Icon 
    256                   - Neo-Prozess jetzt automatisch auf hoher Prioritaet 
    257                     (siehe globale Schalter) 
    258                   - Mod3-Lock (nur wenn rechtes Mod3 zuerst gedr�ckt wird, andere L�sung f�hrte zum Caps-Bug) 
    259                   - Mod4-Lock (nur wenn das linke Mod4 zuerst gedr�ckt wird, andere L�sung f�hte zum AltGr-Bug) 
    260                   - Ein paar falsche Zeichen korrigiert 
    261                   Revision 527 (von Matthias Berg): 
    262                   - AltGr Problem hoffentlich behoben 
    263                   - Umschalt+Mod4 Bug behoben 
    264                   Revision 526 (von Matthias Berg): 
    265                   - Ebenen 1 bis 4 ausschalten per Umschalter siehe erste Codezeile 
    266                      nurEbenenFuenfUndSechs = 0 
    267                   - Mod4-Lock durch Mod4+Mod4 
    268                   - EbenenAktualisierung neu geschrieben 
    269                   - Ebene 6 �ber Mod3+Mod4 
    270                   - Ebenen (besonders Matheebene) an Referenz angepasst 
    271                     (allerdings kaum um Ebenen 1&2 gek�mmert, besonders Compose k�nnte noch �berholt werden) 
    272                   Revision 525 (von Matthias Berg): 
    273                   - Capslock bei Zahlen und Sonderzeichen ber�cksichtigt 
    274                   Revision 524 (von Matthias Berg): 
    275                   - umgekehrtes ^ f�r o, a, �,i  sowie f�r die grossen vokale ( 3. ton chinesisch) 
    276                     � damit wird jetzt PinYin vollst�ndig unterst�tzt caron, macron, akut, grave auf uiaeo� 
    277                   - Sonderzeichen senden wieder blind -> Shortcuts funktionieren, Capslock ist leider Shiftlock 
    278                   Revision 523 (von Matthias Berg): 
    279                         - CapsLock geht jetzt auch bei allen Zeichen ('send Zeichen' statt 'send {blind} Zeichen') 
    280                   - vertikale Ellipse eingebaut 
    281                   - Umschalt+Umschalt f�r Capslock statt Mod3+Mod3 
    282                   - bei Suspend wird jetzt wirklich togglesuspend aufgerufen (auch beim aktivieren per shift+pause) 
    283                   Revsion 490 (von Stefan Mayer):  
    284                   - SUBSCRIPT von 0 bis 9 sowie (auf Ziffernblock) + und - 
    285                     � auch bei Ziffernblock auf der 5. Ebene 
    286                   - Kein Parsen �ber die Zwischenablage mehr 
    287                   - Vista-kompatibel 
    288                   - Compose-Taste 
    289                     � Br�che (auf Zahlenreihe und Hardware-Ziffernblock) 
    290                     � r�mische Zahlen 
    291                     � Ligaturen und Copyright 
    292 */ 
    293215 
    294216 
     
    300222 
    301223; Im folgenden gilt (soweit nicht anders angegeben) Ja = 1, Nein = 0: 
    302 ahkTreiberKombi := 0             ; Sollen Ebenen 1-4 ignoriert werden? (kann z.B. vom dll Treiber �bernommen werden) 
     224 
     225ahkTreiberKombi := 0             ; Sollen Ebenen 1-4 ignoriert werden (kann z.B. vom dll Treiber �bernommen werden)? 
    303226einHandNeo := 0                  ; Soll der Treiber im Einhandmodus betrieben werden? 
    304227lernModus := 0                   ; Soll der Lernmodus aktiviert werden? 
    305 bildschirmTastaturEinbinden := 1 ; Sollen die Bilder f�r die Bildschirmtastatur in die EXE-Datei miteingebunden werden (Nachteil: gr�ssere Dateigr�sse, Vorteil: Referenz f�r Anf�nger stets einfach verf�gbar) 
    306 UseMod4Light := 1                ; Aktivierter Mod4 Lock wird �ber die Rollen-LED des Keybord angezeigt (analog zu CapsLock) 
    307 LangSTastatur := 0               ; Sollen Lang-s auf s, s auf � und � auf M3+� gelegt werden? 
    308  
    309 Process, Priority,, High 
     228bildschirmTastaturEinbinden := 1 ; Sollen die Bilder f�r die Bildschirmtastatur in die EXE-Datei miteingebunden werden? 
     229                                 ; (Nachteil: gr�ssere Dateigr�sse, Vorteil: Referenz f�r Anf�nger stets einfach verf�gbar) 
     230UseMod4Light := 1                ; Aktivierter Mod4-Lock wird �ber die Rollen-LED des Keybord angezeigt (analog zu CapsLock) 
     231LangSTastatur := 0               ; Sollen Lang-s auf s, s auf � und � auf �(3) gelegt werden? 
     232#Include *i %a_scriptdir%\LangSTastaturStandardm��igEingeschaltet.ahk 
     233#Include *i %a_scriptdir%\source\LangSTastaturStandardm��igEingeschaltet.ahk 
     234                                 ; Wenn diese Datei vorhanden ist und die Zeichenfolge �LangSTastatur := 1� enth�lt, 
     235                                 ; ist die LangSTastatur beim Starten der ahk/exe-Datei automatisch eingeschaltet. 
     236 
     237Process,Priority,,High 
    310238 
    311239 
     
    319247FileInstall, neo_disabled.ico, neo_disabled.ico, 1 
    320248 
    321 if(bildschirmTastaturEinbinden==1) { 
     249if (bildschirmTastaturEinbinden==1) { 
    322250   FileInstall, ebene1.png, ebene1.png, 1 
    323251   FileInstall, ebene2.png, ebene2.png, 1 
     
    11391067   { 
    11401068      SendUnicodeChar(0x00B7) ; Mittenpunkt, tot 
     1069      PriorDeadKey := "c4" 
     1070   } 
     1071   else if Ebene = 5 
     1072   { 
     1073      send -                  ; querstrich, tot 
    11411074      PriorDeadKey := "c5" 
    1142    } 
    1143    else if Ebene = 5 
    1144    { 
    1145       send -                  ; querstrich, tot 
    1146       PriorDeadKey := "c4" 
    11471075   } 
    11481076   else if Ebene = 6 
     
    11591087      if (PriorDeadKey = "c1")          ; circumflex 1 
    11601088         BSSendUnicodeChar(0x00B9) 
    1161       else if (PriorDeadKey = "c4")       ; toter - 
     1089      else if (PriorDeadKey = "c5")       ; toter - 
    11621090         BSSendUnicodeChar(0x2081) 
    11631091      else if (CompKey = "r_small_1") 
     
    12281156      if (PriorDeadKey = "c1")          ; circumflex  
    12291157         BSSendUnicodeChar(0x00B2) 
    1230       else if (PriorDeadKey = "c4")       ; toter - 
     1158      else if (PriorDeadKey = "c5")       ; toter - 
    12311159         BSSendUnicodeChar(0x2082) 
    12321160      else if (CompKey = "r_small") 
     
    12981226      if (PriorDeadKey = "c1")          ; circumflex 
    12991227         BSSendUnicodeChar(0x00B3) 
    1300       else if (PriorDeadKey = "c4")       ; toter - 
     1228      else if (PriorDeadKey = "c5")       ; toter - 
    13011229         BSSendUnicodeChar(0x2083) 
    13021230      else if (CompKey = "1") 
     
    13641292      if (PriorDeadKey = "c1")          ; circumflex 
    13651293         BSSendUnicodeChar(0x2074) 
    1366       else if (PriorDeadKey = "c4")       ; toter - 
     1294      else if (PriorDeadKey = "c5")       ; toter - 
    13671295         BSSendUnicodeChar(0x2084)          
    13681296      else if (CompKey = "r_small") 
     
    14311359      if (PriorDeadKey = "c1")          ; circumflex 
    14321360         BSSendUnicodeChar(0x2075) 
    1433       else if (PriorDeadKey = "c4")       ; toter - 
     1361      else if (PriorDeadKey = "c5")       ; toter - 
    14341362         BSSendUnicodeChar(0x2085) 
    14351363      else if (CompKey = "1") 
     
    15021430      if (PriorDeadKey = "c1")          ; circumflex 
    15031431         BSSendUnicodeChar(0x2076) 
    1504       else if (PriorDeadKey = "c4")       ; toter - 
     1432      else if (PriorDeadKey = "c5")       ; toter - 
    15051433         BSSendUnicodeChar(0x2086)          
    15061434      else if (CompKey = "1") 
     
    15691497      if (PriorDeadKey = "c1")          ; circumflex 
    15701498         BSSendUnicodeChar(0x2077) 
    1571       else if (PriorDeadKey = "c4")       ; toter - 
     1499      else if (PriorDeadKey = "c5")       ; toter - 
    15721500         BSSendUnicodeChar(0x2087) 
    15731501      else if (CompKey = "r_small") 
     
    16351563      if (PriorDeadKey = "c1")          ; circumflex 
    16361564         BSSendUnicodeChar(0x2078) 
    1637       else if (PriorDeadKey = "c4")       ; toter - 
     1565      else if (PriorDeadKey = "c5")       ; toter - 
    16381566         BSSendUnicodeChar(0x2088) 
    16391567      else if (CompKey = "1") 
     
    17081636      if (PriorDeadKey = "c1")          ; circumflex 
    17091637         BSSendUnicodeChar(0x2079) 
    1710       else if (PriorDeadKey = "c4")       ; toter - 
     1638      else if (PriorDeadKey = "c5")       ; toter - 
    17111639         BSSendUnicodeChar(0x2089) 
    17121640      else if (CompKey = "r_small") 
     
    17731701      if (PriorDeadKey = "c1")          ; circumflex 
    17741702         BSSendUnicodeChar(0x2070) 
    1775       else if (PriorDeadKey = "c4")       ; toter - 
     1703      else if (PriorDeadKey = "c5")       ; toter - 
    17761704         BSSendUnicodeChar(0x2080)          
    17771705      else if (CompKey = "r_small_1") 
     
    18831811   { 
    18841812      SendUnicodeChar(0x02D9) ; punkt oben dr�ber 
     1813      PriorDeadKey := "a4" 
     1814   } 
     1815   else if Ebene = 5 
     1816   { 
     1817      SendUnicodeChar(0x02DB) ; ogonek 
    18851818      PriorDeadKey := "a5" 
    1886    } 
    1887    else if Ebene = 5 
    1888    { 
    1889       SendUnicodeChar(0x02DB) ; ogonek 
    1890       PriorDeadKey := "a4" 
    18911819   } 
    18921820   else if Ebene = 6 
     
    19561884   if Ebene = 1 
    19571885   {  
    1958       if (PriorDeadKey = "t5")       ; Schr�gstrich 
     1886      if (PriorDeadKey = "t4")       ; Schr�gstrich 
    19591887         BSSendUnicodeChar(0x0142) 
    19601888      else if (PriorDeadKey = "a1")      ; akut  
     
    19641892      else if (PriorDeadKey = "a3")    ; cedilla 
    19651893         BSSendUnicodeChar(0x013C) 
    1966       else if (PriorDeadKey = "c5")  ; Mittenpunkt 
     1894      else if (PriorDeadKey = "c4")  ; Mittenpunkt 
    19671895         BSSendUnicodeChar(0x0140) 
    19681896      else if (PriorDeadKey = "c6") ; punkt darunter  
     
    19831911      else if (PriorDeadKey = "a3")    ; cedilla 
    19841912         BSSendUnicodeChar(0x013B) 
    1985       else if (PriorDeadKey = "t5")  ; Schr�gstrich  
     1913      else if (PriorDeadKey = "t4")  ; Schr�gstrich  
    19861914         BSSendUnicodeChar(0x0141) 
    1987       else if (PriorDeadKey = "c5")  ; Mittenpunkt  
     1915      else if (PriorDeadKey = "c4")  ; Mittenpunkt  
    19881916         BSSendUnicodeChar(0x013F) 
    19891917      else if (PriorDeadKey = "c6") ; punkt darunter  
     
    20311959      else if (PriorDeadKey = "a3")    ; cedilla 
    20321960         BSSendUnicodeChar(0x00E7) 
    2033       else if (PriorDeadKey = "a5")  ; punkt dar�ber  
     1961      else if (PriorDeadKey = "a4")  ; punkt dar�ber  
    20341962         BSSendUnicodeChar(0x010B) 
    20351963      else if ( (CompKey = "o_small") or (CompKey = "o_capital") ) 
     
    20541982      else if (PriorDeadKey = "a3")   ; cedilla  
    20551983         BSSendUnicodeChar(0x00E6) 
    2056       else if (PriorDeadKey = "a5") ; punkt dar�ber  
     1984      else if (PriorDeadKey = "a4") ; punkt dar�ber  
    20571985         BSSendUnicodeChar(0x010A) 
    20581986      else if ( (CompKey = "o_small") or (CompKey = "o_capital") ) 
     
    21582086      if (PriorDeadKey = "c1")           ; circumflex 
    21592087         BSSendUnicodeChar(0x0125) 
    2160       else if (PriorDeadKey = "c4")   ; Querstrich  
     2088      else if (PriorDeadKey = "c5")   ; Querstrich  
    21612089         BSSendUnicodeChar(0x0127) 
    2162       else if (PriorDeadKey = "a5")  ; punkt dar�ber  
     2090      else if (PriorDeadKey = "a4")  ; punkt dar�ber  
    21632091         BSSendUnicodeChar(0x1E23) 
    21642092      else if (PriorDeadKey = "c6") ; punkt darunter  
     
    21702098      if (PriorDeadKey = "c1")           ; circumflex 
    21712099         BSSendUnicodeChar(0x0124) 
    2172       else if (PriorDeadKey = "c4")   ; Querstrich 
     2100      else if (PriorDeadKey = "c5")   ; Querstrich 
    21732101         BSSendUnicodeChar(0x0126) 
    2174       else if (PriorDeadKey = "a5")  ; punkt dar�ber  
     2102      else if (PriorDeadKey = "a4")  ; punkt dar�ber  
    21752103         BSSendUnicodeChar(0x1E22) 
    21762104      else if (PriorDeadKey = "c6") ; punkt darunter  
     
    21802108   else if Ebene = 3 
    21812109   { 
    2182       if (PriorDeadKey = "c4")    ; Querstrich 
     2110      if (PriorDeadKey = "c5")    ; Querstrich 
    21832111         BSSendUnicodeChar(0x2264) ; kleiner gleich 
    21842112      else 
     
    21892117      if (PriorDeadKey = "c1")            ; circumflex 
    21902118         BSSendUnicodeChar(0x2077) 
    2191       else if (PriorDeadKey = "c4")       ; toter - 
     2119      else if (PriorDeadKey = "c5")       ; toter - 
    21922120         BSSendUnicodeChar(0x2087) 
    21932121      else 
     
    22112139      else if (PriorDeadKey = "a3")   ; cedilla 
    22122140         BSSendUnicodeChar(0x0123) 
    2213       else if (PriorDeadKey = "a5") ; punkt dar�ber  
     2141      else if (PriorDeadKey = "a4") ; punkt dar�ber  
    22142142         BSSendUnicodeChar(0x0121) 
    22152143      else sendinput {blind}g 
     
    22232151      else if (PriorDeadKey = "a3")    ; cedilla  
    22242152         BSSendUnicodeChar(0x0122) 
    2225       else if (PriorDeadKey = "a5")  ; punkt dar�ber  
     2153      else if (PriorDeadKey = "a4")  ; punkt dar�ber  
    22262154         BSSendUnicodeChar(0x0120) 
    22272155      else sendinput {blind}G 
     
    22292157   else if Ebene = 3 
    22302158   { 
    2231       if (PriorDeadKey = "c4")    ; Querstrich 
     2159      if (PriorDeadKey = "c5")    ; Querstrich 
    22322160         SendUnicodeChar(0x2265) ; gr��er gleich 
    22332161      else 
     
    22382166      if (PriorDeadKey = "c1")            ; circumflex 
    22392167         BSSendUnicodeChar(0x2078) 
    2240       else if (PriorDeadKey = "c4")       ; toter - 
     2168      else if (PriorDeadKey = "c5")       ; toter - 
    22412169         BSSendUnicodeChar(0x2088) 
    22422170      else 
     
    22542182   if Ebene = 1 
    22552183   { 
    2256       if (PriorDeadKey = "t5")      ; durchgestrichen 
     2184      if (PriorDeadKey = "t4")      ; durchgestrichen 
    22572185         BSSendUnicodeChar(0x0192) 
    2258       else if (PriorDeadKey = "a5") ; punkt dar�ber  
     2186      else if (PriorDeadKey = "a4") ; punkt dar�ber  
    22592187         BSSendUnicodeChar(0x1E1F) 
    22602188      else sendinput {blind}f 
     
    22622190   else if Ebene = 2 
    22632191   { 
    2264       if (PriorDeadKey = "t5")       ; durchgestrichen 
     2192      if (PriorDeadKey = "t4")       ; durchgestrichen 
    22652193         BSSendUnicodeChar(0x0191) 
    2266       else if (PriorDeadKey = "a5")  ; punkt dar�ber  
     2194      else if (PriorDeadKey = "a4")  ; punkt dar�ber  
    22672195         BSSendUnicodeChar(0x1E1E) 
    22682196      else sendinput {blind}F 
     
    22742202      else if (PriorDeadKey = "t1")       ; tilde  
    22752203         BSSendUnicodeChar(0x2245)   ; ungef�hr gleich 
    2276       else if (PriorDeadKey = "t5")       ; Schr�gstrich  
     2204      else if (PriorDeadKey = "t4")       ; Schr�gstrich  
    22772205         BSSendUnicodeChar(0x2260)   ; ungleich 
    2278       else if (PriorDeadKey = "c4")       ; Querstrich 
     2206      else if (PriorDeadKey = "c5")       ; Querstrich 
    22792207         BSSendUnicodeChar(0x2261)   ; identisch 
    22802208      else if (PriorDeadKey = "c2")       ; caron  
     
    22892217      if (PriorDeadKey = "c1")            ; circumflex 
    22902218         BSSendUnicodeChar(0x2079) 
    2291       else if (PriorDeadKey = "c4")       ; toter - 
     2219      else if (PriorDeadKey = "c5")       ; toter - 
    22922220         BSSendUnicodeChar(0x2089) 
    22932221      else 
     
    23132241      if (PriorDeadKey = "c1")            ; circumflex 
    23142242         BSSendUnicodeChar(0x207A) 
    2315       else if (PriorDeadKey = "c4")       ; toter - 
     2243      else if (PriorDeadKey = "c5")       ; toter - 
    23162244         BSSendUnicodeChar(0x208A) 
    23172245      else 
     
    23882316   else if Ebene = 3 
    23892317   { 
    2390       SendUnicodeChar(0x00A8)  ; Diaerese 
     2318      SendUnicodeChar(0x00A8)  ; diaerese 
    23912319      PriorDeadKey := "t3" 
    23922320   } 
     
    23942322   { 
    23952323      SendUnicodeChar(0x002F)  ; Schr�gstrich, tot 
     2324      PriorDeadKey := "t4" 
     2325   } 
     2326   else if Ebene = 5 
     2327   { 
     2328      sendUnicodeChar(0x02DD)  ;doppelakut 
    23962329      PriorDeadKey := "t5" 
    2397    } 
    2398    else if Ebene = 5 
    2399    { 
    2400       sendUnicodeChar(0x02DD)  ;doppelakut 
    2401       PriorDeadKey := "t4" 
    24022330   } 
    24032331   else if Ebene = 6 
     
    24252353      else if (PriorDeadKey = "a2")  ; grave 
    24262354         BSSendUnicodeChar(0x00F9) 
    2427       else if (PriorDeadKey = "t3")  ; Diaerese 
     2355      else if (PriorDeadKey = "t3")  ; diaerese 
    24282356         Send, {bs}� 
    2429       else if (PriorDeadKey = "t4")  ; doppelakut  
     2357      else if (PriorDeadKey = "t5")  ; doppelakut  
    24302358         BSSendUnicodeChar(0x0171) 
    24312359      else if (PriorDeadKey = "c3")  ; brevis 
     
    24332361      else if (PriorDeadKey = "t2")  ; macron 
    24342362         BSSendUnicodeChar(0x016B) 
    2435       else if (PriorDeadKey = "a4")  ; ogonek 
     2363      else if (PriorDeadKey = "a5")  ; ogonek 
    24362364         BSSendUnicodeChar(0x0173) 
    24372365      else if (PriorDeadKey = "a6")  ; Ring 
     
    24522380      else if (PriorDeadKey = "a2")   ; grave 
    24532381         BSSendUnicodeChar(0x00D9) 
    2454       else if (PriorDeadKey = "t3")   ; Diaerese 
     2382      else if (PriorDeadKey = "t3")   ; diaerese 
    24552383         Send, {bs}� 
    24562384      else if (PriorDeadKey = "a6")   ; Ring 
     
    24582386      else if (PriorDeadKey = "c3")   ; brevis 
    24592387         BSSendUnicodeChar(0x016C) 
    2460       else if (PriorDeadKey = "t4")   ; doppelakut 
     2388      else if (PriorDeadKey = "t5")   ; doppelakut 
    24612389         BSSendUnicodeChar(0x0170) 
    24622390      else if (PriorDeadKey = "c2")   ; caron  
     
    24642392      else if (PriorDeadKey = "t2")   ; macron 
    24652393         BSSendUnicodeChar(0x016A) 
    2466       else if (PriorDeadKey = "a4")   ; ogonek 
     2394      else if (PriorDeadKey = "a5")   ; ogonek 
    24672395         BSSendUnicodeChar(0x0172) 
    24682396      else if (PriorDeadKey = "t1")   ; tilde 
     
    24922420      else if (PriorDeadKey = "a2")   ; grave 
    24932421         BSSendUnicodeChar(0x00EC) 
    2494       else if (PriorDeadKey = "t3")   ; Diaerese 
     2422      else if (PriorDeadKey = "t3")   ; diaerese 
    24952423         Send, {bs}� 
    2496       else if (PriorDeadKey = "t2")   ; macron 
     2424      else if (PriorDeadKey = "t2")   ; macron - defekt 
    24972425         BSSendUnicodeChar(0x012B) 
    24982426      else if (PriorDeadKey = "c3")   ; brevis 
    24992427         BSSendUnicodeChar(0x012D) 
    2500       else if (PriorDeadKey = "a5")   ; ogonek 
     2428      else if (PriorDeadKey = "a4")   ; ogonek 
    25012429         BSSendUnicodeChar(0x012F) 
    25022430      else if (PriorDeadKey = "t1")   ; tilde 
    25032431         BSSendUnicodeChar(0x0129) 
    2504       else if (PriorDeadKey = "a4")   ; punkt dar�ber  
     2432      else if (PriorDeadKey = "a5")   ; punkt dar�ber  
    25052433         BSSendUnicodeChar(0x0131) 
    25062434      else if (PriorDeadKey = "c2")   ; caron 
     
    25212449      else if (PriorDeadKey = "a2")   ; grave 
    25222450         BSSendUnicodeChar(0x00CC) 
    2523       else if (PriorDeadKey = "t3")   ; Diaerese 
     2451      else if (PriorDeadKey = "t3")   ; diaerese 
    25242452         Send, {bs}� 
    25252453      else if (PriorDeadKey = "t2")   ; macron 
     
    25272455      else if (PriorDeadKey = "c3")   ; brevis  
    25282456         BSSendUnicodeChar(0x012C) 
    2529       else if (PriorDeadKey = "a4")   ; ogonek 
     2457      else if (PriorDeadKey = "a5")   ; ogonek 
    25302458         BSSendUnicodeChar(0x012E) 
    25312459      else if (PriorDeadKey = "t1")   ; tilde 
    25322460         BSSendUnicodeChar(0x0128) 
    2533       else if (PriorDeadKey = "a5")   ; punkt dar�ber  
     2461      else if (PriorDeadKey = "a4")   ; punkt dar�ber  
    25342462         BSSendUnicodeChar(0x0130) 
    25352463      else if (PriorDeadKey = "c2")   ; caron 
     
    25752503      else if (PriorDeadKey = "a2")   ; grave 
    25762504         BSSendUnicodeChar(0x00E0) 
    2577       else if (PriorDeadKey = "t3")   ; Diaerese 
     2505      else if (PriorDeadKey = "t3")   ; diaerese 
    25782506         send {bs}� 
    25792507      else if (PriorDeadKey = "a6")   ; Ring  
     
    25812509      else if (PriorDeadKey = "t1")   ; tilde 
    25822510         BSSendUnicodeChar(0x00E3) 
    2583       else if (PriorDeadKey = "a4")   ; ogonek 
     2511      else if (PriorDeadKey = "a5")   ; ogonek 
    25842512         BSSendUnicodeChar(0x0105) 
    25852513      else if (PriorDeadKey = "t2")   ; macron 
     
    26042532      else if (PriorDeadKey = "a2")   ; grave 
    26052533         BSSendUnicodeChar(0x00C0) 
    2606       else if (PriorDeadKey = "t3")   ; Diaerese 
     2534      else if (PriorDeadKey = "t3")   ; diaerese 
    26072535         send {bs}� 
    26082536      else if (PriorDeadKey = "t1")   ; tilde 
     
    26142542      else if (PriorDeadKey = "c3")   ; brevis  
    26152543         BSSendUnicodeChar(0x0102) 
    2616       else if (PriorDeadKey = "a4")   ; ogonek 
     2544      else if (PriorDeadKey = "a5")   ; ogonek 
    26172545         BSSendUnicodeChar(0x0104) 
    26182546      else if (PriorDeadKey = "c2")   ; caron 
     
    26582586      else if (PriorDeadKey = "a2")   ; grave 
    26592587         BSSendUnicodeChar(0x00E8) 
    2660       else if (PriorDeadKey = "t3")   ; Diaerese 
     2588      else if (PriorDeadKey = "t3")   ; diaerese 
    26612589         Send, {bs}� 
    2662       else if (PriorDeadKey = "a4")   ; ogonek 
     2590      else if (PriorDeadKey = "a5")   ; ogonek 
    26632591         BSSendUnicodeChar(0x0119) 
    26642592      else if (PriorDeadKey = "t2")   ; macron 
    26652593         BSSendUnicodeChar(0x0113) 
    2666       else if (PriorDeadKey = "c3")   ; brevis 
     2594      else if (PriorDeadKey = "c3")   ; brevis - defekt 
    26672595         BSSendUnicodeChar(0x0115) 
    2668       else if (PriorDeadKey = "c2")   ; caron 
     2596      else if (PriorDeadKey = "c2")   ; caron - defekt 
    26692597         BSSendUnicodeChar(0x011B) 
    2670       else if (PriorDeadKey = "a5")   ; punkt dar�ber  
     2598      else if (PriorDeadKey = "a4")   ; punkt dar�ber  
    26712599         BSSendUnicodeChar(0x0117) 
    26722600      else if (CompKey = "a_small")   ; compose 
     
    26912619      else if (PriorDeadKey = "a2")   ; grave 
    26922620         BSSendUnicodeChar(0x00C8) 
    2693       else if (PriorDeadKey = "t3")   ; Diaerese 
     2621      else if (PriorDeadKey = "t3")   ; diaerese 
    26942622         Send, {bs}� 
    26952623      else if (PriorDeadKey = "c2")   ; caron 
     
    26992627      else if (PriorDeadKey = "c3")   ; brevis  
    27002628         BSSendUnicodeChar(0x0114) 
    2701       else if (PriorDeadKey = "a4")   ; ogonek  
     2629      else if (PriorDeadKey = "a5")   ; ogonek  
    27022630         BSSendUnicodeChar(0x0118) 
    2703       else if (PriorDeadKey = "a5")   ; punkt dar�ber  
     2631      else if (PriorDeadKey = "a4")   ; punkt dar�ber  
    27042632         BSSendUnicodeChar(0x0116) 
    27052633      else if (CompKey = "a_capital") ; compose 
     
    27372665      else if (PriorDeadKey = "a2")   ; grave 
    27382666         BSSendUnicodeChar(0x00F2) 
    2739       else if (PriorDeadKey = "t3")   ; Diaerese 
     2667      else if (PriorDeadKey = "t3")   ; diaerese 
    27402668         Send, {bs}� 
    27412669      else if (PriorDeadKey = "t1")   ; tilde 
    27422670         BSSendUnicodeChar(0x00F5) 
    2743       else if (PriorDeadKey = "t4")   ; doppelakut 
     2671      else if (PriorDeadKey = "t5")   ; doppelakut 
    27442672         BSSendUnicodeChar(0x0151) 
    2745       else if (PriorDeadKey = "t5")   ; Schr�gstrich 
     2673      else if (PriorDeadKey = "t4")   ; Schr�gstrich 
    27462674         BSSendUnicodeChar(0x00F8) 
    27472675      else if (PriorDeadKey = "t2")   ; macron 
     
    27492677      else if (PriorDeadKey = "c3")   ; brevis  
    27502678         BSSendUnicodeChar(0x014F) 
    2751       else if (PriorDeadKey = "a4")   ; ogonek 
     2679      else if (PriorDeadKey = "a5")   ; ogonek 
    27522680         BSSendUnicodeChar(0x01EB) 
    27532681      else if (PriorDeadKey = "c2")   ; caron 
     
    27682696      else if (PriorDeadKey = "a2")   ; grave 
    27692697         BSSendUnicodeChar(0x00D2) 
    2770       else if (PriorDeadKey = "t5")   ; Schr�gstrich 
     2698      else if (PriorDeadKey = "t4")   ; Schr�gstrich 
    27712699         BSSendUnicodeChar(0x00D8) 
    27722700      else if (PriorDeadKey = "t1")   ; tilde 
    27732701         BSSendUnicodeChar(0x00D5) 
    2774       else if (PriorDeadKey = "t4")   ; doppelakut 
     2702      else if (PriorDeadKey = "t5")   ; doppelakut 
    27752703         BSSendUnicodeChar(0x0150) 
    2776       else if (PriorDeadKey = "t3")   ; Diaerese 
     2704      else if (PriorDeadKey = "t3")   ; diaerese 
    27772705         send {bs}� 
    27782706      else if (PriorDeadKey = "t2")   ; macron  
     
    27802708      else if (PriorDeadKey = "c3")   ; brevis  
    27812709         BSSendUnicodeChar(0x014E) 
    2782       else if (PriorDeadKey = "a4")   ; ogonek 
     2710      else if (PriorDeadKey = "a5")   ; ogonek 
    27832711         BSSendUnicodeChar(0x01EA) 
    27842712      else if (PriorDeadKey = "c2")   ; caron 
     
    28262754      else if (PriorDeadKey = "a3") ; cedilla 
    28272755         BSSendUnicodeChar(0x015F) 
    2828       else if (PriorDeadKey = "a5") ; punkt dar�ber  
     2756      else if (PriorDeadKey = "a4") ; punkt dar�ber  
    28292757         BSSendUnicodeChar(0x1E61) 
    28302758      else if (PriorDeadKey = "c6") ; punkt darunter  
     
    28572785      else if (PriorDeadKey = "a3") ; cedilla  
    28582786         BSSendUnicodeChar(0x015E) 
    2859       else if (PriorDeadKey = "a5") ; punkt dar�ber  
     2787      else if (PriorDeadKey = "a4") ; punkt dar�ber  
    28602788         BSSendUnicodeChar(0x1E60) 
    28612789      else if (PriorDeadKey = "c6") ; punkt darunter  
     
    29082836      else if (PriorDeadKey = "a3")   ; cedilla 
    29092837         BSSendUnicodeChar(0x0146) 
    2910       else if (PriorDeadKey = "a5") ; punkt dar�ber  
     2838      else if (PriorDeadKey = "a4") ; punkt dar�ber  
    29112839         BSSendUnicodeChar(0x1E45) 
    29122840      else 
     
    29232851      else if (PriorDeadKey = "a3")   ; cedilla  
    29242852         BSSendUnicodeChar(0x0145) 
    2925       else if (PriorDeadKey = "a5") ; punkt dar�ber  
     2853      else if (PriorDeadKey = "a4") ; punkt dar�ber  
    29262854         BSSendUnicodeChar(0x1E44) 
    29272855      else 
     
    29342862      if (PriorDeadKey = "c1")            ; circumflex 
    29352863         BSSendUnicodeChar(0x2074) 
    2936       else if (PriorDeadKey = "c4")       ; toter - 
     2864      else if (PriorDeadKey = "c5")       ; toter - 
    29372865         BSSendUnicodeChar(0x2084) 
    29382866      else 
     
    29562884      else if (PriorDeadKey = "a3")    ; cedilla 
    29572885         BSSendUnicodeChar(0x0157) 
    2958       else if (PriorDeadKey = "a5")  ; punkt dar�ber  
     2886      else if (PriorDeadKey = "a4")  ; punkt dar�ber  
    29592887         BSSendUnicodeChar(0x0E59) 
    29602888      else if (PriorDeadKey = "c6") ; punkt darunter  
     
    29752903      else if (PriorDeadKey = "a3")    ; cedilla  
    29762904         BSSendUnicodeChar(0x0156) 
    2977       else if (PriorDeadKey = "a5")  ; punkt dar�ber  
     2905      else if (PriorDeadKey = "a4")  ; punkt dar�ber  
    29782906         BSSendUnicodeChar(0x1E58) 
    29792907      else if (PriorDeadKey = "c6") ; punkt darunter  
     
    29952923      if (PriorDeadKey = "c1")            ; circumflex 
    29962924         BSSendUnicodeChar(0x2075) 
    2997       else if (PriorDeadKey = "c4")       ; toter - 
     2925      else if (PriorDeadKey = "c5")       ; toter - 
    29982926         BSSendUnicodeChar(0x2085) 
    29992927      else 
     
    30222950        else if (PriorDeadKey = "a3")    ; cedilla 
    30232951           BSSendUnicodeChar(0x0163) 
    3024         else if (PriorDeadKey = "c4")   ; Querstrich 
     2952        else if (PriorDeadKey = "c5")   ; Querstrich 
    30252953           BSSendUnicodeChar(0x0167) 
    3026         else if (PriorDeadKey = "a5")  ; punkt dar�ber  
     2954        else if (PriorDeadKey = "a4")  ; punkt dar�ber  
    30272955           BSSendUnicodeChar(0x1E6B) 
    30282956        else if (PriorDeadKey = "c6") ; punkt darunter  
     
    30412969        else if (PriorDeadKey = "a3")    ; cedilla  
    30422970           BSSendUnicodeChar(0x0162) 
    3043         else if (PriorDeadKey = "c4")   ; Querstrich 
     2971        else if (PriorDeadKey = "c5")   ; Querstrich 
    30442972           BSSendUnicodeChar(0x0166) 
    3045         else if (PriorDeadKey = "a5")  ; punkt dar�ber  
     2973        else if (PriorDeadKey = "a4")  ; punkt dar�ber  
    30462974           BSSendUnicodeChar(0x1E6A) 
    30472975        else if (PriorDeadKey = "c6") ; punkt darunter  
     
    30632991        if (PriorDeadKey = "c1")            ; circumflex 
    30642992           BSSendUnicodeChar(0x2076) 
    3065         else if (PriorDeadKey = "c4")       ; toter - 
     2993        else if (PriorDeadKey = "c5")       ; toter - 
    30662994           BSSendUnicodeChar(0x2086) 
    30672995        else 
     
    30863014   if Ebene = 1 
    30873015   { 
    3088       if (PriorDeadKey = "c4")        ; Querstrich 
     3016      if (PriorDeadKey = "c5")        ; Querstrich 
    30893017         BSSendUnicodeChar(0x0111) 
    3090       else if (PriorDeadKey = "t5")  ; Schr�gstrich 
     3018      else if (PriorDeadKey = "t4")  ; Schr�gstrich 
    30913019         BSSendUnicodeChar(0x00F0) 
    30923020      else if (PriorDeadKey = "c2")     ; caron 
    30933021         BSSendUnicodeChar(0x010F) 
    3094       else if (PriorDeadKey = "a5")  ; punkt dar�ber  
     3022      else if (PriorDeadKey = "a4")  ; punkt dar�ber  
    30953023         BSSendUnicodeChar(0x1E0B) 
    30963024      else if (PriorDeadKey = "c6") ; punkt darunter  
     
    31013029   else if Ebene = 2 
    31023030   { 
    3103       if (PriorDeadKey = "c4")        ; Querstrich 
     3031      if (PriorDeadKey = "c5")        ; Querstrich 
    31043032         BSSendUnicodeChar(0x0110) 
    3105       else if (PriorDeadKey = "t5")  ; Schr�gstrich 
     3033      else if (PriorDeadKey = "t4")  ; Schr�gstrich 
    31063034         BSSendUnicodeChar(0x00D0) 
    31073035      else if (PriorDeadKey = "c2")     ; caron  
    31083036         BSSendUnicodeChar(0x010E) 
    3109       else if (PriorDeadKey = "a5")  ; punkt dar�ber  
     3037      else if (PriorDeadKey = "a4")  ; punkt dar�ber  
    31103038         BSSendUnicodeChar(0x1E0A) 
    31113039      else if (PriorDeadKey = "c6") ; punkt darunter  
     
    31283056   if Ebene = 1 
    31293057   { 
    3130       if (PriorDeadKey = "t3")       ; Diaerese 
     3058      if (PriorDeadKey = "t3")       ; diaerese 
    31313059         Send {bs}� 
    31323060      else if (PriorDeadKey = "a1")      ; akut  
     
    31413069      if (PriorDeadKey = "a1")           ; akut  
    31423070         BSSendUnicodeChar(0x00DD) 
    3143       else if (PriorDeadKey = "t3")    ; Diaerese 
     3071      else if (PriorDeadKey = "t3")    ; diaerese 
    31443072         Send {bs}� 
    31453073      else if (PriorDeadKey = "c1")      ; circumflex 
     
    32683196   if Ebene = 1 
    32693197   { 
    3270       if (PriorDeadKey = "a5")      ; punkt dar�ber  
     3198      if (PriorDeadKey = "a4")      ; punkt dar�ber  
    32713199         BSSendUnicodeChar(0x1E57) 
    32723200      else 
     
    32753203   else if Ebene = 2 
    32763204   { 
    3277       if (PriorDeadKey = "a5")      ; punkt dar�ber  
     3205      if (PriorDeadKey = "a4")      ; punkt dar�ber  
    32783206         BSSendUnicodeChar(0x1E56) 
    32793207      else  
     
    33043232      else if (PriorDeadKey = "a1")     ; akut 
    33053233         BSSendUnicodeChar(0x017A) 
    3306       else if (PriorDeadKey = "a5") ; punkt dr�ber 
     3234      else if (PriorDeadKey = "a4") ; punkt dr�ber 
    33073235         BSSendUnicodeChar(0x017C) 
    33083236      else if (PriorDeadKey = "c6") ; punkt drunter 
     
    33173245      else if (PriorDeadKey = "a1")     ; akut  
    33183246         BSSendUnicodeChar(0x0179) 
    3319       else if (PriorDeadKey = "a5") ; punkt dar�ber  
     3247      else if (PriorDeadKey = "a4") ; punkt dar�ber  
    33203248         BSSendUnicodeChar(0x017B) 
    33213249      else if (PriorDeadKey = "c6") ; punkt drunter 
     
    33393267   if Ebene = 1 
    33403268   { 
    3341       if (PriorDeadKey = "a5")      ; punkt dar�ber  
     3269      if (PriorDeadKey = "a4")      ; punkt dar�ber  
    33423270         BSSendUnicodeChar(0x1E03) 
    33433271      else  
     
    33463274   else if Ebene = 2 
    33473275   { 
    3348       if (PriorDeadKey = "a5")       ; punkt dar�ber  
     3276      if (PriorDeadKey = "a4")       ; punkt dar�ber  
    33493277         BSSendUnicodeChar(0x1E02) 
    33503278      else  
     
    33663294   if Ebene = 1 
    33673295   { 
    3368       if (PriorDeadKey = "a5")       ; punkt dar�ber  
     3296      if (PriorDeadKey = "a4")       ; punkt dar�ber  
    33693297         BSSendUnicodeChar(0x1E41) 
    33703298      else if (PriorDeadKey = "c6") ; punkt darunter  
     
    33793307   else if Ebene = 2 
    33803308   { 
    3381       if (PriorDeadKey = "a5")       ; punkt dar�ber  
     3309      if (PriorDeadKey = "a4")       ; punkt dar�ber  
    33823310         BSSendUnicodeChar(0x1E40) 
    33833311      else if (PriorDeadKey = "c6") ; punkt darunter  
     
    33963324      if (PriorDeadKey = "c1")            ; circumflex 
    33973325         BSSendUnicodeChar(0x00B9) 
    3398       else if (PriorDeadKey = "c4")       ; toter - 
     3326      else if (PriorDeadKey = "c5")       ; toter - 
    33993327         BSSendUnicodeChar(0x2081) 
    34003328      else 
     
    34373365      if (PriorDeadKey = "c1")            ; circumflex 
    34383366         BSSendUnicodeChar(0x00B2) 
    3439       else if (PriorDeadKey = "c4")       ; toter - 
     3367      else if (PriorDeadKey = "c5")       ; toter - 
    34403368         BSSendUnicodeChar(0x2082) 
    34413369      else 
     
    34773405      if (PriorDeadKey = "c1")            ; circumflex 
    34783406         BSSendUnicodeChar(0x00B3) 
    3479       else if (PriorDeadKey = "c4")       ; toter - 
     3407      else if (PriorDeadKey = "c5")       ; toter - 
    34803408         BSSendUnicodeChar(0x2083) 
    34813409      else 
     
    35663494      if (PriorDeadKey = "c1")          ; circumflex 
    35673495         BSSendUnicodeChar(0x207B) 
    3568       else if (PriorDeadKey = "c4")       ; toter - 
     3496      else if (PriorDeadKey = "c5")       ; toter - 
    35693497         BSSendUnicodeChar(0x208B)          
    35703498      else 
     
    35823510      if (PriorDeadKey = "c1")          ; circumflex 
    35833511         BSSendUnicodeChar(0x207A) 
    3584       else if (PriorDeadKey = "c4")       ; toter - 
     3512      else if (PriorDeadKey = "c5")       ; toter - 
    35853513         BSSendUnicodeChar(0x208A)          
    35863514      else 
     
    43334261        if (PriorDeadKey = "c1")            ; circumflex 
    43344262           BSSendUnicodeChar(0x2070) 
    4335         else if (PriorDeadKey = "c4")       ; toter - 
     4263        else if (PriorDeadKey = "c5")       ; toter - 
    43364264           BSSendUnicodeChar(0x2080) 
    43374265        else 
     
    43674295      if (PriorDeadKey = "c1")            ; circumflex 
    43684296         BSSendUnicodeChar(0x2070) 
    4369       else if (PriorDeadKey = "c4")       ; toter - 
     4297      else if (PriorDeadKey = "c5")       ; toter - 
    43704298         BSSendUnicodeChar(0x2080) 
    43714299      else 
     
    48244752} 
    48254753/* 
    4826 �ber den GDK-Workarround: 
     4754�ber den GDK-Workaround: 
    48274755Dieser basiert auf http://www.autohotkey.com/forum/topic32947.html 
    48284756 
     
    48404768{ 
    48414769   send {bs} 
    4842      SendUnicodeChar(charCode) 
     4770   SendUnicodeChar(charCode) 
    48434771} 
    48444772 
     
    48584786 
    48594787;Lang-s-Tastatur: 
    4860 { 
    4861 SC056 & *Esc:: 
     4788SC056 & *F11:: 
    48624789LangSTastatur := not(LangSTastatur) ; schaltet die Lang-s-Tastatur ein und aus 
    4863 ;if (LangSTastatur) SoundBeep ;auskommentieren, um Warnton zu erzeugen 
    4864 return 
    4865 } 
    4866  
    4867  
    4868  
     4790return 
    48694791 
    48704792/*