== NEO 2.0 (beta) AutoHotkey‐Treiber == === Autoren === Alle E‐Mail‐Adressen sind »kodiert«, um die Erfassung durch E‐Mail‐Spider (und darauf folgenden Spam) zu vermeiden: Stefan Mayer Nora Geißler Matthias Berg Martin Roppelt Dennis Heidsiek Matthias Wächter === To Do === ‐ Ausgiebig testen … (besonders Vollständigkeit bei Deadkeys). • Griechische Buchstaben ergänzen… ‐ Bessere Lösung für das Leeren von PriorDeadKey finden, damit die Sondertasten nicht mehr abgefangen werden müssen. ‐ Compose vollständig implementieren: Kombination mit Deadkeys. • ♫Tab ermöglichen. - Bildschirmtastatur in der All.ahk auch ohne vorherigen Aufruf der neo20.exe verfügbar machen. === Ideen und Vorschläge === ‐ Modi für vertauschte Ziffern in der Zahlenreihe und auf der 4. Ebene. === Änderungshistorie === Revision 1057 (von Martin Roppelt) - Bildschirmtastatur aktualisiert. Revision 1046 (von Martin Roppelt) - Anpassung an Referenz. Revision 1039 (von Dennis Heidsiek) - Lang-ſ-Modus wiederhergestellt (neo_s war defekt). Revision 1016 (von Martin Roppelt) - Tote Tasten fertig angepasst. Revision 993 (von Martin Roppelt) - Tote Tasten aktualisiert. Revision 953 (von Martin Roppelt) - 6-Ebenen-Ziffernblock eingepflegt. Revision 929 (von Martin Roppelt) - Compose.ahk aktualisiert. - mod4+y sendet jetzt »KP+.« statt wie bisher ein einfaches ».«. - mod4+return sendet jetzt »KP+return« (aka »enter«) statt wie bisher ein einfaches »return«. Revision 899 (von Dennis Heidsiek) - Build-Skript überarbeitet, sodass die Pfade zentral geändert werden können. Revision 897 (von Dennis Heidsiek) - Skript kompiliert wieder (alle .ahk-Dateien enden jetzt mit mindestens zwei Leezeilen) - Ein Überbleibsel aus dem Build-Skript entfernt (bezog sich noch auf den Compose-Playground). Revision 888 (von Martin Roppelt) - Cokos mit 4 Tasten möglich. - horizontalen Ellipsen-CompKey wiederhergestellt. Revision 886 (von Stefan Mayer) ‐ Ellipse (horizontal und vertikal) wiederhergestellt. Revision 873 (von Martin Roppelt) ‐ Tabulatoren entfernt. Revision 872 (von Martin Roppelt) ‐ Alle Cokos automatisch eingefügt. ‐ Compose-Playground gelöscht. ‐ Anpassung an die Referenz. Revision 864 (von Martin Roppelt) ‐ 253/2822 Cokos ≙ 9%. Revision 849 (von Martin Roppelt) ‐ Ticket 31: Shift+(Strg und/oder Alt)+Ziffer sendet nicht mehr (Strg und/oder Alt)+(Ebene 2 der Ziffer). Revision 846 (von Martin Roppelt) ‐ 233/1802 Cokos. Revision 845 (von Martin Roppelt) ‐ Alle Cokos in die Compose.ahk migriert (Stand: 200/1805 Cokos). Revision 842 (von Martin Roppelt) ‐ Ebenen 5+6 der Taste ›I‹ wiederhergestellt (Klammern vergessen). Revision 841 (von Martin Roppelt) ‐ Ebenen 2‐6 der 1er-Taste wiederhergestellt (Klammern vergessen). Revision 840 (von Martin Roppelt) ‐ Ein paar Bugs ausgebessert. ‐ Blinde Compose als Standard (unschöne Ausgabe bei Cokos mit drei Tasten aus der Compose.ahk). Revision 838 (von Martin Roppelt) ‐ Compose.ahk als zentralen Ort für Cokos geschaffen. ‐ Weitere Vorbereitungen zur Aufnahme weiterer Cokos. ‐ ›©‹ jetzt auch wieder mit großem ›o‹. Revision 833 (von Martin Roppelt) ‐ Cokos: ›‼‹, ›⁇‹ über ♫?2/♫!2. ‐ Blinde Compose jetzt auch bei SendUnicodeChar(). ‐ SendUnicodeChar belegt CompKey mit dem Argument. ‐ Nicht‐blinde Compose wiederhergestellt. ‐ Vorbereitungen zur Aufnahme weiterer Cokos. ‐ Begrenzung der (blinden) Compose auf 2 Zeichen, wenn keine Übereinstimmung mit Coko vorliegt. ‐ »ẗ« zu den Tokos hinzugefügt. ‐ "DeadKey :=" in die dead*‐Methoden verschoben. ‐ OutputChar in OutputChar12 umbenannt, OutputChar hat nur noch ein Argument. ‐ Code zusammengefasst, Formatierungen angepasst. Revisionen 827‐830 (von Martin Roppelt) ‐ 2 Achtelnoten (Composesymbol) auf 3(4). ‐ CapsLock‐Bug Ⅱ.: CapsLock funktionierte nicht mehr, wenn eine Taste gedrückt wurde, auf die CapsLock nicht wirkt (Ziffernreihe/‐block, Akzente, Punkt, Komma), da die Zeile »NoCaps = 0« in der isShiftPressed() nie ausgeführt wird. ‐ CapsLock‐Licht wird jetzt beim (Neu‐)Laden des Treibers ausgeschaltet. Revision 820 (von Martin Roppelt) ‐ Weitere Cokos ergänzt: ›Ə‹, ›dž‹, ›Dž‹, ›DŽ‹, glyphengleiche griechische Majuskeln. ‐ Echter Bindestich durch Shift+Mod3+Zirkumflex, Leertaste. Revision 815 (von Martin Roppelt) ‐ AHK um Verbindungszeichen bei doppelten toten Tasten ergänzt. ‐ Bei CapsLock, Mod3 und Shift wird jetzt ›+‹ statt ›*‹ gesendet. Revision 812 (von Martin Roppelt) ‐ Überflüssigen Code entfernt. ‐ Code gestrafft. Revision 810 (von Martin Roppelt) ‐ DeadCompose implementiert, uncomp…‐Methoden gelöscht, »return 0«‐Zeilen entfernt (wird sowieso gemacht). ‐ checkComp ausgebessert: »global« hatte gefehlt. • Damit wurde ›ſt‹ ermöglicht (war defekt). ‐ ahkTreiberKombi rausgeschmissen (war für den gelöschten msklc‐Treiber gedacht). ‐ Massenweise Formatierungen normalisiert. ‐ Zusätzliche Compose‐Aktivierung über Mod3+Mod3. ‐ Einhand‐ und Lernmodus wiederhergestellt. Revision 806 (von Dennis Heidsiek) ‐ Die automatisch erzeugte Datei neo20.ahk wird wieder um die SVN‐Keywords (Date, Author, Revision) ergänzt. Revision 804 (von Martin Roppelt) ‐ Formatierung vereinfacht und vereinheitlicht. ‐ Compose‐Ligaturen implementiert: ›fl‹, ›ffl‹(♫Fl), ›fi‹, ›ffi‹(♫Fi), ›ff‹, ›st‹, ›ſt‹. Revision 789 (von Martin Roppelt) ‐ NumLock‐Bug ausgebessert (NumLock konnte nach dem Beenden von Neo nicht mehr aktiviert werden). Revision 778 (von Martin Roppelt) ‐ CapsLock+Shift‐Fehler ausgebessert. Revision 777 (von Martin Roppelt) ‐ Syntaxfehler ausgebessert. Revision 776 (von Martin Roppelt) ‐ Modularisierung des AHK konsequent weitergeführt. ‐ Global‐Part.ahk, Keys‐Neo.ahk: ZeigeLockBoxen in ZeigeLockBox umbenannt. ‐ Keys‐Neo.ahk: Fehler ausgebessert, Quelltext neu ausgerichtet, Numpad an die Referenz angeglichen (Ebenen 2 und 4 vertauscht), Ebenen 7 und 8 ergänzt. ‐ Methods‐Layers.ahk: Mod3‐Lock abgeschafft, CapsLock neu geschrieben. Revision 749 (von Dennis Heidsiek) ‐ »?« und »¿« funktionieren wieder (Klammer vergessen). Revision 748 (von Dennis Heidsiek) ‐ Neue globale Variable »zeigeLockBoxen«: Soll mit MsgBoxen explizit auf das Ein‐ und Ausschalten des Mod{3,4}‐Locks hingewiesen werden? Revision 746 (von Martin Roppelt) ‐ Zurücksetzen der Tastatur über M4+Esc. ‐ #[2] sendet nicht mehr »'«. ‐ Variablen Ebene7 und Ebene8 zum Abfragen eingeführt. ‐ s(12)[2s]‐Bug von Matthias Wächter behoben (= Lang‐ſ‐Tastatur repariert). Revision 744 (von Stefan Mayer) ‐ Ebene4‐Ziffernblock: auf neo_d nun Komma (wie Referenz), »NumPadKomma« gibt es nicht. Revision 743 (von Matthias Wächter) ‐ Ebene4‐Ziffernblock: NumPadAdd und NumPadSub korrigiert. Revision 740 (von Matthias Wächter) – »Mega‐Patch« ‐ Straffung der Syntax bei der Abfrage der Ebenen und der Behandlung der toten Tasten und der Compose. ‐ Umstellung auf Virtual‐Key‐Scancodes; umgeht den AHK‐Bug, dass Scancodemarken durch SendUnicodeChar angesprungen werden. ‐ Die Scancodes für das Numpad (jeweils für ein‐ und ausgeschaltetes NumLock) haben jetzt paarweise Sprungmarken, um die Tastenbehandlung untereinander konsistent zu halten. ‐ Wiederherstellung der Modifier‐Locks. ‐ Reparatur der Bildschirmtastatur in der All.ahk. ‐ Modifier werder seltener und nur noch innerhalb der Sprungmarken abgefragt. ‐ Blinde tote Tasten auf M4+F9 (Toggle). ‐ Blinde Compose auf M4+F10 (Toggle) (noch nicht implementiert). Revision 728 (von Dennis Heidsiek): ‐ Ist die Datei »%APPDATA%\NEO2\NEO2.ini« vorhanden, werden dort eventuell vorhandene Werte für die Globalen Schalter beim Start übernommen. ‐ »LangSTastaturStandardmäßigEingeschaltet.ahk« wird nicht mehr unterstützt, weil sonst immer neu kompiliert werden muss. Revision 707 (von Dennis Heidsiek): ‐ Die Resourcen‐Dateien (PNGs, ICOs) werden nun nach »%TEMP%\NEO2\« extrahiert und nicht mehr in das Verzeichnis, in dem sich die EXE befindet. ‐ Die doppelten französischen Anführungszeichen werden nun ebenfalls über SendUnicodeChar gesendet. Revision 694 (von Martin Roppelt): ‐ Lang‐ſ‐Tastatur auf M4+F11. ‐ Entwickler können durch das Erstellen einer Datei »LangSTastaturStandardmäßigEingeschaltet.ahk« mit dem Inhalt »LangSTastatur := 1« diese standardmäßig aktivieren. ‐ Interne Darstellung der Ebenen (4 und 5 bei den toton Tasten wieder richtig getauscht. Revision 687 (von Dennis Heidsiek): ‐ Die SendUnicodeChar‐Methode um den GDK‐Workarround von Matthias Wächter ergänzt. ‐ (An/Aus) Icons an das Favicon der neuen Homepage angepasst. Revision 645 (von Martin Roppelt): ‐ Ellipse (…) zusätzlich auf M3+x. ‐ Lang‐ſ‐Tastatur probeweise auf M4+Esc. Revision 640 (von Dennis Heidsiek): ‐ Der untote Zirkumflex (^) auf Ebene 3 funktioniert jetzt auch in Java‐Programmen. Revision 639 (von Martin Roppelt): ‐ Lang‐ſ‐Tastatur kann nicht mehr durch einen Hotkey aktiviert werden. Revision 629 (von Martin Roppelt): ‐ Spitze Klammern (bra und ket) auf M5+8/9. Revision 624 (von Martin Roppelt): ‐ Lang‐ſ‐Tastatur (ein‐ und auszuschalten durch Mod4+ß) hinzugefügt: »s« wird zu »ſ«, »ß« wird zu »s« und »ſ« wird zu »ß«. Revision 616 (von Dennis Heidsiek): ‐ Der nicht funktionierende Mod5‐Lock‐Fix wurde wieder entfernt, da er sogar neue Fehler produzierte. Revision 615 (von Dennis Heidsiek): ‐ Erfolgloser Versuch, den Mod4‐Lock wiederherzustellen (durch eine Tilde vor den Scancodes der Bildschirmtastatur). ‐ Rechtschreibfehler korrigiert. ‐ Zwei AHK‐Links eingefügt. Revision 609 (von Dennis Heidsiek): ‐ Vorläufiger Abschluss der AHK‐Modularisierung. ‐ 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. Revision 608 (von Martin Roppelt): ‐ Rechtschreibfehler korrigiert und Dateinamen aktualisiert und sortiert. Revision 590 (von Dennis Heidsiek): ‐ Erste technische Vorarbeiten zur logischen Modularisierung des viel zu lange gewordenen AHK‐Quellcodes. ‐ Neue Batch‐Datei Build‐Update.bat zur einfachen Aktualisierung der EXE‐Datei. Revision 583 (von Dennis Heidsiek): ‐ Kleinere Korrekturen ((5)(3), (5)(5) und (9)(3) stimmen wieder mit der Referenz überein). Revision 580 (von Matthias Berg): ‐ Bildschirmtastatur jetzt mit Mod4+F* statt Strg+F*, dies deaktiviert jedoch leider den Mod4‐Lock. Revision 570 (von Matthias Berg): ‐ Hotkeys für einHandNeo und lernModus durch entsprechende ScanCodes ersetzt. Revision 568 (von Matthias Berg): ‐ Sonderzeichen, Umlaute, z und y durch ScanCodes ersetzt. • jetzt wird auch bei eingestelltem US Layout Neo verwendet (z.B. für Chinesische InputMethodEditors). • rechter Mod3 geht noch nicht bei US‐Layout (weder ScanCode noch »\«). Revision 567 (von Dennis Heidsiek): ‐ Aktivierter Mod4‐Lock wird jetzt über die Rollen‐LED des Keybord angezeigt (analog zu CapsLock), die Num‐LED behält ihr bisheriges Verhalten. ‐ Neue Option im Skript: UseMod4Light. Revision 561 (von Matthias Berg): ‐ M4+Tab verhält sich jetzt wie das andere Tab dank »goto neo_tab«. Revision 560 (von Dennis Heidsiek): ‐ 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. Revision 559 (von Matthias Berg): ‐ Shift+Alt+Tab Problem gelöst (muss noch mehr auf Nebeneffekte getestet werden). Revision 558 (von Matthias Berg): ‐ Icon‐Bug behoben • Hotkeys dürfen nicht vor der folgenden Zeile stehen: »menu, tray, icon, neo.ico,,1« ‐ lernModus‐Konfigurations‐Bug behoben: or statt and(not). ‐ Ein paar leere Else‐Fälle eingebaut (um die Verständlichkeit zu erhöhen und mögliche Compilerprobleme zu vermeiden). Revision 556 (von Matthias Berg): ‐ lernModus (an/aus mit Strg+Komma) • im Skript konfigurierbar. • Schaltet z.B. Qwertz Tasten aus, die es auf der 4. Ebene gibt (Return, Backspace, …). • Kann auch Backspace und/oder Entfernen der 4. Ebene ausschalten (gut zum Lernen, richtig zu schreiben). ‐ Bug aufgetaucht: Icons werden nicht mehr angezeigt. Revision 544 (von Stefan Mayer): ‐ »,.:;« auf dem Mod4‐Ziffernblock an die aktuelle Referenz angepasst. ‐ Versionen von rho, theta, kappa und phi an die aktuelle Referenz angepasst. Revision 542 (von Matthias Berg): ‐ Bei EinHandNeo ist jetzt Space+y auch Mod4. ‐ AltGr‐Bug hoffentlich wieder behoben. Diesmal mit extra altGrPressed Variable. ‐ nurEbenenFuenfUndSechs umbenannt in ahkTreiberKombi und auf Ebene 4 statt 5 und 6 geändert. Revision 540 (von Matthias Berg): ‐ Stark überarbeitet um Wartbarkeit zu erhöhen und Redundanz zu verringern. ‐ nurEbenenFuenfUndSechs sollte nun auch auf Neo Treiber statt Qwertz laufen. • aber es muss noch jemand testen. • Problem: was kann man abfangen, wenn eine tote Taste gedrückt wird. ‐ einHandNeo: • An‐/Ausschalten mit Strg+Punkt. • Buchstaben der rechten Hand werden mit Space zur linken Hand. • Nebeneffekt: es gibt beim Festhalten von Space keine wiederholten Leerzeichen mehr. Revision 532 (von Matthias Berg): ‐ BildschirmTastatur • aktiviert mit Strg+F1 bis 7, schaltet Keyboard ein oder aus. • Strg+F7 zeigt die zuletzt angezeigte Ebene an (und wieder aus). • Strg+F8 schaltet AlwaysOnTop um. Revision 529 (von Stefan Mayer): ‐ Icon wird automatisch geladen, falls .ico‐Dateien im selbem Ordner. ‐ In der .exe sind die .ico mitgespeichert und werden automatisch geladen. Revision 528 (von Matthias Berg): ‐ Neo‐Icon ersetzt das bisherige Autohotkey‐Standard‐Icon im Tray‐Bereich. ‐ Neo‐Prozess jetzt automatisch auf hoher Priorität (siehe globale Schalter). ‐ Mod3‐Lock (nur wenn rechtes Mod3 zuerst gedrückt wird, andere Lösung führte zum Caps‐Bug). ‐ Mod4‐Lock (nur wenn das linke Mod4 zuerst gedrückt wird, andere Lösung führte zum AltGr‐Bug). ‐ Ein paar falsche Zeichen korrigiert. Revision 527 (von Matthias Berg): ‐ AltGr‐Problem hoffentlich behoben. ‐ Umschalt+Mod4‐Bug behoben. Revision 526 (von Matthias Berg): ‐ Ebenen 1 bis 4 ausschalten per Umschalter siehe erste Codezeile nurEbenenFuenfUndSechs = 0. ‐ Mod4‐Lock durch Mod4+Mod4. ‐ EbenenAktualisierung neu geschrieben. ‐ Ebene 6 über Mod3+Mod4. ‐ Ebenen (besonders Matheebene) an Referenz angepasst (allerdings kaum um Ebenen 1&2 gekümmert, besonders Compose könnte noch überholt werden). Revision 525 (von Matthias Berg): ‐ Capslock bei Zahlen und Sonderzeichen berücksichtigt. Revision 524 (von Matthias Berg): ‐ umgekehrtes ^ für o, a, ü,i sowie für die großen vokale (3. Ton chinesisch). • damit wird jetzt PinYin vollständig unterstützt: caron, macron, akut, grave auf uiaeoü. ‐ Sonderzeichen senden wieder blind ‐> Shortcuts funktionieren, Capslock ist leider Shiftlock. Revision 523 (von Matthias Berg): ‐ CapsLock geht jetzt auch bei allen Zeichen (»send Zeichen« statt »send {blind} Zeichen«). ‐ vertikale Ellipse (⋮) eingebaut. ‐ Umschalt+Umschalt für Capslock statt Mod3+Mod3. ‐ bei Suspend wird jetzt wirklich togglesuspend aufgerufen (auch beim Aktivieren per shift+pause). Revsion 490 (von Stefan Mayer): ‐ SUBSCRIPT von 0 bis 9 sowie (auf Ziffernblock) + und ‐ • auch bei Ziffernblock auf der 5. Ebene ‐ Kein Parsen über die Zwischenablage mehr. ‐ Vista‐kompatibel. ‐ Compose‐Taste • Brüche (auf Zahlenreihe und Hardware‐Ziffernblock). • römische Zahlen. • Ligaturen und Copyright.