| 1 | /************************************ |
|---|
| 2 | * NEO 2.0 (beta) AutoHotkey-Treiber * |
|---|
| 3 | ************************************* |
|---|
| 4 | |
|---|
| 5 | Autoren: |
|---|
| 6 | Stefan Mayer <stm (at) neo-layout. o r g> |
|---|
| 7 | Nora Gei�ler <nora_geissler (at) yahoo. d e> |
|---|
| 8 | Matthias Berg <neo (at) matthias-berg. e u> |
|---|
| 9 | Martin Roppelt <m.p.roppelt (at) web. d e> |
|---|
| 10 | Dennis Heidsiek <HeidsiekB (at) aol. c o m> |
|---|
| 11 | Matthias W�chter <matthias (at) waechter.wiz. a t> |
|---|
| 12 | ... |
|---|
| 13 | |
|---|
| 14 | ********* |
|---|
| 15 | * TODO: * |
|---|
| 16 | ********* |
|---|
| 17 | - Compose vollst�ndig implementieren (Welche Methode ist hierzu am besten geeignet?). |
|---|
| 18 | - Ausgiebig testen... (besonders Vollst�ndigkeit bei Deadkeys). |
|---|
| 19 | - Bessere L�sung f�r das Leeren von PriorDeadKey finden, damit die Sondertasten nicht mehr abgefangen werden m�ssen. |
|---|
| 20 | - Testen, ob die Capslockl�sung (siehe *1:: Ebene 1) auch f�r Numpad gebraucht wird. |
|---|
| 21 | - Die Ebenen vom Tastenblock an die neue Referenz anpassen (wenn da ein Konsens gefunden wurde). |
|---|
| 22 | - Blinde Compose implementieren. |
|---|
| 23 | |
|---|
| 24 | ********** |
|---|
| 25 | * IDEEN: * |
|---|
| 26 | ********** |
|---|
| 27 | - Die Varianten (lernModus, einHandNeo, Lang-s-Tastatur, Qwertz/pausieren) sollten einheitlich (de-)aktiviert werden, etwa �ber M4+F9-F12. |
|---|
| 28 | - Modi f�r vertauschte Ziffern in der Zahlenreihe und auf der 4. Ebene. |
|---|
| 29 | |
|---|
| 30 | ****************** |
|---|
| 31 | * CHANGEHISTORY: * |
|---|
| 32 | ****************** |
|---|
| 33 | |
|---|
| 34 | Revision 749 (von Dennis Heidsiek) |
|---|
| 35 | - �?� und ��� funktionieren wieder (Klammer vergessen). |
|---|
| 36 | Revision 748 (von Dennis Heidsiek) |
|---|
| 37 | - Neue globale Variable �zeigeLockBoxen�: Soll mit MsgBoxen explizit auf das Ein- und Ausschalten des Mod{3,4}-Locks hingewiesen werden? |
|---|
| 38 | Revision 746 (von Martin Roppelt) |
|---|
| 39 | - Zur�cksetzen der Tastatur �ber M4+Esc. |
|---|
| 40 | - #[2] sendet nicht mehr �'�. |
|---|
| 41 | - Variablen Ebene7 und Ebene8 zum Abfragen eingef�hrt. |
|---|
| 42 | - s(12)[2s]-Bug von Matthias W�chter behoben (= Lang-s-Tastatur repariert). |
|---|
| 43 | Revision 744 (von Stefan Mayer) |
|---|
| 44 | - Ebene4-Ziffernblock: auf neo_d nun Komma (wie Referenz), "NumPadKomma" gibt es nicht. |
|---|
| 45 | Revision 743 (von Matthias W�chter) |
|---|
| 46 | - Ebene4-Ziffernblock: NumPadAdd und NumPadSub korrigiert. |
|---|
| 47 | Revision 740 (von Matthias W�chter) - "Mega-Patch" |
|---|
| 48 | - Straffung der Syntax bei der Abfrage der Ebenen und der Behandlung der toten Tasten und der Compose. |
|---|
| 49 | - Umstellung auf Virtual-Key-Scancodes, umgeht den AHK-Bug, dass Scancodemarken durch SendUnicodeChar angesprungen werden. |
|---|
| 50 | - Die Scancodes f�r das Numpad (jeweils f�r ein- und ausgeschaltetes NumLock) haben jetzt paarweise Sprungmarken um die Tastenbehandlung untereinander konsistent zu halten. |
|---|
| 51 | - Wiederherstellung der Modifier-Locks. |
|---|
| 52 | - Reparatur der Bildschirmtastatur in der All.ahk. |
|---|
| 53 | - Modifier werder seltener und nur noch innerhalb der Sprungmarken abgefragt. |
|---|
| 54 | - Blinde tote Tasten auf M4+F9 (Toggle) |
|---|
| 55 | - Blinde Compose auf M4+F10 (Toggle) (noch nicht implementiert). |
|---|
| 56 | Revision 728 (von Dennis Heidsiek): |
|---|
| 57 | - Ist die Datei %APPDATA%\NEO2\NEO2.ini vorhanden, werden dort eventuell vorhandene Werte f�r die Globalen Schalter beim Start �bernommen. |
|---|
| 58 | - �LangSTastaturStandardm��igEingeschaltet.ahk� wird nicht mehr unterst�tzt, weil sonst immer neu kompiliert werden muss. |
|---|
| 59 | Revision 707 (von Dennis Heidsiek): |
|---|
| 60 | - Die Resourcen-Dateien (PNGs, ICOs) werden nun nach %TEMP%\NEO2\ extrahiert und nicht mehr in das Verzeichnis, in dem sich die EXE befindet. |
|---|
| 61 | - Die doppelten franz�sischen Anf�hrungszeichen werden nun ebenfalls �ber SendUnicodeChar gesendet. |
|---|
| 62 | Revision 694 (von Martin Roppelt): |
|---|
| 63 | - LangSTastatur auf M4+F11. |
|---|
| 64 | - Entwickler k�nnen durch das Erstellen einer Datei �LangSTastaturStandardm��igEingeschaltet.ahk� mit dem Inhalt �LangSTastatur := 1� diese standardm��ig aktivieren. |
|---|
| 65 | - Interne Darstellung der Ebenen (4 und 5 bei den toton Tasten wieder richtig getauscht. |
|---|
| 66 | Revision 687 (von Dennis Heidsiek): |
|---|
| 67 | - Die SendUnicodeChar-Methode um den GDK-Workarround von Matthias W�chter erg�nzt. |
|---|
| 68 | - (An/Aus) Icons an Favicon der neuen Homepage angepasst. |
|---|
| 69 | Revision 645 (von Martin Roppelt): |
|---|
| 70 | - Ellipse zus�tzlich auf M3+x. |
|---|
| 71 | - Lang-s-Tastatur probeweise auf M4+Esc. |
|---|
| 72 | Revision 640 (von Dennis Heidsiek): |
|---|
| 73 | - Der untote Zirkumflex (^) auf Ebene 3 funktioniert jetzt auch in Java-Programmen. |
|---|
| 74 | Revision 639 (von Martin Roppelt): |
|---|
| 75 | - Lang-s-Tastatur kann nicht mehr durch einen Hotkey aktiviert werden. |
|---|
| 76 | Revision 629 (von Martin Roppelt): |
|---|
| 77 | - Spitze Klammern (bra und ket) auf M5+8/9. |
|---|
| 78 | Revision 624 (von Martin Roppelt): |
|---|
| 79 | - Lang-s-Tastatur (ein- und auszuschalten durch Mod4+�). |
|---|
| 80 | Revision 616 (von Dennis Heidsiek): |
|---|
| 81 | - Der nicht funktionierende Mod5-Lock-Fix wurde wieder entfernt, da er sogar neue Fehler produzierte. |
|---|
| 82 | Revision 615 (von Dennis Heidsiek): |
|---|
| 83 | - Erfolgloser Versuch, den Mod4-Lock wiederherzustellen (durch eine Tilde vor den Scancodes der Bildschirmtastatur). |
|---|
| 84 | - Rechtschreibfehler korrigiert. |
|---|
| 85 | - Zwei AHK-Links eingef�gt. |
|---|
| 86 | Revision 609 (von Dennis Heidsiek): |
|---|
| 87 | - Vorl�ufiger Abschluss der AHK-Modularisierung. |
|---|
| 88 | - 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. |
|---|
| 89 | Revision 608 (von Martin Roppelt): |
|---|
| 90 | - Rechtschreibfehler korrigiert und Dateinamen aktualisiert und sortiert. |
|---|
| 91 | Revision 590 (von Dennis Heidsiek): |
|---|
| 92 | - Erste technische Vorarbeiten zur logischen Modularisierung des viel zu lange gewordenen AHK-Quellcodes. |
|---|
| 93 | - Neue Batch-Datei Build-Update.bat zur einfachen Aktualisierung der EXE-Datei. |
|---|
| 94 | Revision 583 (von Dennis Heidsiek): |
|---|
| 95 | - Kleinere Korrekturen ((5)(3), (5)(5) und (9)(3) stimmen wieder mit der Referenz �berein). |
|---|
| 96 | Revision 580 (von Matthias Berg): |
|---|
| 97 | - Bildschirmtastatur jetzt mit Mod4+F* statt Strg+F*, dies deaktiviert jedoch leider den Mod4-Lock. |
|---|
| 98 | Revision 570 (von Matthias Berg): |
|---|
| 99 | - Hotkeys f�r einHandNeo und lernModus durch entsprechende ScanCodes ersetzt |
|---|
| 100 | Revision 568 (von Matthias Berg): |
|---|
| 101 | - Sonderzeichen, Umlaute, z und y durch ScanCodes ersetzt. |
|---|
| 102 | * jetzt wird auch bei eingestelltem US Layout Neo verwendet (z.B. f�r Chinesische InputMethodEditors). |
|---|
| 103 | * rechter Mod3 geht noch nicht bei US-Layout (weder ScanCode noch "\"). |
|---|
| 104 | Revision 567 (von Dennis Heidsiek): |
|---|
| 105 | - Aktivierter Mod4-Lock wird jetzt �ber die Rollen-LED des Keybord angezeigt (analog zu CapsLock), die Num-LED beh�lt ihr bisheriges Verhalten. |
|---|
| 106 | - Neue Option im Skript: UseMod4Light. |
|---|
| 107 | Revision 561 (von Matthias Berg): |
|---|
| 108 | - M4+Tab verh�lt sich jetzt wie das andere Tab dank "goto neo_tab". |
|---|
| 109 | Revision 560 (von Dennis Heidsiek): |
|---|
| 110 | - 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. |
|---|
| 111 | Revision 559 (von Matthias Berg): |
|---|
| 112 | - Shift+Alt+Tab Problem gel�st (muss noch mehr auf Nebeneffekte getestet werden). |
|---|
| 113 | Revision 558 (von Matthias Berg): |
|---|
| 114 | - Icon-Bug behoben |
|---|
| 115 | * Hotkeys d�rfen nicht vor der folgenden Zeile stehen: |
|---|
| 116 | "menu, tray, icon, neo.ico,,1" |
|---|
| 117 | - lernModus-Konfigurations-Bug behoben: or statt and(not). |
|---|
| 118 | - Ein paar leere Else-F�lle eingebaut (Verst�ndlichkeit, m�gliche Compilerprobleme vermeiden). |
|---|
| 119 | Revision 556 (von Matthias Berg): |
|---|
| 120 | - lernModus (an/aus mit Strg+Komma) |
|---|
| 121 | * im Skript konfigurierbar. |
|---|
| 122 | * Schaltet z.B. Qwertz Tasten aus, die es auf der 4. Ebene gibt (Return, Backspace,...). |
|---|
| 123 | * Kann auch Backspace und/oder Entfernen der 4. Ebene ausschalten (gut zum Lernen, richtig zu schreiben). |
|---|
| 124 | - Bug aufgetaucht: Icons werden nicht mehr angezeigt. |
|---|
| 125 | Revision 544 (von Stefan Mayer): |
|---|
| 126 | - ,.:; auf dem Mod4-Ziffernblock an die aktuelle Referenz angepasst. |
|---|
| 127 | - Versionen von rho, theta, kappa und phi an die aktuelle Referenz angepasst. |
|---|
| 128 | Revision 542 (von Matthias Berg): |
|---|
| 129 | - Bei EinHandNeo ist jetzt Space+y auch Mod4. |
|---|
| 130 | - AltGr-Bug hoffentlich wieder behoben. Diesmal mit extra altGrPressed Variable. |
|---|
| 131 | - nurEbenenFuenfUndSechs umbenannt in ahkTreiberKombi und auf Ebene 4 statt 5 und 6 ge�ndert. |
|---|
| 132 | Revision 540 (von Matthias Berg): |
|---|
| 133 | - Stark �berarbeitet um Wartbarkeit zu erh�hen und Redundanz zu verringern. |
|---|
| 134 | - nurEbenenFuenfUndSechs sollte nun auch auf Neo Treiber statt Qwertz laufen. |
|---|
| 135 | * aber es muss noch jemand testen. |
|---|
| 136 | * Problem: was kann man abfangen, wenn eine tote Taste gedr�ckt wird. |
|---|
| 137 | - einHandNeo: |
|---|
| 138 | * An-/Ausschalten mit Strg+Punkt. |
|---|
| 139 | * Buchstaben der rechten Hand werden mit Space zur linken Hand. |
|---|
| 140 | * Nebeneffekt: es gibt beim Festhalten von Space keine wiederholten Leerzeichen mehr. |
|---|
| 141 | Revision 532 (von Matthias Berg): |
|---|
| 142 | - BildschirmTastatur |
|---|
| 143 | * aktiviert mit Strg+F1 bis 7, schaltet Keyboard ein oder aus. |
|---|
| 144 | * Strg+F7 zeigt die zuletzt angezeigte Ebene an (und wieder aus). |
|---|
| 145 | * Strg+F8 schaltet AlwaysOnTop um. |
|---|
| 146 | Revision 529 (von Stefan Mayer): |
|---|
| 147 | - Icon wird automatisch geladen, falls .ico-Dateien im selbem Ordner. |
|---|
| 148 | - In der .exe sind die .ico mitgespeichert und werden geladen. |
|---|
| 149 | Revision 528 (von Matthias Berg): |
|---|
| 150 | - Neo-Icon. |
|---|
| 151 | - Neo-Prozess jetzt automatisch auf hoher Priorit�t (siehe globale Schalter). |
|---|
| 152 | - Mod3-Lock (nur wenn rechtes Mod3 zuerst gedr�ckt wird, andere L�sung f�hrte zum Caps-Bug). |
|---|
| 153 | - Mod4-Lock (nur wenn das linke Mod4 zuerst gedr�ckt wird, andere L�sung f�hrte zum AltGr-Bug). |
|---|
| 154 | - Ein paar falsche Zeichen korrigiert. |
|---|
| 155 | Revision 527 (von Matthias Berg): |
|---|
| 156 | - AltGr-Problem hoffentlich behoben. |
|---|
| 157 | - Umschalt+Mod4-Bug behoben. |
|---|
| 158 | Revision 526 (von Matthias Berg): |
|---|
| 159 | - Ebenen 1 bis 4 ausschalten per Umschalter siehe erste Codezeile nurEbenenFuenfUndSechs = 0. |
|---|
| 160 | - Mod4-Lock durch Mod4+Mod4. |
|---|
| 161 | - EbenenAktualisierung neu geschrieben. |
|---|
| 162 | - Ebene 6 �ber Mod3+Mod4. |
|---|
| 163 | - Ebenen (besonders Matheebene) an Referenz angepasst (allerdings kaum um Ebenen 1&2 gek�mmert, besonders Compose k�nnte noch �berholt werden). |
|---|
| 164 | Revision 525 (von Matthias Berg): |
|---|
| 165 | - Capslock bei Zahlen und Sonderzeichen ber�cksichtigt. |
|---|
| 166 | Revision 524 (von Matthias Berg): |
|---|
| 167 | - umgekehrtes ^ f�r o, a, �,i sowie f�r die grossen vokale ( 3. ton chinesisch). |
|---|
| 168 | � damit wird jetzt PinYin vollst�ndig unterst�tzt caron, macron, akut, grave auf uiaeo�. |
|---|
| 169 | - Sonderzeichen senden wieder blind -> Shortcuts funktionieren, Capslock ist leider Shiftlock. |
|---|
| 170 | Revision 523 (von Matthias Berg): |
|---|
| 171 | - CapsLock geht jetzt auch bei allen Zeichen ('send Zeichen' statt 'send {blind} Zeichen'). |
|---|
| 172 | - vertikale Ellipse eingebaut. |
|---|
| 173 | - Umschalt+Umschalt f�r Capslock statt Mod3+Mod3. |
|---|
| 174 | - bei Suspend wird jetzt wirklich togglesuspend aufgerufen (auch beim Aktivieren per shift+pause). |
|---|
| 175 | Revsion 490 (von Stefan Mayer): |
|---|
| 176 | - SUBSCRIPT von 0 bis 9 sowie (auf Ziffernblock) + und - |
|---|
| 177 | � auch bei Ziffernblock auf der 5. Ebene |
|---|
| 178 | - Kein Parsen �ber die Zwischenablage mehr. |
|---|
| 179 | - Vista-kompatibel. |
|---|
| 180 | - Compose-Taste |
|---|
| 181 | � Br�che (auf Zahlenreihe und Hardware-Ziffernblock). |
|---|
| 182 | � r�mische Zahlen. |
|---|
| 183 | � Ligaturen und Copyright. |
|---|
| 184 | */ |
|---|
| 185 | |
|---|