summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--windows/autohotkey/Changelog-and-Todo.txt246
-rw-r--r--windows/autohotkey/Source/Keys-Neo.ahk49
-rw-r--r--windows/autohotkey/neo20.ahk71
-rw-r--r--windows/autohotkey/neo20.exebin423847 -> 423973 bytes
4 files changed, 201 insertions, 165 deletions
diff --git a/windows/autohotkey/Changelog-and-Todo.txt b/windows/autohotkey/Changelog-and-Todo.txt
index 4968d87..c0bb0d4 100644
--- a/windows/autohotkey/Changelog-and-Todo.txt
+++ b/windows/autohotkey/Changelog-and-Todo.txt
@@ -1,205 +1,207 @@
-== NEO 2.0 (beta) AutoHotkey-Treiber ==
+== 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:
+Alle E‐Mail‐Adressen sind »kodiert«, um die Erfassung durch E‐Mail‐Spider (und darauf folgenden Spam) zu vermeiden:
-Stefan Mayer <stm (at) neo-layout. o r g>
+Stefan Mayer <stm (at) neo‐layout. o r g>
Nora Geißler <nora_geissler (at) yahoo. d e>
-Matthias Berg <neo (at) matthias-berg. e u>
+Matthias Berg <neo (at) matthias‐berg. e u>
Martin Roppelt <m.p.roppelt (at) web. d e>
Dennis Heidsiek <heidsiekb (at) aol. c o m>
Matthias Wächter <matthias (at) waechter.wiz. a t>
=== To Do ===
-- Ausgiebig testen … (besonders Vollständigkeit bei Deadkeys).
-- Compose vollständig implementieren (Welche Methode ist hierzu am besten geeignet?).
-- Bessere Lösung für das Leeren von PriorDeadKey finden, damit die Sondertasten nicht mehr abgefangen werden müssen.
+‐ Ausgiebig testen … (besonders Vollständigkeit bei Deadkeys).
+‐ Compose vollständig implementieren (Welche Methode ist hierzu am besten geeignet?).
+‐ Bessere Lösung für das Leeren von PriorDeadKey finden, damit die Sondertasten nicht mehr abgefangen werden müssen.
=== Ideen und Vorschläge ===
-- Die Compose-Kombinationen sollten automatisch aus den Referenzdateien im Compose-Verzeichnis erzeugt werden.
-- Modi für vertauschte Ziffern in der Zahlenreihe und auf der 4. Ebene.
-- Tote Zeichen durch Verbindungszeichen ersetzen, sie können in Abhängigkeit des vorigen Zeichens zusammengezogen werden. Alle Akzente sind an einer Stelle
+‐ Die Compose‐Kombinationen sollen automatisch aus den Referenzdateien im Compose‐Verzeichnis erzeugt werden.
+‐ Modi für vertauschte Ziffern in der Zahlenreihe und auf der 4. Ebene.
=== Änderungshistorie ===
+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.
+‐ 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.
+‐ Ü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.
+‐ 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.
+‐ 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.
+‐ 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‹.
+‐ 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).
+‐ NumLock‐Bug ausgebessert (NumLock konnte nach dem Beenden von Neo nicht mehr aktiviert werden).
Revision 778 (von Martin Roppelt)
-- CapsLock+Shift-Fehler ausgebessert.
+‐ CapsLock+Shift‐Fehler ausgebessert.
Revision 777 (von Martin Roppelt)
-- Syntaxfehler ausgebessert.
+‐ 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.
+‐ 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).
+‐ »?« 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?
+‐ 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).
+‐ 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.
+‐ 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).
+‐ 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.
+‐ 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.
+‐ 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.
+‐ 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.
+‐ 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.
+‐ 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.
+‐ 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.
+‐ Lang‐ſ‐Tastatur kann nicht mehr durch einen Hotkey aktiviert werden.
Revision 629 (von Martin Roppelt):
-- Spitze Klammern (bra und ket) auf M5+8/9.
+‐ 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 »ß«.
+‐ 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.
+‐ 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.
+‐ 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.
+‐ 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.
+‐ 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.
+‐ 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).
+‐ 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.
+‐ 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.
+‐ Hotkeys für einHandNeo und lernModus durch entsprechende ScanCodes ersetzt.
Revision 568 (von Matthias Berg):
-- Sonderzeichen, Umlaute, z und y durch ScanCodes ersetzt.
+‐ 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 »\«).
+ • 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.
+‐ 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«.
+‐ 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.
+‐ 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).
+‐ Shift+Alt+Tab Problem gelöst (muss noch mehr auf Nebeneffekte getestet werden).
Revision 558 (von Matthias Berg):
-- Icon-Bug behoben
+‐ 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).
+‐ 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)
+‐ 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.
+‐ 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.
+‐ »,.:;« 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.
+‐ 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.
+‐ 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.
+‐ 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
+‐ 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.
+‐ 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.
+‐ 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.
+‐ 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).
+‐ 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.
+‐ Capslock bei Zahlen und Sonderzeichen berücksichtigt.
Revision 524 (von Matthias Berg):
-- umgekehrtes ^ für o, a, ü,i sowie für die grossen vokale ( 3. ton chinesisch).
+‐ umgekehrtes ^ für o, a, ü,i sowie für die grossen 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.
+‐ 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).
+‐ 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 -
+‐ 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).
+‐ Kein Parsen über die Zwischenablage mehr.
+‐ Vista‐kompatibel.
+‐ Compose‐Taste
+ • Brüche (auf Zahlenreihe und Hardware‐Ziffernblock).
• römische Zahlen.
• Ligaturen und Copyright.
diff --git a/windows/autohotkey/Source/Keys-Neo.ahk b/windows/autohotkey/Source/Keys-Neo.ahk
index 8ab7509..61b2348 100644
--- a/windows/autohotkey/Source/Keys-Neo.ahk
+++ b/windows/autohotkey/Source/Keys-Neo.ahk
@@ -294,7 +294,7 @@ return
neo_x:
EbeneAktualisieren()
- if (Ebene12)
+ if (Ebene12 or CheckCompUni12("G","",0x039D))
OutputChar("x","X")
else if (Ebene = 3)
SendUnicodeChar(0x2026) ; Ellipse horizontal
@@ -380,7 +380,8 @@ return
neo_k:
EbeneAktualisieren()
if (Ebene12 and !(CheckDeadUni12("a3",0x0137,0x0136)
- or CheckDeadUni12("c6",0x1E33,0x1E32)))
+ or CheckDeadUni12("c6",0x1E33,0x1E32)
+ or CheckCompUni12("G","",0x039A)))
OutputChar("k","K")
else if (Ebene = 3)
send {blind}{!}
@@ -397,7 +398,8 @@ neo_h:
if (Ebene12 and !(CheckDeadUni12("a4",0x1E23,0x1E22)
or CheckDeadUni12("c1",0x0125,0x0124)
or CheckDeadUni12("c5",0x0127,0x0126)
- or CheckDeadUni12("c6",0x1E25,0x1E24)))
+ or CheckDeadUni12("c6",0x1E25,0x1E24)
+ or CheckCompUni12("G","",0x0397)))
OutputChar("h","H")
else if ((Ebene = 3) and !(CheckDeadUni("c5",0x2264))) ; kleiner gleich
send {blind}<
@@ -556,7 +558,8 @@ neo_i:
or CheckDeadUni12("t2",0x012B,0x012A)
or CheckDeadAsc12("t3","","")
or CheckCompUni("f",0xFB01)
- or CheckCompUni("F",0xFB03)))
+ or CheckCompUni("F",0xFB03)
+ or CheckCompUni12("G","",0x0399)))
OutputChar("i","I")
else if (Ebene = 3)
send {blind}`/
@@ -579,7 +582,8 @@ neo_a:
or CheckDeadUni12("c3",0x0103,0x0102)
or CheckDeadUni12("t1",0x00E3,0x00C3)
or CheckDeadUni12("t2",0x0101,0x0100)
- or CheckDeadAsc12("t3","","")))
+ or CheckDeadAsc12("t3","","")
+ or CheckCompUni12("G","",0x0391)))
OutputChar("a","A")
else if (Ebene = 3)
send {blind}{{}
@@ -606,7 +610,9 @@ neo_e:
or CheckCompAsc12("a","","")
or CheckCompAsc12("A","","")
or CheckCompAsc12("o","","")
- or CheckCompAsc12("O","","")))
+ or CheckCompAsc12("O","","")
+ or CheckCompUni12("G","",0x0395)
+ or CheckCompUni12("E","",0x018F)))
OutputChar("e","E")
else if (Ebene = 3)
send {blind}{}}
@@ -630,7 +636,8 @@ neo_o:
or CheckDeadUni12("t2",0x014D,0x014C)
or CheckDeadAsc12("t3","","")
or CheckDeadUni12("t4",0x00F8,0x00D8)
- or CheckDeadUni12("t5",0x0151,0x0150)))
+ or CheckDeadUni12("t5",0x0151,0x0150)
+ or CheckCompUni12("G","",0x039F)))
OutputChar("o","O")
else if (Ebene = 3)
send {blind}*
@@ -671,7 +678,8 @@ neo_n:
or CheckDeadUni12("a3",0x0146,0x0145)
or CheckDeadUni12("a4",0x1E45,0x1E44)
or CheckDeadUni12("c2",0x0148,0x0147)
- or CheckDeadUni12("t1",0x00F1,0x00D1)))
+ or CheckDeadUni12("t1",0x00F1,0x00D1)
+ or CheckCompUni12("G","",0x039D)))
OutputChar("n","N")
else if (Ebene = 3)
send {blind}(
@@ -713,7 +721,8 @@ neo_t:
or CheckDeadUni12("c5",0x0167,0x0166)
or CheckDeadUni12("c6",0x1E6D,0x1E6C)
or CheckCompUni("lang_s",0xFB05)
- or CheckCompUni("s",0xFB06)))
+ or CheckCompUni("s",0xFB06)
+ or CheckCompUni12("G","",0x03A4)))
OutputChar("t","T")
else if (Ebene = 3)
send {blind}- ; Bisstrich
@@ -748,7 +757,8 @@ neo_y:
EbeneAktualisieren()
if (Ebene12 and !(CheckDeadUni12("a1",0x00FD,0x00DD)
or CheckDeadUni12("c1",0x0177,0x0176)
- or CheckDeadAsc12("t3","","")))
+ or CheckDeadAsc12("t3","","")
+ or CheckCompUni12("G","",0x03A5)))
OutputChar("y","Y")
else if (Ebene = 3)
send {blind}@
@@ -815,7 +825,8 @@ return
neo_p:
EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a4",0x1E57,0x1E56)))
+ if (Ebene12 and !(CheckDeadUni12("a4",0x1E57,0x1E56)
+ or CheckCompUni12("G","",0x03A1)))
OutputChar("p","P")
else if ((Ebene = 3) and !(CheckDeadUni("t1",0x2248)))
send {blind}~
@@ -832,7 +843,10 @@ neo_z:
if (Ebene12 and !(CheckDeadUni12("a1",0x017A,0x0179)
or CheckDeadUni12("a4",0x017C,0x017B)
or CheckDeadUni12("c2",0x017E,0x017D)
- or CheckDeadUni12("c6",0x1E93,0x1E92)))
+ or CheckDeadUni12("c6",0x1E93,0x1E92)
+ or CheckCompUni("d",0x01C6)
+ or CheckCompUni12("D",0x01C5,0x01C4)
+ or CheckCompUni12("G","",0x0396)))
OutputChar("z","Z")
else if (Ebene = 3)
send ``{space} ; untot
@@ -847,7 +861,8 @@ return
neo_b:
EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a4",0x1E03,0x1E02)))
+ if (Ebene12 and !(CheckDeadUni12("a4",0x1E03,0x1E02)
+ or CheckCompUni12("G","",0x0392)))
OutputChar("b","B")
else if (Ebene = 3)
if isMod2Locked
@@ -866,7 +881,8 @@ neo_m:
if (Ebene12 and !(CheckDeadUni12("a4",0x1E41,0x1E40)
or CheckDeadUni12("c6",0x1E43,0x1E42)
or CheckCompUni12("t",0x2122,0x2122) ; TM
- or CheckCompUni12("s",0x2120,0x2120))) ; SM
+ or CheckCompUni12("s",0x2120,0x2120) ; SM
+ or CheckCompUni12("G","",0x039C)))
OutputChar("m","M")
else if (Ebene = 3)
send {blind}`%
@@ -920,10 +936,10 @@ neo_j:
EbeneAktualisieren()
if (Ebene12 and !(CheckDeadUni12("c1",0x0135,0x0134)
or CheckDeadUni12("c2",0x01F0,"")
+ or CheckCompUni("I",0x0132) ; IJ
or CheckCompUni("i",0x0133) ; ij
or CheckCompUni("l",0x01C9) ; lj
or CheckCompUni("n",0x01CC) ; nj
- or CheckCompUni("I",0x0132) ; IJ
or CheckCompUni12("L",0x01C8,0x01C7) ; Lj/LJ
or CheckCompUni12("N",0x01CB,0x01CA))) ; Nj/NJ
OutputChar("j","J")
@@ -1171,7 +1187,8 @@ return
neo_SpaceUp:
EbeneAktualisieren()
if (Ebene = 1) and !(CheckComp3Uni("r_1",0x2170) ; Rmisch i
- or CheckComp3Uni("R_1",0x2160)) ; Rmisch I
+ or CheckComp3Uni("R_1",0x2160) ; Rmisch I
+ or CheckDeadUni("c5",0x2010)) ; Echter Bindestrich
Send {blind}{Space}
else if (Ebene = 2) or (Ebene = 3)
Send {blind}{Space}
diff --git a/windows/autohotkey/neo20.ahk b/windows/autohotkey/neo20.ahk
index e87b6e4..3d7c5d9 100644
--- a/windows/autohotkey/neo20.ahk
+++ b/windows/autohotkey/neo20.ahk
@@ -1014,19 +1014,19 @@ neo_tot2:
if (Ebene = 1) and !CheckDeadUni("a1",0x0301) {
deadAsc("{}{space}") ; Akut, tot
DeadKey := "a1"
- } else if (Ebene = 2) !CheckDeadUni("a2",0x0300) {
+ } else if (Ebene = 2) and !CheckDeadUni("a2",0x0300) {
deadAsc("``{space}") ; Gravis, tot
DeadKey := "a2"
- } else if (Ebene = 3) !CheckDeadUni("a3",0x0327) {
+ } else if (Ebene = 3) and !CheckDeadUni("a3",0x0327) {
deadAsc("") ; Cedilla, tot
DeadKey := "a3"
- } else if (Ebene = 4) !CheckDeadUni("a4",0x0307) {
+ } else if (Ebene = 4) and !CheckDeadUni("a4",0x0307) {
deadUni(0x02D9) ; Punkt oben
DeadKey := "a4"
- } else if (Ebene = 5) !CheckDeadUni("a5",0x0328) {
+ } else if (Ebene = 5) and !CheckDeadUni("a5",0x0328) {
deadUni(0x02DB) ; Ogonek
DeadKey := "a5"
- } else if (Ebene = 6) !CheckDeadUni("a6",0x030A) {
+ } else if (Ebene = 6) and !CheckDeadUni("a6",0x030A) {
deadUni(0x02DA) ; Ring oben
DeadKey := "a6"
} CompKey := PriorCompKey
@@ -1041,7 +1041,7 @@ return
neo_x:
EbeneAktualisieren()
- if (Ebene12)
+ if (Ebene12 or CheckCompUni12("G","",0x039D))
OutputChar("x","X")
else if (Ebene = 3)
SendUnicodeChar(0x2026) ; Ellipse horizontal
@@ -1127,7 +1127,8 @@ return
neo_k:
EbeneAktualisieren()
if (Ebene12 and !(CheckDeadUni12("a3",0x0137,0x0136)
- or CheckDeadUni12("c6",0x1E33,0x1E32)))
+ or CheckDeadUni12("c6",0x1E33,0x1E32)
+ or CheckCompUni12("G","",0x039A)))
OutputChar("k","K")
else if (Ebene = 3)
send {blind}{!}
@@ -1144,7 +1145,8 @@ neo_h:
if (Ebene12 and !(CheckDeadUni12("a4",0x1E23,0x1E22)
or CheckDeadUni12("c1",0x0125,0x0124)
or CheckDeadUni12("c5",0x0127,0x0126)
- or CheckDeadUni12("c6",0x1E25,0x1E24)))
+ or CheckDeadUni12("c6",0x1E25,0x1E24)
+ or CheckCompUni12("G","",0x0397)))
OutputChar("h","H")
else if ((Ebene = 3) and !(CheckDeadUni("c5",0x2264))) ; kleiner gleich
send {blind}<
@@ -1236,22 +1238,22 @@ return
neo_tot3:
noCaps = 1
EbeneAktualisieren()
- if (Ebene = 1) !CheckDeadUni("t1",0x0303) {
+ if (Ebene = 1) and !CheckDeadUni("t1",0x0303) {
deadUni(0x02DC) ; Tilde, tot
DeadKey := "t1"
- } else if (Ebene = 2) !CheckDeadUni("t2",0x0304) {
+ } else if (Ebene = 2) and !CheckDeadUni("t2",0x0304) {
deadUni(0x00AF) ; Macron, tot
DeadKey := "t2"
- } else if (Ebene = 3) !CheckDeadUni("t3",0x0308) {
+ } else if (Ebene = 3) and !CheckDeadUni("t3",0x0308) {
deadUni(0x00A8) ; Direse
DeadKey := "t3"
- } else if (Ebene = 4) !CheckDeadUni("t4",0x0337) {
+ } else if (Ebene = 4) and !CheckDeadUni("t4",0x0337) {
deadUni(0x002F) ; Schrgstrich, tot
DeadKey := "t4"
- } else if (Ebene = 5) !CheckDeadUni("t5",0x030B) {
+ } else if (Ebene = 5) and !CheckDeadUni("t5",0x030B) {
deadUni(0x02DD) ; Doppelakut
DeadKey := "t5"
- } else if (Ebene = 6) !CheckDeadUni("t6",0x0326) {
+ } else if (Ebene = 6) and !CheckDeadUni("t6",0x0326) {
deadUni(0x02CF) ; Komma drunter, tot
DeadKey := "t6"
}
@@ -1303,7 +1305,8 @@ neo_i:
or CheckDeadUni12("t2",0x012B,0x012A)
or CheckDeadAsc12("t3","","")
or CheckCompUni("f",0xFB01)
- or CheckCompUni("F",0xFB03)))
+ or CheckCompUni("F",0xFB03)
+ or CheckCompUni12("G","",0x0399)))
OutputChar("i","I")
else if (Ebene = 3)
send {blind}`/
@@ -1326,7 +1329,8 @@ neo_a:
or CheckDeadUni12("c3",0x0103,0x0102)
or CheckDeadUni12("t1",0x00E3,0x00C3)
or CheckDeadUni12("t2",0x0101,0x0100)
- or CheckDeadAsc12("t3","","")))
+ or CheckDeadAsc12("t3","","")
+ or CheckCompUni12("G","",0x0391)))
OutputChar("a","A")
else if (Ebene = 3)
send {blind}{{}
@@ -1353,7 +1357,9 @@ neo_e:
or CheckCompAsc12("a","","")
or CheckCompAsc12("A","","")
or CheckCompAsc12("o","","")
- or CheckCompAsc12("O","","")))
+ or CheckCompAsc12("O","","")
+ or CheckCompUni12("G","",0x0395)
+ or CheckCompUni12("E","",0x018F)))
OutputChar("e","E")
else if (Ebene = 3)
send {blind}{}}
@@ -1377,7 +1383,8 @@ neo_o:
or CheckDeadUni12("t2",0x014D,0x014C)
or CheckDeadAsc12("t3","","")
or CheckDeadUni12("t4",0x00F8,0x00D8)
- or CheckDeadUni12("t5",0x0151,0x0150)))
+ or CheckDeadUni12("t5",0x0151,0x0150)
+ or CheckCompUni12("G","",0x039F)))
OutputChar("o","O")
else if (Ebene = 3)
send {blind}*
@@ -1418,7 +1425,8 @@ neo_n:
or CheckDeadUni12("a3",0x0146,0x0145)
or CheckDeadUni12("a4",0x1E45,0x1E44)
or CheckDeadUni12("c2",0x0148,0x0147)
- or CheckDeadUni12("t1",0x00F1,0x00D1)))
+ or CheckDeadUni12("t1",0x00F1,0x00D1)
+ or CheckCompUni12("G","",0x039D)))
OutputChar("n","N")
else if (Ebene = 3)
send {blind}(
@@ -1460,7 +1468,8 @@ neo_t:
or CheckDeadUni12("c5",0x0167,0x0166)
or CheckDeadUni12("c6",0x1E6D,0x1E6C)
or CheckCompUni("lang_s",0xFB05)
- or CheckCompUni("s",0xFB06)))
+ or CheckCompUni("s",0xFB06)
+ or CheckCompUni12("G","",0x03A4)))
OutputChar("t","T")
else if (Ebene = 3)
send {blind}- ; Bisstrich
@@ -1495,7 +1504,8 @@ neo_y:
EbeneAktualisieren()
if (Ebene12 and !(CheckDeadUni12("a1",0x00FD,0x00DD)
or CheckDeadUni12("c1",0x0177,0x0176)
- or CheckDeadAsc12("t3","","")))
+ or CheckDeadAsc12("t3","","")
+ or CheckCompUni12("G","",0x03A5)))
OutputChar("y","Y")
else if (Ebene = 3)
send {blind}@
@@ -1562,7 +1572,8 @@ return
neo_p:
EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a4",0x1E57,0x1E56)))
+ if (Ebene12 and !(CheckDeadUni12("a4",0x1E57,0x1E56)
+ or CheckCompUni12("G","",0x03A1)))
OutputChar("p","P")
else if ((Ebene = 3) and !(CheckDeadUni("t1",0x2248)))
send {blind}~
@@ -1579,7 +1590,10 @@ neo_z:
if (Ebene12 and !(CheckDeadUni12("a1",0x017A,0x0179)
or CheckDeadUni12("a4",0x017C,0x017B)
or CheckDeadUni12("c2",0x017E,0x017D)
- or CheckDeadUni12("c6",0x1E93,0x1E92)))
+ or CheckDeadUni12("c6",0x1E93,0x1E92)
+ or CheckCompUni("d",0x01C6)
+ or CheckCompUni12("D",0x01C5,0x01C4)
+ or CheckCompUni12("G","",0x0396)))
OutputChar("z","Z")
else if (Ebene = 3)
send ``{space} ; untot
@@ -1594,7 +1608,8 @@ return
neo_b:
EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a4",0x1E03,0x1E02)))
+ if (Ebene12 and !(CheckDeadUni12("a4",0x1E03,0x1E02)
+ or CheckCompUni12("G","",0x0392)))
OutputChar("b","B")
else if (Ebene = 3)
if isMod2Locked
@@ -1613,7 +1628,8 @@ neo_m:
if (Ebene12 and !(CheckDeadUni12("a4",0x1E41,0x1E40)
or CheckDeadUni12("c6",0x1E43,0x1E42)
or CheckCompUni12("t",0x2122,0x2122) ; TM
- or CheckCompUni12("s",0x2120,0x2120))) ; SM
+ or CheckCompUni12("s",0x2120,0x2120) ; SM
+ or CheckCompUni12("G","",0x039C)))
OutputChar("m","M")
else if (Ebene = 3)
send {blind}`%
@@ -1667,10 +1683,10 @@ neo_j:
EbeneAktualisieren()
if (Ebene12 and !(CheckDeadUni12("c1",0x0135,0x0134)
or CheckDeadUni12("c2",0x01F0,"")
+ or CheckCompUni("I",0x0132) ; IJ
or CheckCompUni("i",0x0133) ; ij
or CheckCompUni("l",0x01C9) ; lj
or CheckCompUni("n",0x01CC) ; nj
- or CheckCompUni("I",0x0132) ; IJ
or CheckCompUni12("L",0x01C8,0x01C7) ; Lj/LJ
or CheckCompUni12("N",0x01CB,0x01CA))) ; Nj/NJ
OutputChar("j","J")
@@ -1918,7 +1934,8 @@ return
neo_SpaceUp:
EbeneAktualisieren()
if (Ebene = 1) and !(CheckComp3Uni("r_1",0x2170) ; Rmisch i
- or CheckComp3Uni("R_1",0x2160)) ; Rmisch I
+ or CheckComp3Uni("R_1",0x2160) ; Rmisch I
+ or CheckDeadUni("c5",0x2010)) ; Echter Bindestrich
Send {blind}{Space}
else if (Ebene = 2) or (Ebene = 3)
Send {blind}{Space}
diff --git a/windows/autohotkey/neo20.exe b/windows/autohotkey/neo20.exe
index 462d9eb..03bbcc2 100644
--- a/windows/autohotkey/neo20.exe
+++ b/windows/autohotkey/neo20.exe
Binary files differ