summaryrefslogtreecommitdiffstats
path: root/windows
diff options
context:
space:
mode:
authormartin_r <martin_r@b9310e46-f624-0410-8ea1-cfbb3a30dc96>2008-08-12 00:03:21 +0000
committermartin_r <martin_r@b9310e46-f624-0410-8ea1-cfbb3a30dc96>2008-08-12 00:03:21 +0000
commit15b42908ddc1634edb485e449fa77e7ed2a8169c (patch)
tree68c589015ebda06fbaf255d49b7c5484567642e0 /windows
parent1e1c6440cb351a263e1b47f1a59974f0f801b8cf (diff)
Zerschossene Lang-s-Tastatur wiederhergestellt
Esc(4) setzt Tastatur zurück Variablen Ebene7 und Ebene8 zum Abfragen eingeführt #(2L)-Bug behoben Korrektur gelesen git-svn-id: https://svn.neo-layout.org@746 b9310e46-f624-0410-8ea1-cfbb3a30dc96
Diffstat (limited to 'windows')
-rw-r--r--windows/autohotkey/Build-Update.bat8
-rw-r--r--windows/autohotkey/CHANGES.txt50
-rw-r--r--windows/autohotkey/Source/Changelog-and-Todo.ahk91
-rw-r--r--windows/autohotkey/Source/Global-Part.ahk168
-rw-r--r--windows/autohotkey/Source/Keys-Neo.ahk2547
-rw-r--r--windows/autohotkey/Source/Methods-Layers.ahk2
-rw-r--r--windows/autohotkey/Source/Methods-Other.ahk41
-rw-r--r--windows/autohotkey/Source/Warning.ahk2
-rw-r--r--windows/autohotkey/neo20.ahk2827
-rw-r--r--windows/autohotkey/neo20.exebin457966 -> 445828 bytes
10 files changed, 2863 insertions, 2873 deletions
diff --git a/windows/autohotkey/Build-Update.bat b/windows/autohotkey/Build-Update.bat
index 458c1ec..e9cbb62 100644
--- a/windows/autohotkey/Build-Update.bat
+++ b/windows/autohotkey/Build-Update.bat
@@ -2,13 +2,13 @@
echo Setting local path variables
-REM The path to the Auto Hotkeyprogram
+REM The path to the AutoHotkey program
set ahk=C:\Programme\AutoHotkey
-REM The path to the authohotkey directory in the local svn copy
+REM The path to the AutoHohotkey directory in the local svn copy
set svn=.
-REM Just some usefull shortcuts:
+REM Just some useful shortcuts:
set scr="%svn%\Source"
set fn=neo20
@@ -20,7 +20,7 @@ REM The order *is* important!
copy "%scr%\Warning.ahk" + "%scr%\Changelog-and-Todo.ahk" + "%scr%\Global-Part.ahk" + "%scr%\Methods-Layers.ahk" + "%scr%\Keys-Qwert-to-Neo.ahk" + "%scr%\Keys-Neo.ahk" + "%scr%\Methods-Lights.ahk" + "%scr%\Methods-Other.ahk" + "%scr%\Methods-Unicode.ahk" + "%scr%\Methods-ScreenKeyboard.ahk" "%svn%\%fn%.ahk"
REM if exist "%svn%\Compose\Compose-all-in-one.ahk" copy "%svn%\%fn%.ahk" + "%svn%\Compose\Compose-all-in-one.ahk" "%svn%\%fn%.ahk"
-echo Compiling the new Driver using Autohotkey
+echo Compiling the new Driver using AutoHotkey
"%ahk%\Compiler\Ahk2Exe.exe" /in "%svn%\%fn%.ahk" /out "%svn%\%fn%.exe" /icon "%svn%\neo.ico"
echo Driver Update complete! You can now close this log-window.
diff --git a/windows/autohotkey/CHANGES.txt b/windows/autohotkey/CHANGES.txt
index ff0daa3..d1230fa 100644
--- a/windows/autohotkey/CHANGES.txt
+++ b/windows/autohotkey/CHANGES.txt
@@ -1,53 +1,53 @@
-== Neo 2.0 Autohotkey-Treiber für Windows ==
+== Neo 2.0 Autohotkey-Treiber für Windows ==
-== 2008-08-11 Matthias Wächter ==
+== 2008-08-11 Matthias Wächter ==
-Ebene4-Ziffernblock: NumpadAdd und NumPadSub korriegiert
+Ebene4-Ziffernblock: NumPadAdd und NumPadSub korrigiert
-== 2008-08-10 Matthias Wächter ==
+== 2008-08-10 Matthias Wächter ==
-• Erstmal ist fast kein Stein auf dem anderen geblieben. Die grobe Struktur und das Verhalten (natürlich auch die Tastenbelegung ist 100% NEO!) sind grundsätzlich gleich geblieben, aber einerseits hat sich im Feinen viel getan (z.B. Tab-Behandlung), andererseits schauen viele Zeilen altbekannten Codes jetzt anders aus.
+• Erstmal ist fast kein Stein auf dem anderen geblieben. Die grobe Struktur und das Verhalten (natürlich ist auch die Tastenbelegung 100% NEO!) sind grundsätzlich gleich geblieben, aber einerseits hat sich im Feinen viel getan (z.B. Tab-Behandlung), andererseits schauen viele Zeilen altbekannten Codes jetzt anders aus.
-• Beim »Booten« wird einmal EbeneAktualisieren() aufgerufen, um die Ebene sicher richtig zu haben. Dieses fragt jetzt auch den Zustand von NumLock ab, damit man es bei der NumPad-Behandlung gleich parat hat.
+• Beim »Booten« wird einmal EbeneAktualisieren() aufgerufen, um die Ebene sicher richtig zu haben. Dieses fragt jetzt auch den Zustand von NumLock ab, damit man es bei der NumPad-Behandlung gleich parat hat.
-• Die DeadKey- und CompKey-Behandlung ist zwar im Prinzip gleich geblieben, aber die Syntax habe ich wesentlich gestrafft. Die einzelnen Subs haben jetzt nur mehr den Job, DeadKey und CompKey zu setzen, wenn dieser nach Verlassen des Subs einen Wert haben soll EbeneAktualisieren() überträgt für eine einfachere Handhabung die beiden Variablen DeadKey und CompKey nach PriorDeadKey und PriorCompKey. Letztere können im Programm abgefragt werden, während die nicht-Prior-Varianten schamlos verändert werden dürfen. Das entfernt die immer gleichen (aber doch manchmal unterschiedlichen und nicht selten lückenhaften) Zeilen a la »CompKey := ""«.
+• Die DeadKey- und CompKey-Behandlung ist zwar im Prinzip gleich geblieben, aber die Syntax habe ich wesentlich gestrafft. Die einzelnen Subs haben jetzt nur mehr den Job, DeadKey und CompKey zu setzen, wenn dieser nach Verlassen des Subs einen Wert haben soll. EbeneAktualisieren() überträgt für eine einfachere Handhabung die beiden Variablen DeadKey und CompKey nach PriorDeadKey und PriorCompKey. Letztere können im Programm abgefragt werden, während die nicht-Prior-Varianten schamlos verändert werden dürfen. Das entfernt die immer gleichen (aber doch manchmal unterschiedlichen und nicht selten lückenhaften) Zeilen a la »CompKey := ""«.
-• Ich habe ganz dreist auf Scancodes mit Virtual Keys umgestellt. Schöner wäre es natürlich gewesen, wenn ich auf die VKs hätte verzichten können, aber das führt ja zu bekannten Problemen mit AHK-Bugs, sodass Scancode-Trigger plötzlich von SendUnicodeChar-Zeilen aktiviert werden. Durch das Abfragen der VKs sind wir aber immer noch nicht soweit, dass wir Layout-agnostisch arbeiten können.
+• Ich habe ganz dreist auf Scancodes mit Virtual Keys umgestellt. Schöner wäre es natürlich gewesen, wenn ich auf die VKs hätte verzichten können, aber das führt ja zu bekannten Problemen mit AHK-Bugs, sodass Scancode-Trigger plötzlich von SendUnicodeChar-Zeilen aktiviert werden. Durch das Abfragen der VKs sind wir aber immer noch nicht soweit, dass wir Layout-agnostisch arbeiten können.
-• Dabei gibt es noch ein paar wesentliche Änderungen im Bereich der Tastentrigger: Erstens gehen alle bekannten Scancodes für den NumPad auf paarweise gemeinsame Routinen. Das hält sie nicht nur konsistent, sondern ermöglicht erst eine konsequente Analyse in Zusammenhang mit NumLock und Shift. Zweitens wird bei der Tab-Taste _nur_ mehr der Trigger ohne Modifier abgefragt. Das bedeutet, dass beispielsweise Tab in Verbindung mit Alt an unserem Skript vorbei geschleust wird, um Probleme zu verhindern.
+• Dabei gibt es noch ein paar wesentliche Änderungen im Bereich der Tastentrigger: Erstens gehen alle bekannten Scancodes für den NumPad auf paarweise gemeinsame Routinen. Das hält sie nicht nur konsistent, sondern ermöglicht erst eine konsequente Analyse in Zusammenhang mit NumLock und Shift. Zweitens wird bei der Tab-Taste _nur_ noch der Trigger ohne Modifier abgefragt. Das bedeutet, dass beispielsweise Tab in Verbindung mit Alt an unserem Skript vorbei geschleust wird, um Probleme zu verhindern.
-• Drittens, und eines eigenen Punktes in dieser Liste würdig, werden die Modifier in deutlich reduziertem Umfang abgefragt und nur die wirklich interessanten Fälle behandelt. Auch das erlaubt beispielsweise der Alt-Taste wieder ungestörten Einsatz, Shifts werden ganz normal der Applikation gemeldet, wenn sie gedrückt sind, und weniger Merkwürdigkeiten mir lange gehaltenen Modifiern. Grundsätzlich ist in diesem Bereich aber einer der Schwachpunkte des AHK-Skripts sauberer Key-Repeat.
+• Schließlich, und eines eigenen Punktes in dieser Liste würdig, werden die Modifier in deutlich reduziertem Umfang abgefragt und nur die wirklich interessanten Fälle behandelt. Auch das erlaubt beispielsweise der Alt-Taste wieder ungestörten Einsatz, Shifts werden ganz normal der Applikation gemeldet, wenn sie gedrückt sind, und weniger Merkwürdigkeiten mit lange gehaltenen Modifiern. Grundsätzlich ist in diesem Bereich aber einer der Schwachpunkte des AHK-Skripts sauberer Key-Repeat.
-• In jedem Fall laufen bei mir alle Modifier-Locks: Shift+Shift in jedwelcher Reihenfolge für CapsLock, Mod3+Mod3 genauso, und auch Mod4-Lock spielt auf die Art problemlos!
+• In jedem Fall laufen bei mir alle Modifier-Locks: Shift+Shift in jedwelcher Reihenfolge für CapsLock, Mod3+Mod3 genauso, und auch Mod4-Lock spielt auf die Art problemlos!
-• Bei mir hat die Bildschirmtastatur nicht richtig funktionieren wollen, wenn ich das all.ahk aus dem source/-Verzeichnis verwendet habe. Ein kleiner Patch, und schon geht’s. Ein Refresh beim ersten Start war auch eingebaut, der hat ein unnötiges Flackern produziert. Vielleicht braucht ihn ja wer, bitte melden (mit Begründung!). Außerdem habe ich die Abfragen für die Funktionstasten und von Shift+Pause im Stil der anderen Tasten abgeändert.
+• Bei mir hat die Bildschirmtastatur nicht richtig funktionieren wollen, wenn ich das all.ahk aus dem source/-Verzeichnis verwendet habe. Ein kleiner Patch, und schon geht’s. Ein Refresh beim ersten Start war auch eingebaut, der hat ein unnötiges Flackern produziert. Vielleicht braucht ihn ja wer, bitte melden (mit Begründung!). Außerdem habe ich die Abfragen für die Funktionstasten und von Shift+Pause im Stil der anderen Tasten abgeändert.
-• Nachdem ich viel Zeit verplempert hatte, weil ich den Unterschied zwischen »if Ebene = 2« und »if (Ebene = 2)« nicht gekannt und daher den ganzen Quellcode großzügig editiert hatte, um dann herauszufinden, dass es so nicht geht‘, habe ich jetzt konsequent (hoffentlich) alle Abfragen mit »if ()«, also mit konsequenter Klammersetzung zur richtigen Evaluirung durch AHK gemacht.
+• Nachdem ich viel Zeit verplempert hatte, weil ich den Unterschied zwischen »if Ebene = 2« und »if (Ebene = 2)« nicht gekannt und daher den ganzen Quellcode großzügig editiert hatte, um dann herauszufinden, dass es so nicht geht, habe ich jetzt konsequent (hoffentlich) alle Abfragen mit »if ()«, also mit konsequenter Klammersetzung zur richtigen Evaluierung durch AHK gemacht.
-• Nicht ganz fertig bin ich mit meinem deadKeys-deadComposeKeys geworden: Über Tastendrücke (z.B. Mod4+F9) sollen sich die Deadkeys und ComposeKeys tatsächlich dergestalt »umbringen«, dass sie nicht mehr am Schirm erscheinen, wodurch das Skript sie auch nicht mehr mit {bs} löschen muss, wenn das endgültige Zeichen fest steht. Für die DeadKeys ist’s schon drinnen, aber für die Compose-Sachen müsste ich die Logik ein weiteres Mal auf den Kopf stellen, und das ist mir für heute einfach zu viel.
+• Nicht ganz fertig bin ich mit meinem deadKeys-deadComposeKeys geworden: Über Tastendrücke (z.B. Mod4+F9) sollen sich die Deadkeys und ComposeKeys tatsächlich dergestalt »umbringen«, dass sie nicht mehr am Schirm erscheinen, wodurch das Skript sie auch nicht mehr mit {bs} löschen muss, wenn das endgültige Zeichen fest steht. Für die DeadKeys ist’s schon drinnen, aber für die Compose-Sachen müsste ich die Logik ein weiteres Mal auf den Kopf stellen, und das ist mir für heute einfach zu viel.
-• Für das Abfragen von gemerkten DeadKeys und CompKeys habe ich Routinen geschrieben, die sich mit einem Shortcut-Evaluations-Trick recht kompakt darstellen lassen. Zusätzlich habe ich bei den Buchstaben die Abfragen für die Ebenen 1 und 2 zusammen gelegt, was nochmals deutlich Platz spart und der Übersichtlichkeit dienlich ist.
+• Für das Abfragen von gemerkten DeadKeys und CompKeys habe ich Routinen geschrieben, die sich mit einem Shortcut-Evaluations-Trick recht kompakt darstellen lassen. Zusätzlich habe ich bei den Buchstaben die Abfragen für die Ebenen 1 und 2 zusammen gelegt, was nochmals deutlich Platz spart und der Übersichtlichkeit dienlich ist.
-• Ich habe jetzt, wo möglich, doch die Ausgabe mit »send« der mit »SendUnicodeChar« vorgezogen, da so manches Windows-Programm doch nicht ganz so intelligent wie der Rest der Meute ist. Andererseits habe ich ziemlich konsequent mit {blind} gearbeitet. Ein paar Passagen fehlen noch, insbesondere auf Ebene 2, die noch ohne {blind} sind diese sollte man wohl umstellen auf »send {blind}{Shift up}..{shift down}«, um auch mit Alt, Strg und Win korrekt kombinieren zu können (Shift fällt ja leider flach, da bereits gedrückt).
+• Ich habe jetzt, wo möglich, doch die Ausgabe mit »send« der mit »SendUnicodeChar« vorgezogen, da so manches Windows-Programm doch nicht ganz so intelligent wie der Rest der Meute ist. Andererseits habe ich ziemlich konsequent mit {blind} gearbeitet. Ein paar Passagen fehlen noch, insbesondere auf Ebene 2, die noch ohne {blind} sind, diese sollte man wohl umstellen auf »send {blind}{Shift up}..{shift down}«, um auch mit Alt, Strg und Win korrekt kombinieren zu können (Shift fällt ja leider flach, da bereits gedrückt).
-• Diverse Compose-Namen habe ich gekürzt wenn man case sensitive vergleichen möchte, muss man nur mit == abfragen, statt die Strings auf beispielsweise »r_capital« zu setzen.
+• Diverse Compose-Namen habe ich gekürzt, wenn man case-sensitive vergleichen möchte, muss man nur mit == abfragen, statt die Strings auf beispielsweise »r_capital« zu setzen.
-• Die Sache mit Capslock ist für meinen Geschmack immer noch nicht befriedigend gelöst, scheint aber im Moment ganz gut zu laufen. Mit Compose verträgt sich CapsLock garnicht, außer man erwartet bei aktiviertem CapsLock nach Eingabe von »R12« das da: ⅻ.
+• Die Sache mit Capslock ist für meinen Geschmack immer noch nicht befriedigend gelöst, scheint aber im Moment ganz gut zu laufen. Mit Compose verträgt sich CapsLock garnicht, außer man erwartet bei aktiviertem CapsLock nach Eingabe von »R12« das da: ?.
-• Ungeachtet der Vorschläge, wie mit dem NumPad weiter vor zu gehen ist, habe ich es jetzt erst mal -Y¥unangetastet´ lassen, wenn man bei solch einer Baustelle noch von Unversehrtheit sprechen kann.
+• Ungeachtet der Vorschläge, wie mit dem NumPad weiter vor zu gehen ist, habe ich es jetzt erst mal unangetastet lassen, wenn man bei solch einer Baustelle noch von Unversehrtheit sprechen kann.
-• Das Numpad auf Ebene 4 unter der rechten Hand habe ich derart abgeändert, dass es statt der blanken Zahlen NumPad-Codes liefert. Damit kann man es reichhaltiger verwenden als die Tasten in Zeile 1. Auch die Cursortasten auf gleicher Ebene, linke Hand, werden jetzt {blind} geschickt, um diverse Navigationsmöglichkeiten mit den anderen Modifiern (Shift, Strg) zu öffnen.
+• Das Numpad auf Ebene 4 unter der rechten Hand habe ich derart abgeändert, dass es statt der blanken Zahlen NumPad-Codes liefert. Damit kann man es reichhaltiger verwenden als die Tasten in Zeile 1. Auch die Cursortasten auf gleicher Ebene, linke Hand, werden jetzt {blind} geschickt, um diverse Navigationsmöglichkeiten mit den anderen Modifiern (Shift, Strg) zu öffnen.
-• Insgesamt hat sich der Code-Umfang drastisch verringert: mein fertiges neo20.ahk hat jetzt nur mehr 93 kB, wo das alte noch 126 kB hatte. Das ist mit 33 kB fast ¼ weniger Code! Ob’s auch damit ¼ weniger Bugs sind, kann ich nicht sagen … ;-)
+• Insgesamt hat sich der Code-Umfang drastisch verringert: meine fertige neo20.ahk hat jetzt nur noch 93 kB, wogegen die alte noch 126 kB hatte. Das ist mit 33 kB fast ¼ weniger Code! Ob’s damit auch ¼ weniger Bugs sind, kann ich nicht sagen … ;-)
Known Bugs:
===========
-• Ich kann keine Flash-Spiele spielen (Firefox), die die Tastatur benötigen. Ist das bekannt? Ist davon auch Java betroffen?
+• Ich kann keine Flash-Spiele spielen (Firefox), die die Tastatur benötigen. Ist das bekannt? Ist davon auch Java betroffen?
-• Manche Compose-Kombinationen zwischen den Zahlen habe ich auf dem NumPad vereinheitlicht aber noch nicht auf Zeile 1.
+• Manche Compose-Kombinationen zwischen den Zahlen habe ich auf dem NumPad vereinheitlicht aber noch nicht auf Zeile 1.
-• Die diversen Compose-Experimentierkästen unter Compose/ habe ich nicht angerührt, sie werden woht auch kleine Anpassungen benötigen.
+• Die diversen Compose-Experimentierkästen unter Compose/ habe ich nicht angerührt, sie werden wohl auch kleine Anpassungen benötigen.
-• Der Patch ist in dieser Form quasi ungetestet. Die wichtigsten funktionalen Änderungen wie die Mod-Lock und das Zusammenführen der Numlock-Numpad-Ebenen habe ich schon vor diesem Patch ausprobiert, aber insbesondere die diversen CheckDead* und CheckComp*-Aufrufe sind erst vor ein paar Stunden entstanden.
+• Der Patch ist in dieser Form quasi ungetestet. Die wichtigsten funktionalen Änderungen wie die Mod-Lock und das Zusammenführen der Numlock-Numpad-Ebenen habe ich schon vor diesem Patch ausprobiert, aber insbesondere die diversen CheckDead* und CheckComp*-Aufrufe sind erst vor ein paar Stunden entstanden.
diff --git a/windows/autohotkey/Source/Changelog-and-Todo.ahk b/windows/autohotkey/Source/Changelog-and-Todo.ahk
index c21db54..49111e0 100644
--- a/windows/autohotkey/Source/Changelog-and-Todo.ahk
+++ b/windows/autohotkey/Source/Changelog-and-Todo.ahk
@@ -1,100 +1,100 @@
-/*
-*************************************
-* NEO 2.0 (beta) Autohotkey-Treiber *
+/************************************
+* NEO 2.0 (beta) AutoHotkey-Treiber *
*************************************
+
Autoren:
Stefan Mayer <stm (at) neo-layout. o r g>
-Nora Geissler <nora_geissler (at) yahoo. d e>
+Nora Geißler <nora_geissler (at) yahoo. d e>
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.. w i z .. a t>
+Matthias Wächter <matthias (at) waechter.wiz. a t>
...
-
-
*********
* TODO: *
*********
-- Die Bildschirmtastatur mit Mod4 hat den Mod4-Lock deaktiviert!
- Compose vollständig implementieren (Welche Methode ist hierzu am besten geeignet?)
- ausgiebig testen... (besonders Vollständigkeit bei Deadkeys)
- Bessere Lösung für das Leeren von PriorDeadKey finden, damit die Sondertasten nicht mehr abgefangen werden müssen.
- Testen, ob die Capslocklösung (siehe *1:: ebene 1) auch für Numpad gebraucht wird
- Die Ebenen vom Tastenblock an die neue Referenz anpassen (wenn da ein Konsens gefunden wurde)
-
**********
* IDEEN: *
**********
-- 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)
-- Die Varianten (lernModus, einHandNeo, Lang-s-Tastatur, Qwertz/pausieren) sollten einheitlich (de-)aktiviert werden, etwa über Mod4 F9-F12
-- bei Ebene 4 rechte Hand (Numpad) z.B. Numpad5 statt 5 senden
-
-
+- Die Varianten (lernModus, einHandNeo, Lang-s-Tastatur, Qwertz/pausieren) sollten einheitlich (de-)aktiviert werden, etwa über M4+F9-F12
******************
* CHANGEHISTORY: *
******************
+Revision 746 (von Martin Roppelt)
+- Zurücksetzen der Tastatur über M4+Esc
+- #(2L) sendet nicht mehr '
+- Variablen Ebene7 und Ebene8 zum Abfragen eingeführt
+- s(12)(2L)-Bug von Matthias Wächter behoben
Revision 744 (von Stefan Mayer)
- Ebene4-Ziffernblock: auf neo_d nun Komma (wie Referenz), "NumPadKomma" gibt es nicht
Revision 743 (von Matthias Wächter, commit durch Stefan Mayer)
- Ebene4-Ziffernblock: NumPadAdd und NumPadSub korrigiert
Revision 740 (von Matthias Wächter, commit durch HCW)
- "Mega-Patch" (Skript verkürzt, Ebenenabfrage verändert, ...), siehe CHANGES.txt
+- Blinde tote Tasten auf M4+F9 (Toggle)
+- Blinde Compose auf M4+F10 (Toggle)
Revision 728 (von Dennis Heidsiek):
-- Ist die Datei [...]\Anwendungsdaten\NEO2\NEO2.ini vorhanden, werden dort eventuell vonhandene Werte für die Globalen Schalter beim Start übernommen
+- 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 "Von Windows vorgegebenes TEMP Verzeichnis\NEO2\ extrahiert und nicht mehr in das Verzeichnis, in dem sich die EXE befindet
+- 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):
-- LangSTastatur auf F11 (Ebene 4)
+- LangSTastatur auf M4+F11
- Entwickler können durch das Erstellen einer Datei »LangSTastaturStandardmäßigEingeschaltet.ahk« mit dem Inhalt »LangSTastatur := 1« diese standardmäßig aktivieren
- Mehrere DeadKeys aktualisiert (T*, Ebene 4 und T*, Ebene 5)
Revision 687 (von Dennis Heidsiek):
- Die SendUnicodeChar-Methode um den GDK-Workarround von Matthias Wächter ergänzt
- (An/Aus) Icons an Favicon der neuen Homepage angepasst
Revision 645 (von Martin Roppelt):
-- Ellipse zusätzlich auf M3+x;
+- Ellipse zusätzlich auf M3+x
- Lang-s-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-s-Tastatur kann nicht mehr durch einen Hotkey aktiviert werden
Revision 629 (von Martin Roppelt):
-- Spitze Klammern (bra und ket) testweise auf M5+8/9
+- Spitze Klammern (bra und ket) auf M5+8/9
Revision 624 (von Martin Roppelt):
- Lang-s-Tastatur (ein- und auszuschalten durch Mod4+ß)
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.
+- 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 (Mod3+Numpad5, Mod5+Numpad5 und Mod3+Numpad9 stimmen wieder mit der Referenz überein).
+- Kleinere Korrekturen (M3+NP5, M5+NP5 und M3+NP9 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 "\")
+ * 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
+- 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):
-- Ebene 4 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
Revision 559 (von Matthias Berg):
@@ -109,7 +109,7 @@ 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)
+ * 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
@@ -119,32 +119,32 @@ Revision 542 (von Matthias Berg):
- 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 veringern
+- 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
+ * 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
+ * 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 geladen
+- In der .exe sind die .ico mitgespeichert und werden geladen
Revision 528 (von Matthias Berg):
- Neo-Icon
- Neo-Prozess jetzt automatisch auf hoher Prioritaet
(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ühte zum AltGr-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
@@ -161,7 +161,7 @@ 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)
+- 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
@@ -171,10 +171,5 @@ Revsion 490 (von Stefan Mayer):
• Brüche (auf Zahlenreihe und Hardware-Ziffernblock)
• römische Zahlen
• Ligaturen und Copyright
-
-
-
*/
-
-
diff --git a/windows/autohotkey/Source/Global-Part.ahk b/windows/autohotkey/Source/Global-Part.ahk
index 06d051f..d5e7e35 100644
--- a/windows/autohotkey/Source/Global-Part.ahk
+++ b/windows/autohotkey/Source/Global-Part.ahk
@@ -1,8 +1,8 @@
-/********************
- Verzeichnisse *
-*********************
+/****************
+* Verzeichnisse *
+*****************
*/
; Setzt den Pfad zu einem temporären Verzeichnis
EnvGet, WindowsEnvTempFolder, TEMP
@@ -16,15 +16,14 @@ FileCreateDir, %ApplicationFolder%
-/******************
- Globale Schalter *
-*******************
+/*******************
+* Globale Schalter *
+********************
*/
; Im folgenden gilt (soweit nicht anders angegeben) Ja = 1, Nein = 0:
; Syntaxhinweis: IniRead, Variable, InputFilename, Section, Key [, DefaultValue]
-
; Sollen die Bilder für die Bildschirmtastatur in die compilierte EXE-Datei miteingebunden werden? (Nachteil: grössere Dateigrösse, Vorteil: Referenz für Anfänger stets einfach verfügbar)
bildschirmTastaturEinbinden := 1
@@ -37,36 +36,40 @@ IniRead, einHandNeo, %ApplicationFolder%\NEO2.ini, Global, einHandNeo, 0
; Soll der Lernmodus aktiviert werden?
IniRead, lernModus, %ApplicationFolder%\NEO2.ini, Global, lernModus, 0
-; Aktivierter Mod4-Lock wird über die Rollen-LED des Keybord angezeigt (analog zu CapsLock)
+; Soll aktivierter Mod4-Lock über die Rollen-LED des Keybord angezeigt werden (analog zu CapsLock)?
IniRead, UseMod4Light, %ApplicationFolder%\NEO2.ini, Global, UseMod4Light, 1
-; Soll Lang-s auf s, s auf ß und ß auf Mod3+ß gelegt (bzw. vertauscht) werden?
+; Soll Lang-s auf s, s auf ß und ß auf Lang-s gelegt (bzw. vertauscht) werden?
IniRead, LangSTastatur, %ApplicationFolder%\NEO2.ini, Global, LangSTastatur, 0
+; Sollen tote Tasten blind angezeigt werden?
+IniRead, DeadCompose, %ApplicationFolder%\NEO2.ini, Global, DeadCompose, 0
+;Sollen Compose-Tasten blind angezeigt werden?
+IniRead, DeadSilence, %ApplicationFolder%\NEO2.ini, Global, DeadSilence, 0
-/*************************
- Recourcen-Verwaltung *
-**************************
-*/
+/***********************
+* Recourcen-Verwaltung *
+************************
+*/
if(FileExist("ResourceFolder") <> false) {
- ; Versuche, alle möglicherweise in die EXE eingebundenen Dateien zu extrahieren
- FileInstall, neo.ico, %ResourceFolder%\neo.ico, 1
- FileInstall, neo_disabled.ico, %ResourceFolder%\neo_disabled.ico, 1
- iconBenutzen = 1
- if (bildschirmTastaturEinbinden==1) {
- FileInstall, ebene1.png, %ResourceFolder%\ebene1.png, 1
- FileInstall, ebene2.png, %ResourceFolder%\ebene2.png, 1
- FileInstall, ebene3.png, %ResourceFolder%\ebene3.png, 1
- FileInstall, ebene4.png, %ResourceFolder%\ebene4.png, 1
- FileInstall, ebene5.png, %ResourceFolder%\ebene5.png, 1
- FileInstall, ebene6.png, %ResourceFolder%\ebene6.png, 1
- zeigeBildschirmTastatur = 1
- }
+ ; Versuche, alle möglicherweise in die EXE eingebundenen Dateien zu extrahieren
+ FileInstall, neo.ico, %ResourceFolder%\neo.ico, 1
+ FileInstall, neo_disabled.ico, %ResourceFolder%\neo_disabled.ico, 1
+ iconBenutzen = 1
+ if (bildschirmTastaturEinbinden==1) {
+ FileInstall, ebene1.png, %ResourceFolder%\ebene1.png, 1
+ FileInstall, ebene2.png, %ResourceFolder%\ebene2.png, 1
+ FileInstall, ebene3.png, %ResourceFolder%\ebene3.png, 1
+ FileInstall, ebene4.png, %ResourceFolder%\ebene4.png, 1
+ FileInstall, ebene5.png, %ResourceFolder%\ebene5.png, 1
+ FileInstall, ebene6.png, %ResourceFolder%\ebene6.png, 1
+ zeigeBildschirmTastatur = 1
+ }
} else {
- MsgBox, "Das Verzeichnis %ResourceFolder% konnte nicht angelegt werden!" ; Diese Zeile dient nur der eventuellen Fehlersuche und sollte eigentlich niemals auftauchen.
+ MsgBox, "Das Verzeichnis %ResourceFolder% konnte nicht angelegt werden!" ; Diese Zeile dient nur der eventuellen Fehlersuche und sollte eigentlich niemals auftauchen.
}
; Benutze die Dateien auch dann, wenn sie eventuell im aktuellen Verzeichnis vorhanden sind
@@ -76,16 +79,15 @@ if ( FileExist("neo.ico") && FileExist("neo_disabled.ico") )
iconBenutzen = 1
-/*************************
- lernModus Konfiguration *
- nur relevant wenn *
- lernModus = 1 *
- Strg+Komma schaltet um *
-**************************
+/**************************
+* lernModus Konfiguration *
+* nur relevant wenn *
+* lernModus = 1 *
+* Strg+Komma schaltet um *
+***************************
*/
; 0 = aus, 1 = an
-
; die Nachfolgenden sind nützlich um sich die Qwertz-Tasten abzugewöhnen, da alle auf der 4. Ebene vorhanden.
lernModus_std_Return = 0
lernModus_std_Backspace = 0
@@ -101,29 +103,20 @@ lernModus_std_Links = 0
lernModus_std_Rechts = 0
lernModus_std_ZahlenReihe = 0
-
-
; im folgenden kann man auch noch ein paar Tasten der 4. Ebene deaktivieren
; nützlich um sich zu zwingen, richtig zu schreiben
lernModus_neo_Backspace = 0
lernModus_neo_Entf = 1
-
-
-
-; aus Noras script kopiert:
-
+; aus Noras Skript kopiert:
Process,Priority,,High
-
#usehook on
#singleinstance force
#LTrim
; Quelltext kann eingerückt werden,
; msgbox ist trotzdem linksbündig
-
SetTitleMatchMode 2
SendMode Input
-
name = Neo 2.0
enable = Aktiviere %name%
disable = Deaktiviere %name%
@@ -138,39 +131,38 @@ if inputlocalealias <>
inputlocale = %inputlocalealias%
if inputlocale <> 00000407
{
- suspend
- regread, inputlocale, HKEY_LOCAL_MACHINE
- , SYSTEM\CurrentControlSet\Control\Keyboard Layouts\%inputlocale%
- , Layout Text
- msgbox, 48, Warnung!,
- (
- Nicht kompatibles Tastaturlayout:
- `t%inputlocale%
- `nDas deutsche QWERTZ muss als Standardlayout eingestellt
- sein, damit %name% wie erwartet funktioniert.
- `nÄndern Sie die Tastatureinstellung unter
- `tSystemsteuerung
- `t-> Regions- und Sprachoptionen
- `t-> Sprachen
- `t-> Details... `n
- )
- exitapp
+ suspend
+ regread, inputlocale, HKEY_LOCAL_MACHINE
+ , SYSTEM\CurrentControlSet\Control\Keyboard Layouts\%inputlocale%
+ , Layout Text
+ msgbox, 48, Warnung!,
+ (
+ Nicht kompatibles Tastaturlayout:
+ `t%inputlocale%
+ `nDas deutsche QWERTZ muss als Standardlayout eingestellt
+ sein, damit %name% wie erwartet funktioniert.
+ `nÄndern Sie die Tastatureinstellung unter
+ `tSystemsteuerung
+ `t-> Regions- und Sprachoptionen
+ `t-> Sprachen
+ `t-> Details... `n
+ )
+ exitapp
}
-
; Menü des Systray-Icons
; ----------------------
if (iconBenutzen)
- menu, tray, icon, %ResourceFolder%\neo.ico,,1
+ menu, tray, icon, %ResourceFolder%\neo.ico,,1
menu, tray, nostandard
menu, tray, add, Öffnen, open
- menu, helpmenu, add, About, about
- menu, helpmenu, add, Autohotkey-Hilfe, help
- menu, helpmenu, add
- menu, helpmenu, add, http://&autohotkey.com/, autohotkey
- menu, helpmenu, add, http://www.neo-layout.org/, neo
+ menu, helpmenu, add, About, about
+ menu, helpmenu, add, Autohotkey-Hilfe, help
+ menu, helpmenu, add
+ menu, helpmenu, add, http://&autohotkey.com/, autohotkey
+ menu, helpmenu, add, http://www.neo-layout.org/, neo
menu, tray, add, Hilfe, :helpmenu
menu, tray, add
menu, tray, add, %disable%, togglesuspend
@@ -185,7 +177,7 @@ menu, tray, tip, %name%
/*
- Variablen initialisieren
+ Variablen initialisieren
*/
DeadKey = ""
@@ -193,14 +185,12 @@ CompKey = ""
PriorDeadKey = ""
PriorCompKey = ""
Ebene12 = 0
-EbeneAktualisieren()
-
-
+EbeneAktualisieren()
/*
- EinHandNeo
+ EinHandNeo
*/
spacepressed := 0
keypressed:= 0
@@ -237,5 +227,33 @@ gespiegelt_punkt = neo_ö
gespiegelt_j = neo_ü
-
-
+;Blinde/Sichtbare Tote Tasten
+*F9::
+ if (isMod4pressed())
+ DeadSilence := not(DeadSilence)
+ else
+ send {blind}{F9}
+return
+
+;Blinde/Sichtbare Compose
+*F10::
+ if (isMod4pressed())
+ DeadCompose := not(DeadCompose)
+ else
+ send {blind}{F10}
+return
+
+;Lang-s-Tastatur:
+*F11::
+ if (isMod4pressed())
+ LangSTastatur := not(LangSTastatur) ; schaltet die Lang-s-Tastatur ein und aus
+ else
+ send {blind}{F11}
+return
+
+*Esc::
+ if (isMod4pressed())
+ reload
+ else
+ send {blind}{Esc}
+return
diff --git a/windows/autohotkey/Source/Keys-Neo.ahk b/windows/autohotkey/Source/Keys-Neo.ahk
index 8288e58..9b96747 100644
--- a/windows/autohotkey/Source/Keys-Neo.ahk
+++ b/windows/autohotkey/Source/Keys-Neo.ahk
@@ -1,69 +1,66 @@
/*
Die eigentliche NEO-Belegung und der Hauptteil des AHK-Treibers.
+ Ablauf bei toten Tasten:
+ 1. Ebene Aktualisieren
+ 2. Abhängig von der Variablen "Ebene" Zeichen ausgeben und die Variable "PriorDeadKey" setzen
- Ablauf bei toten Tasten:
- 1. Ebene Aktualisieren
- 2. Abhängig von der Variablen "Ebene" Zeichen ausgeben und die Variable "PriorDeadKey" setzen
-
- Ablauf bei "untoten" Tasten:
- 1. Ebene Aktualisieren
- 2. Abhängig von den Variablen "Ebene" und "PriorDeadKey" Zeichen ausgeben
- 3. "PriorDeadKey" mit leerem String überschreiben
-
- ------------------------------------------------------
- Reihe 1
- ------------------------------------------------------
+ Ablauf bei "untoten" Tasten:
+ 1. Ebene Aktualisieren
+ 2. Abhängig von den Variablen "Ebene" und "PriorDeadKey" Zeichen ausgeben
+ 3. "PriorDeadKey" mit leerem String überschreiben
+
+ Reihe 1
*/
neo_tot1:
- EbeneAktualisieren()
- if (Ebene = 1)
- {
- deadUni(0x02C6) ; circumflex, tot
- DeadKey := "c1"
- }
- else if (Ebene = 2)
- {
- deadUni(0x02C7) ; caron, tot
- DeadKey := "c2"
- }
- else if (Ebene = 3)
- {
- deadUni(0x02D8) ; brevis
- DeadKey := "c3"
- }
- else if (Ebene = 4)
- {
- deadUni(0x00B7) ; Mittenpunkt, tot
- DeadKey := "c4"
- }
- else if (Ebene = 5)
- {
- deadAsc("-") ; querstrich, tot
- DeadKey := "c5"
- }
- else if (Ebene = 6)
- {
- deadAsc(".") ; punkt darunter (colon)
- DeadKey := "c6"
- }
- CompKey := PriorCompKey
+ EbeneAktualisieren()
+ if (Ebene = 1)
+ {
+ deadUni(0x02C6) ; Zirkumflex, tot
+ DeadKey := "c1"
+ }
+ else if (Ebene = 2)
+ {
+ deadUni(0x02C7) ; Caron, tot
+ DeadKey := "c2"
+ }
+ else if (Ebene = 3)
+ {
+ deadUni(0x02D8) ; Brevis, tot
+ DeadKey := "c3"
+ }
+ else if (Ebene = 4)
+ {
+ deadUni(0x00B7) ; Mittenpunkt, tot
+ DeadKey := "c4"
+ }
+ else if (Ebene = 5)
+ {
+ deadAsc("-") ; Querstrich, tot
+ DeadKey := "c5"
+ }
+ else if (Ebene = 6)
+ {
+ deadAsc(".") ; Punkt drunter (Colon), tot
+ DeadKey := "c6"
+ }
+ CompKey := PriorCompKey
return
neo_1:
- EbeneAktualisieren()
- if (Ebene = 1)
- {
- if !(CheckDeadUni("c1",0x00B9)
- or CheckDeadUni("c5",0x2081)
- or CheckComp3Uni("r_1",0x217A) ; römisch xi
- or CheckComp3Uni("R_1",0x216A)) ; römisch XI
- if (GetKeyState("CapsLock","T"))
- send {blind}{Shift down}1{Shift up}
- else if (not(lernModus) or lernModus_std_ZahlenReihe)
- send {blind}1
+ EbeneAktualisieren()
+ if (Ebene = 1)
+ {
+ if !(CheckDeadUni("c1",0x00B9)
+ or CheckDeadUni("c5",0x2081)
+ or CheckComp3Uni("r_1",0x217A) ; römisch xi
+ or CheckComp3Uni("R_1",0x216A)) ; römisch XI
+ if (GetKeyState("CapsLock","T"))
+ send {blind}{Shift down}1{Shift up}
+ else if (not(lernModus) or lernModus_std_ZahlenReihe)
+ send {blind}1
if (PriorDeadKey = "comp")
CompKey := "1"
@@ -85,264 +82,264 @@ neo_1:
return
neo_2:
- EbeneAktualisieren()
- if (Ebene = 1)
- {
- if !(CheckDeadUni("c1",0x00B2)
- or CheckDeadUni("c5",0x2082)
- or CheckCompUni("r",0x2171) ; römisch ii
- or CheckCompUni("R",0x2161) ; römisch II
- or CheckComp3Uni("r_1",0x217B) ; römisch xii
- or CheckComp3Uni("R_1",0x216B)) ; römisch XII
- if (GetKeyState("CapsLock","T"))
- send {blind}{Shift down}2{Shift up}
- else if (not(lernModus) or lernModus_std_ZahlenReihe)
- send {blind}2
-
- if (PriorDeadKey = "comp")
- CompKey := "2"
- }
- else if (Ebene = 2)
- SendUnicodeChar(0x2116) ; numero
- else if (Ebene = 3)
- SendUnicodeChar(0x00B2) ; 2 Hochgestellte
- else if (Ebene = 4)
- SendUnicodeChar(0x2023) ; aufzaehlungspfeil
- else if (Ebene = 5)
- SendUnicodeChar(0x26A5) ; Piktogramm Zwitter
- else if (Ebene = 6)
- SendUnicodeChar(0x2228) ; Logisches Oder
+ EbeneAktualisieren()
+ if (Ebene = 1)
+ {
+ if !(CheckDeadUni("c1",0x00B2)
+ or CheckDeadUni("c5",0x2082)
+ or CheckCompUni("r",0x2171) ; römisch ii
+ or CheckCompUni("R",0x2161) ; römisch II
+ or CheckComp3Uni("r_1",0x217B) ; römisch xii
+ or CheckComp3Uni("R_1",0x216B)) ; römisch XII
+ if (GetKeyState("CapsLock","T"))
+ send {blind}{Shift down}2{Shift up}
+ else if (not(lernModus) or lernModus_std_ZahlenReihe)
+ send {blind}2
+
+ if (PriorDeadKey = "comp")
+ CompKey := "2"
+ }
+ else if (Ebene = 2)
+ SendUnicodeChar(0x2116) ; numero
+ else if (Ebene = 3)
+ SendUnicodeChar(0x00B2) ; 2 Hochgestellte
+ else if (Ebene = 4)
+ SendUnicodeChar(0x2023) ; aufzaehlungspfeil
+ else if (Ebene = 5)
+ SendUnicodeChar(0x26A5) ; Piktogramm Zwitter
+ else if (Ebene = 6)
+ SendUnicodeChar(0x2228) ; Logisches Oder
return
neo_3:
- EbeneAktualisieren()
- if (Ebene = 1)
- {
- if !(CheckDeadUni("c1",0x00B3)
- or CheckDeadUni("c5",0x2083)
- or CheckCompUni("1",0x2153) ; 1/3
- or CheckCompUni("2",0x2154) ; 2/3
- or CheckCompUni("r",0x2172) ; römisch iii
- or CheckCompUni("R",0x2162)) ; römisch III
- if (GetKeyState("CapsLock","T"))
- send {blind}{Shift down}3{Shift up}
- else if (not(lernModus) or lernModus_std_ZahlenReihe)
- send {blind}3
-
- if (PriorDeadKey = "comp")
- CompKey := "3"
- }
- else if (Ebene = 2)
- send §
- else if (Ebene = 3)
- SendUnicodeChar(0x00B3) ; 3 Hochgestellte
- else if (Ebene = 4)
- {
- CompKey := PriorCompKey
- DeadKey := PriorDeadKey
- } ; leer
- else if (Ebene = 5)
- SendUnicodeChar(0x2642) ; Piktogramm Mann
- else if (Ebene = 6)
- SendUnicodeChar(0x2227) ; Logisches Und
+ EbeneAktualisieren()
+ if (Ebene = 1)
+ {
+ if !(CheckDeadUni("c1",0x00B3)
+ or CheckDeadUni("c5",0x2083)
+ or CheckCompUni("1",0x2153) ; 1/3
+ or CheckCompUni("2",0x2154) ; 2/3
+ or CheckCompUni("r",0x2172) ; römisch iii
+ or CheckCompUni("R",0x2162)) ; römisch III
+ if (GetKeyState("CapsLock","T"))
+ send {blind}{Shift down}3{Shift up}
+ else if (not(lernModus) or lernModus_std_ZahlenReihe)
+ send {blind}3
+
+ if (PriorDeadKey = "comp")
+ CompKey := "3"
+ }
+ else if (Ebene = 2)
+ send §
+ else if (Ebene = 3)
+ SendUnicodeChar(0x00B3) ; 3 Hochgestellte
+ else if (Ebene = 4)
+ {
+ CompKey := PriorCompKey
+ DeadKey := PriorDeadKey
+ } ; leer
+ else if (Ebene = 5)
+ SendUnicodeChar(0x2642) ; Piktogramm Mann
+ else if (Ebene = 6)
+ SendUnicodeChar(0x2227) ; Logisches Und
return
neo_4:
- EbeneAktualisieren()
- if (Ebene = 1)
- {
- if !(CheckDeadUni("c1",0x2074)
- or CheckDeadUni("c5",0x2084)
- or CheckCompUni("r",0x2173) ; römisch iv
- or CheckCompUni("R",0x2163)) ; römisch IV
- if (GetKeyState("CapsLock","T"))
- send {blind}{Shift down}4{Shift up}
- else if (not(lernModus) or lernModus_std_ZahlenReihe)
- send {blind}4
-
- if (PriorDeadKey = "comp")
- CompKey := "4"
- }
- else if (Ebene = 2)
- SendUnicodeChar(0x00BB) ; », Double guillemot right
- else if (Ebene = 3)
- Send {blind}› ; Single guillemot right
- else if (Ebene = 4)
- Send {blind}{PgUp} ; Prev
- else if (Ebene = 5)
- SendUnicodeChar(0x2113) ; Script small L
- else if (Ebene = 6)
- SendUnicodeChar(0x22A5) ; Senkrecht
+ EbeneAktualisieren()
+ if (Ebene = 1)
+ {
+ if !(CheckDeadUni("c1",0x2074)
+ or CheckDeadUni("c5",0x2084)
+ or CheckCompUni("r",0x2173) ; römisch iv
+ or CheckCompUni("R",0x2163)) ; römisch IV
+ if (GetKeyState("CapsLock","T"))
+ send {blind}{Shift down}4{Shift up}
+ else if (not(lernModus) or lernModus_std_ZahlenReihe)
+ send {blind}4
+
+ if (PriorDeadKey = "comp")
+ CompKey := "4"
+ }
+ else if (Ebene = 2)
+ SendUnicodeChar(0x00BB) ; », Double guillemot right
+ else if (Ebene = 3)
+ Send {blind}› ; Single guillemot right
+ else if (Ebene = 4)
+ Send {blind}{PgUp} ; Prev
+ else if (Ebene = 5)
+ SendUnicodeChar(0x2113) ; Script small L
+ else if (Ebene = 6)
+ SendUnicodeChar(0x22A5) ; Senkrecht
return
neo_5:
- EbeneAktualisieren()
- if (Ebene = 1)
- {
- if !(CheckDeadUni("c1",0x2075)
- or CheckDeadUni("c5",0x2085)
- or CheckCompUni("1",0x2155) ; 1/5
- or CheckCompUni("2",0x2156) ; 2/5
- or CheckCompUni("3",0x2157) ; 3/5
- or CheckCompUni("4",0x2158) ; 4/5
- or CheckCompUni("r",0x2174) ; römisch v
- or CheckCompUni("R",0x2164)) ; römisch V
- if (GetKeyState("CapsLock","T"))
- send {blind}{Shift down}5{Shift up}
- else if (not(lernModus) or lernModus_std_ZahlenReihe)
- send {blind}5
-
- if (PriorDeadKey = "comp")
- CompKey := "5"
- }
- else if (Ebene = 2)
- SendUnicodeChar(0x00AB) ; «, Double guillemot left
- else if (Ebene = 3)
- Send {blind}‹ ; Single guillemot left
- else if (Ebene = 4)
- {
- CompKey := PriorCompKey
- DeadKey := PriorDeadKey
- } ; leer
- else if (Ebene = 5)
- SendUnicodeChar(0x2020) ; Kreuz (Dagger)
- else if (Ebene = 6)
- SendUnicodeChar(0x2221) ; Winkel
+ EbeneAktualisieren()
+ if (Ebene = 1)
+ {
+ if !(CheckDeadUni("c1",0x2075)
+ or CheckDeadUni("c5",0x2085)
+ or CheckCompUni("1",0x2155) ; 1/5
+ or CheckCompUni("2",0x2156) ; 2/5
+ or CheckCompUni("3",0x2157) ; 3/5
+ or CheckCompUni("4",0x2158) ; 4/5
+ or CheckCompUni("r",0x2174) ; römisch v
+ or CheckCompUni("R",0x2164)) ; römisch V
+ if (GetKeyState("CapsLock","T"))
+ send {blind}{Shift down}5{Shift up}
+ else if (not(lernModus) or lernModus_std_ZahlenReihe)
+ send {blind}5
+
+ if (PriorDeadKey = "comp")
+ CompKey := "5"
+ }
+ else if (Ebene = 2)
+ SendUnicodeChar(0x00AB) ; Double guillemot left
+ else if (Ebene = 3)
+ Send {blind}‹ ; Single guillemot left
+ else if (Ebene = 4)
+ {
+ CompKey := PriorCompKey
+ DeadKey := PriorDeadKey
+ } ; leer
+ else if (Ebene = 5)
+ SendUnicodeChar(0x2020) ; Kreuz (Dagger)
+ else if (Ebene = 6)
+ SendUnicodeChar(0x2221) ; Winkel
return
neo_6:
- EbeneAktualisieren()
- if (Ebene = 1)
- {
- if !(CheckDeadUni("c1",0x2076)
- or CheckDeadUni("c5",0x2086)
- or CheckCompUni("1",0x2159) ; 1/6
- or CheckCompUni("5",0x215A) ; 5/6
- or CheckCompUni("r",0x2175) ; römisch vi
- or CheckCompUni("R",0x2165)) ; römisch VI
- if (GetKeyState("CapsLock","T"))
- send {blind}{Shift down}6{Shift up}
- else if (not(lernModus) or lernModus_std_ZahlenReihe)
- send {blind}6
-
- if (PriorDeadKey = "comp")
- CompKey := "6"
- }
- else if (Ebene = 2)
- send €
- else if (Ebene = 3)
- send {blind}¢
- else if (Ebene = 4)
- send {blind}£
- else if (Ebene = 5)
- {
- CompKey := PriorCompKey
- DeadKey := PriorDeadKey
- } ; leer
- else if (Ebene = 6)
- SendUnicodeChar(0x2225) ; parallel
+ EbeneAktualisieren()
+ if (Ebene = 1)
+ {
+ if !(CheckDeadUni("c1",0x2076)
+ or CheckDeadUni("c5",0x2086)
+ or CheckCompUni("1",0x2159) ; 1/6
+ or CheckCompUni("5",0x215A) ; 5/6
+ or CheckCompUni("r",0x2175) ; römisch vi
+ or CheckCompUni("R",0x2165)) ; römisch VI
+ if (GetKeyState("CapsLock","T"))
+ send {blind}{Shift down}6{Shift up}
+ else if (not(lernModus) or lernModus_std_ZahlenReihe)
+ send {blind}6
+
+ if (PriorDeadKey = "comp")
+ CompKey := "6"
+ }
+ else if (Ebene = 2)
+ send €
+ else if (Ebene = 3)
+ send {blind}¢
+ else if (Ebene = 4)
+ send {blind}£
+ else if (Ebene = 5)
+ {
+ CompKey := PriorCompKey
+ DeadKey := PriorDeadKey
+ } ; leer
+ else if (Ebene = 6)
+ SendUnicodeChar(0x2225) ; parallel
return
neo_7:
- EbeneAktualisieren()
- if (Ebene = 1)
- {
- if !(CheckDeadUni("c1",0x2077)
- or CheckDeadUni("c5",0x2087)
- or CheckCompUni("r",0x2176) ; römisch vii
- or CheckCompUni("R",0x2166)) ; römisch VII
- if (GetKeyState("CapsLock","T"))
- send {blind}{Shift down}7{Shift up}
- else if (not(lernModus) or lernModus_std_ZahlenReihe)
- send {blind}7
-
- if (PriorDeadKey = "comp")
- CompKey := "7"
- }
- else if (Ebene = 2)
- send $
- else if (Ebene = 3)
- send {blind}¥
- else if (Ebene = 4)
- send {blind}¤
- else if (Ebene = 5)
- SendUnicodeChar(0x03BA) ; greek small letter kappa
- else if (Ebene = 6)
- SendUnicodeChar(0x2209) ; nicht Element von
+ EbeneAktualisieren()
+ if (Ebene = 1)
+ {
+ if !(CheckDeadUni("c1",0x2077)
+ or CheckDeadUni("c5",0x2087)
+ or CheckCompUni("r",0x2176) ; römisch vii
+ or CheckCompUni("R",0x2166)) ; römisch VII
+ if (GetKeyState("CapsLock","T"))
+ send {blind}{Shift down}7{Shift up}
+ else if (not(lernModus) or lernModus_std_ZahlenReihe)
+ send {blind}7
+
+ if (PriorDeadKey = "comp")
+ CompKey := "7"
+ }
+ else if (Ebene = 2)
+ send $
+ else if (Ebene = 3)
+ send {blind}¥
+ else if (Ebene = 4)
+ send {blind}¤
+ else if (Ebene = 5)
+ SendUnicodeChar(0x03BA) ; greek small letter kappa
+ else if (Ebene = 6)
+ SendUnicodeChar(0x2209) ; nicht Element von
return
neo_8:
- EbeneAktualisieren()
- if (Ebene = 1)
- {
- if !(CheckDeadUni("c1",0x2078)
- or CheckDeadUni("c5",0x2088)
- or CheckCompUni("1",0x215B) ; 1/8
- or CheckCompUni("3",0x215C) ; 3/8
- or CheckCompUni("5",0x215D) ; 5/8
- or CheckCompUni("7",0x215E) ; 7/8
- or CheckCompUni("r",0x2177) ; römisch viii
- or CheckCompUni("R",0x2167)) ; römisch VIII
- if (GetKeyState("CapsLock","T"))
- send {blind}{Shift down}8{Shift up}
- else if (not(lernModus) or lernModus_std_ZahlenReihe)
- send {blind}8
-
- if (PriorDeadKey = "comp")
- CompKey := "8"
- }
- else if (Ebene = 2)
- send „
- else if (Ebene = 3)
- send {blind}‚
- else if (Ebene = 4)
- Send {blind}{NumpadDiv}
- else if (Ebene = 5)
- SendUnicodeChar(0x27E8) ;bra (öffnende spitze klammer)
- else if (Ebene = 6)
- SendUnicodeChar(0x2204) ; es existiert nicht
+ EbeneAktualisieren()
+ if (Ebene = 1)
+ {
+ if !(CheckDeadUni("c1",0x2078)
+ or CheckDeadUni("c5",0x2088)
+ or CheckCompUni("1",0x215B) ; 1/8
+ or CheckCompUni("3",0x215C) ; 3/8
+ or CheckCompUni("5",0x215D) ; 5/8
+ or CheckCompUni("7",0x215E) ; 7/8
+ or CheckCompUni("r",0x2177) ; römisch viii
+ or CheckCompUni("R",0x2167)) ; römisch VIII
+ if (GetKeyState("CapsLock","T"))
+ send {blind}{Shift down}8{Shift up}
+ else if (not(lernModus) or lernModus_std_ZahlenReihe)
+ send {blind}8
+
+ if (PriorDeadKey = "comp")
+ CompKey := "8"
+ }
+ else if (Ebene = 2)
+ send „
+ else if (Ebene = 3)
+ send {blind}‚
+ else if (Ebene = 4)
+ Send {blind}{NumpadDiv}
+ else if (Ebene = 5)
+ SendUnicodeChar(0x27E8) ;bra (öffnende spitze klammer)
+ else if (Ebene = 6)
+ SendUnicodeChar(0x2204) ; es existiert nicht
return
neo_9:
- EbeneAktualisieren()
- if (Ebene = 1)
- {
- if !(CheckDeadUni("c1",0x2079)
- or CheckDeadUni("c5",0x2089)
- or CheckCompUni("r",0x2178) ; römisch ix
- or CheckCompUni("R",0x2168)) ; römisch IX
- if (GetKeyState("CapsLock","T"))
- send {blind}{Shift down}9{Shift up}
- else if (not(lernModus) or lernModus_std_ZahlenReihe)
- send {blind}9
-
- if (PriorDeadKey = "comp")
- CompKey := "9"
- }
- else if (Ebene = 2)
- send “
- else if (Ebene = 3)
- send {blind}‘
- else if (Ebene = 4)
- Send {blind}{NumpadMult}
- else if (Ebene = 5)
- SendUnicodeChar(0x27E9) ;ket (schließende spitze klammer)
- else if (Ebene = 6)
- SendUnicodeChar(0x2226) ; nicht parallel
+ EbeneAktualisieren()
+ if (Ebene = 1)
+ {
+ if !(CheckDeadUni("c1",0x2079)
+ or CheckDeadUni("c5",0x2089)
+ or CheckCompUni("r",0x2178) ; römisch ix
+ or CheckCompUni("R",0x2168)) ; römisch IX
+ if (GetKeyState("CapsLock","T"))
+ send {blind}{Shift down}9{Shift up}
+ else if (not(lernModus) or lernModus_std_ZahlenReihe)
+ send {blind}9
+
+ if (PriorDeadKey = "comp")
+ CompKey := "9"
+ }
+ else if (Ebene = 2)
+ send “
+ else if (Ebene = 3)
+ send {blind}‘
+ else if (Ebene = 4)
+ Send {blind}{NumpadMult}
+ else if (Ebene = 5)
+ SendUnicodeChar(0x27E9) ;ket (schließende spitze klammer)
+ else if (Ebene = 6)
+ SendUnicodeChar(0x2226) ; nicht parallel
return
neo_0:
- EbeneAktualisieren()
- if (Ebene = 1)
- {
- if !(CheckDeadUni("c1",0x2070)
- or CheckDeadUni("c5",0x2080)
- or CheckComp3Uni("r_1",0x2179) ; römisch x
- or CheckComp3Uni("R_1",0x2169)) ; römisch X
- if (GetKeyState("CapsLock","T"))
- send {blind}{Shift down}0{Shift up}
- else if (not(lernModus) or lernModus_std_ZahlenReihe)
- send {blind}0
+ EbeneAktualisieren()
+ if (Ebene = 1)
+ {
+ if !(CheckDeadUni("c1",0x2070)
+ or CheckDeadUni("c5",0x2080)
+ or CheckComp3Uni("r_1",0x2179) ; römisch x
+ or CheckComp3Uni("R_1",0x2169)) ; römisch X
+ if (GetKeyState("CapsLock","T"))
+ send {blind}{Shift down}0{Shift up}
+ else if (not(lernModus) or lernModus_std_ZahlenReihe)
+ send {blind}0
if (PriorDeadKey = "comp")
CompKey := "0"
@@ -363,233 +360,233 @@ neo_0:
return
neo_strich:
- EbeneAktualisieren()
- if (Ebene = 1)
- if (GetKeyState("CapsLock","T"))
- send {blind}{Shift down}-{Shift up}
- else
- send {blind}- ; Bindestrich-Minus
- else if (Ebene = 2)
- SendUnicodeChar(0x2013) ; Gedankenstrich
- else if (Ebene = 3)
- SendUnicodeChar(0x2014) ; Englischer Gedankenstrich (Geviertstrich)
- else if (Ebene = 4)
- {
- CompKey := PriorCompKey
- DeadKey := PriorDeadKey
- } ; leer
- else if (Ebene = 5)
- SendUnicodeChar(0x2011) ; geschützter Bindestrich (Bindestrich ohne Zeilenumbruch)
- else if (Ebene = 6)
- SendUnicodeChar(0x00AD) ; weicher Bindestrich
+ EbeneAktualisieren()
+ if (Ebene = 1)
+ if (GetKeyState("CapsLock","T"))
+ send {blind}{Shift down}-{Shift up}
+ else
+ send {blind}- ; Bindestrich-Minus
+ else if (Ebene = 2)
+ SendUnicodeChar(0x2013) ; Gedankenstrich
+ else if (Ebene = 3)
+ SendUnicodeChar(0x2014) ; Englischer Gedankenstrich (Geviertstrich)
+ else if (Ebene = 4)
+ {
+ CompKey := PriorCompKey
+ DeadKey := PriorDeadKey
+ } ; leer
+ else if (Ebene = 5)
+ SendUnicodeChar(0x2011) ; geschützter Bindestrich (Bindestrich ohne Zeilenumbruch)
+ else if (Ebene = 6)
+ SendUnicodeChar(0x00AD) ; weicher Bindestrich
return
neo_tot2:
- EbeneAktualisieren()
- if (Ebene = 1)
- {
- deadAsc("{´}{space}") ; akut, tot
- DeadKey := "a1"
- }
- else if (Ebene = 2)
- {
- deadAsc("``{space}")
- DeadKey := "a2"
- }
- else if (Ebene = 3)
- {
- deadAsc("¸") ; cedilla
- DeadKey := "a3"
- }
- else if (Ebene = 4)
- {
- deadUni(0x02D9) ; punkt oben drüber
- DeadKey := "a4"
- }
- else if (Ebene = 5)
- {
- deadUni(0x02DB) ; ogonek
- DeadKey := "a5"
- }
- else if (Ebene = 6)
- {
- deadUni(0x02DA) ; ring obendrauf
- DeadKey := "a6"
- }
- CompKey := PriorCompKey
+ EbeneAktualisieren()
+ if (Ebene = 1)
+ {
+ deadAsc("{´}{space}") ; Akut, tot
+ DeadKey := "a1"
+ }
+ else if (Ebene = 2)
+ {
+ deadAsc("``{space}") ; Gravis, tot
+ DeadKey := "a2"
+ }
+ else if (Ebene = 3)
+ {
+ deadAsc("¸") ; Cedilla, tot
+ DeadKey := "a3"
+ }
+ else if (Ebene = 4)
+ {
+ deadUni(0x02D9) ; Punkt obendrüber
+ DeadKey := "a4"
+ }
+ else if (Ebene = 5)
+ {
+ deadUni(0x02DB) ; Ogonek
+ DeadKey := "a5"
+ }
+ else if (Ebene = 6)
+ {
+ deadUni(0x02DA) ; Ring obendrauf
+ DeadKey := "a6"
+ }
+ CompKey := PriorCompKey
return
/*
- ------------------------------------------------------
- Reihe 2
- ------------------------------------------------------
+
+ Reihe 2
+
*/
neo_x:
- EbeneAktualisieren()
- if (Ebene12)
- OutputChar("x","X")
- else if (Ebene = 3)
- SendUnicodeChar(0x2026) ;Ellipse
- else if (Ebene = 5)
- SendUnicodeChar(0x03BE) ;xi
- else if (Ebene = 6)
- SendUnicodeChar(0x039E) ; Xi
+ EbeneAktualisieren()
+ if (Ebene12)
+ OutputChar("x","X")
+ else if (Ebene = 3)
+ SendUnicodeChar(0x2026) ;Ellipse
+ else if (Ebene = 5)
+ SendUnicodeChar(0x03BE) ;xi
+ else if (Ebene = 6)
+ SendUnicodeChar(0x039E) ; Xi
return
neo_v:
- EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("c6",0x1E7F,0x1E7E)))
- OutputChar("v","V")
- else if (Ebene = 3)
- send {blind}_
- else if (Ebene = 4)
- if (not(lernModus) or lernModus_neo_Backspace)
- Send {blind}{Backspace}
- else
- {
- CompKey := PriorCompKey
- DeadKey := PriorDeadKey
- } ; leer
- else if (Ebene = 6)
- SendUnicodeChar(0x2259) ; estimates
+ EbeneAktualisieren()
+ if (Ebene12 and !(CheckDeadUni12("c6",0x1E7F,0x1E7E)))
+ OutputChar("v","V")
+ else if (Ebene = 3)
+ send {blind}_
+ else if (Ebene = 4)
+ if (not(lernModus) or lernModus_neo_Backspace)
+ Send {blind}{Backspace}
+ else
+ {
+ CompKey := PriorCompKey
+ DeadKey := PriorDeadKey
+ } ; leer
+ else if (Ebene = 6)
+ SendUnicodeChar(0x2259) ; estimates
return
neo_l:
- EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a1",0x013A,0x0139)
- or CheckDeadUni12("a3",0x013C,0x013B)
- or CheckDeadUni12("c2",0x013E,0x013D)
- or CheckDeadUni12("c4",0x0140,0x013F)
- or CheckDeadUni12("c6",0x1E37,0x1E36)
- or CheckDeadUni12("t4",0x0142,0x0141)))
- OutputChar("l","L")
- else if (Ebene = 3)
- send {blind}[
- else if (Ebene = 4)
- Send {Blind}{Up}
- else if (Ebene = 5)
- SendUnicodeChar(0x03BB) ; lambda
- else if (Ebene = 6)
- SendUnicodeChar(0x039B) ; Lambda
+ EbeneAktualisieren()
+ if (Ebene12 and !(CheckDeadUni12("a1",0x013A,0x0139)
+ or CheckDeadUni12("a3",0x013C,0x013B)
+ or CheckDeadUni12("c2",0x013E,0x013D)
+ or CheckDeadUni12("c4",0x0140,0x013F)
+ or CheckDeadUni12("c6",0x1E37,0x1E36)
+ or CheckDeadUni12("t4",0x0142,0x0141)))
+ OutputChar("l","L")
+ else if (Ebene = 3)
+ send {blind}[
+ else if (Ebene = 4)
+ Send {Blind}{Up}
+ else if (Ebene = 5)
+ SendUnicodeChar(0x03BB) ; lambda
+ else if (Ebene = 6)
+ SendUnicodeChar(0x039B) ; Lambda
return
neo_c:
- EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a1",0x0107,0x0106)
- or CheckDeadUni12("a3",0x00E7,0x00E6)
- or CheckDeadUni12("a4",0x010B,0x010A)
- or CheckDeadUni12("c1",0x0109,0x0108)
- or CheckDeadUni12("c2",0x010D,0x010C)
- or CheckCompAsc12("o","©","©")
- or CheckCompAsc12("O","©","©")))
- OutputChar("c","C")
- else if (Ebene = 3)
- send {blind}]
- else if (Ebene = 4)
- if (not(lernModus) or lernModus_neo_Entf)
- Send {blind}{Del}
- else
- {
- CompKey := PriorCompKey
- DeadKey := PriorDeadKey
- } ; leer
- else if (Ebene = 5)
- SendUnicodeChar(0x03C7) ;chi
- else if (Ebene = 6)
- SendUnicodeChar(0x2102) ; C (Komplexe Zahlen)
+ EbeneAktualisieren()
+ if (Ebene12 and !(CheckDeadUni12("a1",0x0107,0x0106)
+ or CheckDeadUni12("a3",0x00E7,0x00E6)
+ or CheckDeadUni12("a4",0x010B,0x010A)
+ or CheckDeadUni12("c1",0x0109,0x0108)
+ or CheckDeadUni12("c2",0x010D,0x010C)
+ or CheckCompAsc12("o","©","©")
+ or CheckCompAsc12("O","©","©")))
+ OutputChar("c","C")
+ else if (Ebene = 3)
+ send {blind}]
+ else if (Ebene = 4)
+ if (not(lernModus) or lernModus_neo_Entf)
+ Send {blind}{Del}
+ else
+ {
+ CompKey := PriorCompKey
+ DeadKey := PriorDeadKey
+ } ; leer
+ else if (Ebene = 5)
+ SendUnicodeChar(0x03C7) ;chi
+ else if (Ebene = 6)
+ SendUnicodeChar(0x2102) ; C (Komplexe Zahlen)
return
neo_w:
- EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("c1",0x0175,0x0174)))
- OutputChar("w","W")
- else if (Ebene = 3)
- SendUnicodeChar(0x005E) ; untotes ^ - Unicode-Name: CIRCUMFLEX ACCENT
- ;send {^}{space} ; Funktioniert nicht unter Java-Programmen
- else if (Ebene = 4)
- Send {blind}{Insert}
- else if (Ebene = 5)
- SendUnicodeChar(0x03C9) ; omega
- else if (Ebene = 6)
- SendUnicodeChar(0x03A9) ; Omega
+ EbeneAktualisieren()
+ if (Ebene12 and !(CheckDeadUni12("c1",0x0175,0x0174)))
+ OutputChar("w","W")
+ else if (Ebene = 3)
+ SendUnicodeChar(0x005E) ; untotes ^ - Unicode-Name: CIRCUMFLEX ACCENT
+ ;send {^}{space} ; Funktioniert nicht unter Java-Programmen
+ else if (Ebene = 4)
+ Send {blind}{Insert}
+ else if (Ebene = 5)
+ SendUnicodeChar(0x03C9) ; omega
+ else if (Ebene = 6)
+ SendUnicodeChar(0x03A9) ; Omega
return
neo_k:
- EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a3",0x0137,0x0136)
- or CheckDeadUni12("c6",0x1E33,0x1E32)))
- OutputChar("k","K")
- else if (Ebene = 3)
- send {blind}{!}
- else if (Ebene = 4)
- Send ¡
- else if (Ebene = 5)
- SendUnicodeChar(0x03F0) ;kappa symbol (varkappa)
- else if (Ebene = 6)
- SendUnicodeChar(0x221A) ; Wurzel
+ EbeneAktualisieren()
+ if (Ebene12 and !(CheckDeadUni12("a3",0x0137,0x0136)
+ or CheckDeadUni12("c6",0x1E33,0x1E32)))
+ OutputChar("k","K")
+ else if (Ebene = 3)
+ send {blind}{!}
+ else if (Ebene = 4)
+ Send ¡
+ else if (Ebene = 5)
+ SendUnicodeChar(0x03F0) ;kappa symbol (varkappa)
+ else if (Ebene = 6)
+ SendUnicodeChar(0x221A) ; Wurzel
return
neo_h:
- EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a4",0x1E23,0x1E22)
- or CheckDeadUni12("c1",0x0125,0x0124)
- or CheckDeadUni12("c5",0x0127,0x0126)
- or CheckDeadUni12("c6",0x1E25,0x1E24)))
- OutputChar("h","H")
- else if ((Ebene = 3) and !(CheckDeadUni("c5",0x2264))) ; kleiner gleich
- send {blind}<
- else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2077)
- or CheckDeadUni("c5",0x2087)))
- Send {blind}{NumPad7}
- else if (Ebene = 5)
- SendUnicodeChar(0x03C8) ;psi
- else if (Ebene = 6)
- SendUnicodeChar(0x03A8) ; Psi
+ EbeneAktualisieren()
+ if (Ebene12 and !(CheckDeadUni12("a4",0x1E23,0x1E22)
+ or CheckDeadUni12("c1",0x0125,0x0124)
+ or CheckDeadUni12("c5",0x0127,0x0126)
+ or CheckDeadUni12("c6",0x1E25,0x1E24)))
+ OutputChar("h","H")
+ else if ((Ebene = 3) and !(CheckDeadUni("c5",0x2264))) ; kleiner gleich
+ send {blind}<
+ else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2077)
+ or CheckDeadUni("c5",0x2087)))
+ Send {blind}{NumPad7}
+ else if (Ebene = 5)
+ SendUnicodeChar(0x03C8) ;psi
+ else if (Ebene = 6)
+ SendUnicodeChar(0x03A8) ; Psi
return
neo_g:
- EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a3",0x0123,0x0122)
- or CheckDeadUni12("a4",0x0121,0x0120)
- or CheckDeadUni12("c1",0x011D,0x011C)
- or CheckDeadUni12("c3",0x011F,0x011E)))
- OutputChar("g","G")
- else if ((Ebene = 3) and !(CheckDeadUni("c5",0x2265))) ; größer gleich
- send {blind}>
- else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2078)
- or CheckDeadUni("c5",0x2088)))
- Send {blind}{NumPad8}
- else if (Ebene = 5)
- SendUnicodeChar(0x03B3) ;gamma
- else if (Ebene = 6)
- SendUnicodeChar(0x0393) ; Gamma
+ EbeneAktualisieren()
+ if (Ebene12 and !(CheckDeadUni12("a3",0x0123,0x0122)
+ or CheckDeadUni12("a4",0x0121,0x0120)
+ or CheckDeadUni12("c1",0x011D,0x011C)
+ or CheckDeadUni12("c3",0x011F,0x011E)))
+ OutputChar("g","G")
+ else if ((Ebene = 3) and !(CheckDeadUni("c5",0x2265))) ; größer gleich
+ send {blind}>
+ else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2078)
+ or CheckDeadUni("c5",0x2088)))
+ Send {blind}{NumPad8}
+ else if (Ebene = 5)
+ SendUnicodeChar(0x03B3) ;gamma
+ else if (Ebene = 6)
+ SendUnicodeChar(0x0393) ; Gamma
return
neo_f:
- EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a4",0x1E1F,0x1E1E)
- or CheckDeadUni12("t4",0x0192,0x0191)))
- OutputChar("f","F")
- else if ((Ebene = 3) and !(CheckDeadUni("a6",0x2257) ; ring equal to
- or CheckDeadUni("c1",0x2259) ; entspricht
- or CheckDeadUni("c2",0x225A) ; EQUIANGULAR TO
- or CheckDeadUni("c5",0x2261) ; identisch
- or CheckDeadUni("t1",0x2245) ; ungefähr gleich
- or CheckDeadUni("t4",0x2260))) ; ungleich
- send {blind}`=
- else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2079)
- or CheckDeadUni("c5",0x2089)))
- Send {blind}{NumPad9}
- else if (Ebene = 5)
- SendUnicodeChar(0x03C6) ; phi
- else if (Ebene = 6)
- SendUnicodeChar(0x03A6) ; Phi
+ EbeneAktualisieren()
+ if (Ebene12 and !(CheckDeadUni12("a4",0x1E1F,0x1E1E)
+ or CheckDeadUni12("t4",0x0192,0x0191)))
+ OutputChar("f","F")
+ else if ((Ebene = 3) and !(CheckDeadUni("a6",0x2257) ; ring equal to
+ or CheckDeadUni("c1",0x2259) ; entspricht
+ or CheckDeadUni("c2",0x225A) ; EQUIANGULAR TO
+ or CheckDeadUni("c5",0x2261) ; identisch
+ or CheckDeadUni("t1",0x2245) ; ungefähr gleich
+ or CheckDeadUni("t4",0x2260))) ; ungleich
+ send {blind}`=
+ else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2079)
+ or CheckDeadUni("c5",0x2089)))
+ Send {blind}{NumPad9}
+ else if (Ebene = 5)
+ SendUnicodeChar(0x03C6) ; phi
+ else if (Ebene = 6)
+ SendUnicodeChar(0x03A6) ; Phi
return
neo_q:
@@ -608,281 +605,298 @@ neo_q:
return
neo_sz:
- EbeneAktualisieren()
- if (Ebene = 1)
- if (GetKeyState("CapsLock","T"))
- SendUnicodeChar(0x1E9E) ; verssal-ß
- else if (LangSTastatur = 1)
- send {blind}s
- else
- send ß
- else if (Ebene = 2)
- if (GetKeyState("CapsLock","T"))
- if (LangSTastatur = 1)
- send {blind}s
- else
- send ß
- else
- SendUnicodeChar(0x1E9E) ; versal-ß
- else if (Ebene = 3)
+ EbeneAktualisieren()
+ if (Ebene = 1)
+ if (GetKeyState("CapsLock","T"))
+ SendUnicodeChar(0x1E9E) ; versal-ß
+ else if (LangSTastatur = 1)
+ send {blind}s
+ else
+ send ß
+ else if (Ebene = 2)
+ if (GetKeyState("CapsLock","T"))
if (LangSTastatur = 1)
- send ß
+ send {blind}s
else
- SendUnicodeChar(0x017F) ; langes s
- else if (Ebene = 5)
- SendUnicodeChar(0x03C2) ; varsigma
- else if (Ebene = 6)
- SendUnicodeChar(0x2218) ; Verknüpfungsoperator
+ send ß
+ else
+ SendUnicodeChar(0x1E9E) ; versal-ß
+ else if (Ebene = 3)
+ if (LangSTastatur = 1)
+ send ß
+ else
+ SendUnicodeChar(0x017F) ; langes s
+ else if (Ebene = 5)
+ SendUnicodeChar(0x03C2) ; varsigma
+ else if (Ebene = 6)
+ SendUnicodeChar(0x2218) ; Verknüpfungsoperator
return
neo_tot3:
- EbeneAktualisieren()
- if (Ebene = 1)
- {
- deadUni(0x02DC) ; tilde, tot
- DeadKey := "t1"
- }
- else if (Ebene = 2)
- {
- deadUni(0x00AF) ; macron, tot
- DeadKey := "t2"
- }
- else if (Ebene = 3)
- {
- deadUni(0x00A8) ; diaerese
- DeadKey := "t3"
- }
- else if (Ebene = 4)
- {
- deadUni(0x002F) ; Schrägstrich, tot
- DeadKey := "t4"
- }
- else if (Ebene = 5)
- {
- deadUni(0x02DD) ;doppelakut
- DeadKey := "t5"
- }
- else if (Ebene = 6)
- {
- deadUni(0x02CF) ; komma drunter, tot
- DeadKey := "t6"
- }
-
+ EbeneAktualisieren()
+ if (Ebene = 1)
+ {
+ deadUni(0x02DC) ;Tilde, tot
+ DeadKey := "t1"
+ }
+ else if (Ebene = 2)
+ {
+ deadUni(0x00AF) ; Macron, tot
+ DeadKey := "t2"
+ }
+ else if (Ebene = 3)
+ {
+ deadUni(0x00A8) ; Diärese
+ DeadKey := "t3"
+ }
+ else if (Ebene = 4)
+ {
+ deadUni(0x002F) ; Schrägstrich, tot
+ DeadKey := "t4"
+ }
+ else if (Ebene = 5)
+ {
+ deadUni(0x02DD) ;Doppelakut
+ DeadKey := "t5"
+ }
+ else if (Ebene = 6)
+ {
+ deadUni(0x02CF) ; Komma drunter, tot
+ DeadKey := "t6"
+ }
+
return
/*
- ------------------------------------------------------
- Reihe 3
- ------------------------------------------------------
+
+ Reihe 3
+
*/
neo_u:
- EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a1",0x00FA,0x00DA)
- or CheckDeadUni12("a2",0x00F9,0x00D9)
- or CheckDeadUni12("a5",0x0173,0x0172)
- or CheckDeadUni12("a6",0x016F,0x016E)
- or CheckDeadUni12("c1",0x00FB,0x00DB)
- or CheckDeadUni12("c2",0x01D4,0x01D3)
- or CheckDeadUni12("c3",0x016D,0x016C)
- or CheckDeadUni12("t1",0x0169,0x0168)
- or CheckDeadUni12("t2",0x016B,0x016A)
- or CheckDeadAsc12("t3","ü","Ü")
- or CheckDeadUni12("t5",0x0171,0x0170)))
- OutputChar("u","U")
- else if (Ebene = 3)
- send {blind}\
- else if (Ebene = 4)
- Send {blind}{Home}
- else if (Ebene = 5)
- {
- CompKey := PriorCompKey
- DeadKey := PriorDeadKey
- } ; leer
- else if (Ebene = 6)
- SendUnicodeChar(0x222E) ; contour integral
+ EbeneAktualisieren()
+ if (Ebene12 and !(CheckDeadUni12("a1",0x00FA,0x00DA)
+ or CheckDeadUni12("a2",0x00F9,0x00D9)
+ or CheckDeadUni12("a5",0x0173,0x0172)
+ or CheckDeadUni12("a6",0x016F,0x016E)
+ or CheckDeadUni12("c1",0x00FB,0x00DB)
+ or CheckDeadUni12("c2",0x01D4,0x01D3)
+ or CheckDeadUni12("c3",0x016D,0x016C)
+ or CheckDeadUni12("t1",0x0169,0x0168)
+ or CheckDeadUni12("t2",0x016B,0x016A)
+ or CheckDeadAsc12("t3","ü","Ü")
+ or CheckDeadUni12("t5",0x0171,0x0170)))
+ OutputChar("u","U")
+ else if (Ebene = 3)
+ send {blind}\
+ else if (Ebene = 4)
+ Send {blind}{Home}
+ else if (Ebene = 5)
+ {
+ CompKey := PriorCompKey
+ DeadKey := PriorDeadKey
+ } ; leer
+ else if (Ebene = 6)
+ SendUnicodeChar(0x222E) ; contour integral
return
neo_i:
- EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a1",0x00ED,0x00CD)
- or CheckDeadUni12("a2",0x00EC,0x00CC)
- or CheckDeadUni12("a4",0x012F,0x012E)
- or CheckDeadUni12("a5",0x0131,0x0130)
- or CheckDeadUni12("c1",0x00EE,0x00CE)
- or CheckDeadUni12("c2",0x01D0,0x01CF)
- or CheckDeadUni12("c3",0x012D,0x012C)
- or CheckDeadUni12("t1",0x0129,0x0128)
- or CheckDeadUni12("t2",0x012B,0x012A)
- or CheckDeadAsc12("t3","ï","Ï")))
- OutputChar("i","I")
- else if (Ebene = 3)
- send {blind}`/
- else if (Ebene = 4)
- Send {Blind}{Left}
- else if (Ebene = 5 )
- SendUnicodeChar(0x03B9) ; iota
- else if (Ebene = 6)
- SendUnicodeChar(0x222B) ; integral
+ EbeneAktualisieren()
+ if (Ebene12 and !(CheckDeadUni12("a1",0x00ED,0x00CD)
+ or CheckDeadUni12("a2",0x00EC,0x00CC)
+ or CheckDeadUni12("a4",0x012F,0x012E)
+ or CheckDeadUni12("a5",0x0131,0x0130)
+ or CheckDeadUni12("c1",0x00EE,0x00CE)
+ or CheckDeadUni12("c2",0x01D0,0x01CF)
+ or CheckDeadUni12("c3",0x012D,0x012C)
+ or CheckDeadUni12("t1",0x0129,0x0128)
+ or CheckDeadUni12("t2",0x012B,0x012A)
+ or CheckDeadAsc12("t3","ï","Ï")))
+ OutputChar("i","I")
+ else if (Ebene = 3)
+ send {blind}`/
+ else if (Ebene = 4)
+ Send {Blind}{Left}
+ else if (Ebene = 5 )
+ SendUnicodeChar(0x03B9) ; iota
+ else if (Ebene = 6)
+ SendUnicodeChar(0x222B) ; integral
return
neo_a:
- EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a1",0x00E1,0x00C1)
- or CheckDeadUni12("a2",0x00E0,0x00C0)
- or CheckDeadUni12("a5",0x0105,0x0104)
- or CheckDeadAsc12("a6","å","Å")
- or CheckDeadUni12("c1",0x00E2,0x00C2)
- or CheckDeadUni12("c2",0x01CE,0x01CD)
- or CheckDeadUni12("c3",0x0103,0x0102)
- or CheckDeadUni12("t1",0x00E3,0x00C3)
- or CheckDeadUni12("t2",0x0101,0x0100)
- or CheckDeadAsc12("t3","ä","Ä")))
- OutputChar("a","A")
- else if (Ebene = 3)
- send {blind}{{} ; }
- else if (Ebene = 4)
- Send {Blind}{Down}
- else if (Ebene = 5)
- SendUnicodeChar(0x03B1) ;alpha
- else if (Ebene = 6)
- SendUnicodeChar(0x2200) ;fuer alle
+ EbeneAktualisieren()
+ if (Ebene12 and !(CheckDeadUni12("a1",0x00E1,0x00C1)
+ or CheckDeadUni12("a2",0x00E0,0x00C0)
+ or CheckDeadUni12("a5",0x0105,0x0104)
+ or CheckDeadAsc12("a6","å","Å")
+ or CheckDeadUni12("c1",0x00E2,0x00C2)
+ or CheckDeadUni12("c2",0x01CE,0x01CD)
+ or CheckDeadUni12("c3",0x0103,0x0102)
+ or CheckDeadUni12("t1",0x00E3,0x00C3)
+ or CheckDeadUni12("t2",0x0101,0x0100)
+ or CheckDeadAsc12("t3","ä","Ä")))
+ OutputChar("a","A")
+ else if (Ebene = 3)
+ send {blind}{{}
+ else if (Ebene = 4)
+ Send {Blind}{Down}
+ else if (Ebene = 5)
+ SendUnicodeChar(0x03B1) ;alpha
+ else if (Ebene = 6)
+ SendUnicodeChar(0x2200) ;für alle
return
neo_e:
- EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a1",0x00E9,0x00C9)
- or CheckDeadUni12("a2",0x00E8,0x00C8)
- or CheckDeadUni12("a4",0x0117,0x0116)
- or CheckDeadUni12("a5",0x0119,0x0118)
- or CheckDeadUni12("c1",0x00EA,0x00CA)
- or CheckDeadUni12("c2",0x011B,0x011A)
- or CheckDeadUni12("c3",0x0115,0x0114)
- or CheckDeadUni12("t2",0x0113,0x0112)
- or CheckDeadAsc12("t3","ë","Ë")
- or CheckCompAsc12("a","æ","Æ")
- or CheckCompAsc12("A","Æ","Æ")
- or CheckCompAsc12("o","œ","Œ")
- or CheckCompAsc12("O","Œ","Œ")))
- OutputChar("e","E")
- else if (Ebene = 3) ; {
- send {blind}{}}
- else if (Ebene = 4)
- Send {Blind}{Right}
- else if (Ebene = 5)
- SendUnicodeChar(0x03B5) ;epsilon
- else if (Ebene = 6)
- SendUnicodeChar(0x2203) ;es existiert
+ EbeneAktualisieren()
+ if (Ebene12 and !(CheckDeadUni12("a1",0x00E9,0x00C9)
+ or CheckDeadUni12("a2",0x00E8,0x00C8)
+ or CheckDeadUni12("a4",0x0117,0x0116)
+ or CheckDeadUni12("a5",0x0119,0x0118)
+ or CheckDeadUni12("c1",0x00EA,0x00CA)
+ or CheckDeadUni12("c2",0x011B,0x011A)
+ or CheckDeadUni12("c3",0x0115,0x0114)
+ or CheckDeadUni12("t2",0x0113,0x0112)
+ or CheckDeadAsc12("t3","ë","Ë")
+ or CheckCompAsc12("a","æ","Æ")
+ or CheckCompAsc12("A","Æ","Æ")
+ or CheckCompAsc12("o","œ","Œ")
+ or CheckCompAsc12("O","Œ","Œ")))
+ OutputChar("e","E")
+ else if (Ebene = 3) ; {
+ send {blind}{}}
+ else if (Ebene = 4)
+ Send {Blind}{Right}
+ else if (Ebene = 5)
+ SendUnicodeChar(0x03B5) ;epsilon
+ else if (Ebene = 6)
+ SendUnicodeChar(0x2203) ;es existiert
return
neo_o:
- EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a1",0x00F3,0x00D3)
- or CheckDeadUni12("a2",0x00F2,0x00D2)
- or CheckDeadUni12("a5",0x01EB,0x01EA)
- or CheckDeadUni12("c1",0x00F4,0x00D4)
- or CheckDeadUni12("c2",0x01D2,0x01D1)
- or CheckDeadUni12("c3",0x014F,0x014E)
- or CheckDeadUni12("t1",0x00F5,0x00D5)
- or CheckDeadUni12("t2",0x014D,0x014C)
- or CheckDeadAsc12("t3","ö","Ö")
- or CheckDeadUni12("t4",0x00F8,0x00D8)
- or CheckDeadUni12("t5",0x0151,0x0150)))
- OutputChar("o","O")
- else if (Ebene = 3)
- send {blind}*
- else if (Ebene = 4)
- Send {blind}{End}
- else if (Ebene = 5)
- SendUnicodeChar(0x03BF) ; omicron
- else if (Ebene = 6)
- SendUnicodeChar(0x2208) ; element of
+ EbeneAktualisieren()
+ if (Ebene12 and !(CheckDeadUni12("a1",0x00F3,0x00D3)
+ or CheckDeadUni12("a2",0x00F2,0x00D2)
+ or CheckDeadUni12("a5",0x01EB,0x01EA)
+ or CheckDeadUni12("c1",0x00F4,0x00D4)
+ or CheckDeadUni12("c2",0x01D2,0x01D1)
+ or CheckDeadUni12("c3",0x014F,0x014E)
+ or CheckDeadUni12("t1",0x00F5,0x00D5)
+ or CheckDeadUni12("t2",0x014D,0x014C)
+ or CheckDeadAsc12("t3","ö","Ö")
+ or CheckDeadUni12("t4",0x00F8,0x00D8)
+ or CheckDeadUni12("t5",0x0151,0x0150)))
+ OutputChar("o","O")
+ else if (Ebene = 3)
+ send {blind}*
+ else if (Ebene = 4)
+ Send {blind}{End}
+ else if (Ebene = 5)
+ SendUnicodeChar(0x03BF) ; omicron
+ else if (Ebene = 6)
+ SendUnicodeChar(0x2208) ; element of
return
neo_s:
- EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a1",0x015B,0x015A)
- or CheckDeadUni12("a3",0x015F,0x015E)
- or CheckDeadUni12("a4",0x1E61,0x1E60)
- or CheckDeadUni12("c1",0x015D,0x015C)
- or CheckDeadUni12("c2",0x0161,0x0160)
- or CheckDeadUni12("c6",0x1E63,0x1A62)))
- if (LangSTastatur = 1)
- if (GetKeyState("CapsLock","T") xor (Ebene = 1))
- SendUnicodeChar(0x017F) ; langes s
- else
- OutputChar("s","S")
- else
- OutputChar("s","S")
- else if (Ebene = 3)
- send {blind}?
- else if (Ebene = 4)
- Send ¿
- else if (Ebene = 5)
- SendUnicodeChar(0x03C3) ;sigma
- else if (Ebene = 6)
- SendUnicodeChar(0x03A3) ; Sigma
+ EbeneAktualisieren()
+ if (Ebene12 and !(CheckDeadUni12("a1",0x015B,0x015A)
+ or CheckDeadUni12("a3",0x015F,0x015E)
+ or CheckDeadUni12("a4",0x1E61,0x1E60)
+ or CheckDeadUni12("c1",0x015D,0x015C)
+ or CheckDeadUni12("c2",0x0161,0x0160)
+ or CheckDeadUni12("c6",0x1E63,0x1A62)))
+ if (Ebene = 1)
+ {
+ if LangSTastatur
+ if (GetKeyState("CapsLock","T"))
+ send {blind}s
+ else
+ SendUnicodeChar(0x017F) ;langes S
+ else
+ send {blind}s
+ if (PriorDeadKey = "comp")
+ CompKey := "s"
+ }
+ else if (Ebene = 2)
+ {
+ if LangSTastatur
+ if (GetKeyState("CapsLock","T"))
+ SendUnicodeChar(0x017F) ;langes S
+ else
+ send {blind}S
+ else
+ send {blind}S
+ if (PriorDeadKey = "comp")
+ CompKey := "S"
+ }
+ else if (Ebene = 3)
+ send {blind}?
+ else if (Ebene = 4)
+ Send ¿
+ else if (Ebene = 5)
+ SendUnicodeChar(0x03C3) ;sigma
+ else if (Ebene = 6)
+ SendUnicodeChar(0x03A3) ; Sigma
return
neo_n:
- EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a1",0x0144,0x0143)
- or CheckDeadUni12("a3",0x0146,0x0145)
- or CheckDeadUni12("a4",0x1E45,0x1E44)
- or CheckDeadUni12("c2",0x0148,0x0147)
- or CheckDeadUni12("t1",0x00F1,0x00D1)))
- OutputChar("n","N")
- else if (Ebene = 3)
- send {blind}( ; )
- else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2074)
- or CheckDeadUni("c5",0x2084)))
- Send {blind}{NumPad4}
- else if (Ebene = 5)
- SendUnicodeChar(0x03BD) ; nu
- else if (Ebene = 6)
- SendUnicodeChar(0x2115) ; N (natürliche Zahlen)
+ EbeneAktualisieren()
+ if (Ebene12 and !(CheckDeadUni12("a1",0x0144,0x0143)
+ or CheckDeadUni12("a3",0x0146,0x0145)
+ or CheckDeadUni12("a4",0x1E45,0x1E44)
+ or CheckDeadUni12("c2",0x0148,0x0147)
+ or CheckDeadUni12("t1",0x00F1,0x00D1)))
+ OutputChar("n","N")
+ else if (Ebene = 3)
+ send {blind}( ; )
+ else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2074)
+ or CheckDeadUni("c5",0x2084)))
+ Send {blind}{NumPad4}
+ else if (Ebene = 5)
+ SendUnicodeChar(0x03BD) ; nu
+ else if (Ebene = 6)
+ SendUnicodeChar(0x2115) ; N (natürliche Zahlen)
return
neo_r:
- EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a1",0x0155,0x0154)
- or CheckDeadUni12("a3",0x0157,0x0156)
- or CheckDeadUni12("a4",0x0E59,0x0E58)
- or CheckDeadUni12("c2",0x0159,0x0158)
- or CheckDeadUni12("c6",0x1E5B,0x1E5A)
- or CheckCompAsc12("o","®","®")
- or CheckCompAsc12("O","®","®")))
- OutputChar("r","R")
- else if (Ebene = 3) ;(
- send {blind})
- else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2075)
- or CheckDeadUni("c5",0x2085)))
- Send {blind}{NumPad5}
- else if (Ebene = 5)
- SendUnicodeChar(0x03F1) ; rho symbol (varrho)
- else if (Ebene = 6)
- SendUnicodeChar(0x211D) ; R (reelle Zahlen)
+ EbeneAktualisieren()
+ if (Ebene12 and !(CheckDeadUni12("a1",0x0155,0x0154)
+ or CheckDeadUni12("a3",0x0157,0x0156)
+ or CheckDeadUni12("a4",0x0E59,0x0E58)
+ or CheckDeadUni12("c2",0x0159,0x0158)
+ or CheckDeadUni12("c6",0x1E5B,0x1E5A)
+ or CheckCompAsc12("o","®","®")
+ or CheckCompAsc12("O","®","®")))
+ OutputChar("r","R")
+ else if (Ebene = 3) ;(
+ send {blind})
+ else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2075)
+ or CheckDeadUni("c5",0x2085)))
+ Send {blind}{NumPad5}
+ else if (Ebene = 5)
+ SendUnicodeChar(0x03F1) ; rho symbol (varrho)
+ else if (Ebene = 6)
+ SendUnicodeChar(0x211D) ; R (reelle Zahlen)
return
neo_t:
- EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a3",0x0163,0x0162)
- or CheckDeadUni12("a4",0x1E6B,0x1E6A)
- or CheckDeadUni12("c2",0x0165,0x0164)
- or CheckDeadUni12("c5",0x0167,0x0166)
- or CheckDeadUni12("c6",0x1E6D,0x1E6C)))
- OutputChar("t","T")
- else if (Ebene = 3)
- send {blind}- ; Bis
- else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2076)
- or CheckDeadUni("c5",0x2086)))
- Send {blind}{NumPad6}
- else if (Ebene = 5)
- SendUnicodeChar(0x03C4) ; tau
- else if (Ebene = 6)
- SendUnicodeChar(0x2202 ) ; partielle Ableitung
+ EbeneAktualisieren()
+ if (Ebene12 and !(CheckDeadUni12("a3",0x0163,0x0162)
+ or CheckDeadUni12("a4",0x1E6B,0x1E6A)
+ or CheckDeadUni12("c2",0x0165,0x0164)
+ or CheckDeadUni12("c5",0x0167,0x0166)
+ or CheckDeadUni12("c6",0x1E6D,0x1E6C)))
+ OutputChar("t","T")
+ else if (Ebene = 3)
+ send {blind}- ; Bis
+ else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2076)
+ or CheckDeadUni("c5",0x2086)))
+ Send {blind}{NumPad6}
+ else if (Ebene = 5)
+ SendUnicodeChar(0x03C4) ; tau
+ else if (Ebene = 6)
+ SendUnicodeChar(0x2202 ) ; partielle Ableitung
return
neo_d:
@@ -904,719 +918,710 @@ neo_d:
return
neo_y:
- EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a1",0x00FD,0x00DD)
- or CheckDeadUni12("c1",0x0177,0x0176)
- or CheckDeadAsc12("t3","ÿ",Ÿ)))
- OutputChar("y","Y")
- else if (Ebene = 3)
- send {blind}@
- else if (Ebene = 4)
- Send {blind}.
- else if (Ebene = 5)
- SendUnicodeChar(0x03C5) ; upsilon
- else if (Ebene = 6)
- SendUnicodeChar(0x2207) ; nabla
+ EbeneAktualisieren()
+ if (Ebene12 and !(CheckDeadUni12("a1",0x00FD,0x00DD)
+ or CheckDeadUni12("c1",0x0177,0x0176)
+ or CheckDeadAsc12("t3","ÿ",Ÿ)))
+ OutputChar("y","Y")
+ else if (Ebene = 3)
+ send {blind}@
+ else if (Ebene = 4)
+ Send {blind}.
+ else if (Ebene = 5)
+ SendUnicodeChar(0x03C5) ; upsilon
+ else if (Ebene = 6)
+ SendUnicodeChar(0x2207) ; nabla
return
/*
- ------------------------------------------------------
- Reihe 4
- ------------------------------------------------------
+
+ Reihe 4
+
*/
neo_ü:
- EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a1",0x01D8,0x01D7)
- or CheckDeadUni12("a2",0x01DC,0x01DB)
- or CheckDeadUni12("c2",0x01DA,0x01D9)
- or CheckDeadUni12("t2",0x01D6,0x01D5)))
- OutputChar("ü","Ü")
- else if (Ebene = 3)
- send {blind}{#}
- else if (Ebene = 4)
- Send {blind}{Esc}
- else if (Ebene = 5)
- {
- DeadKey := PriorDeadKey
- CompKey := PriorCompKey
- } ; leer
- else if (Ebene = 6)
- SendUnicodeChar(0x221D) ; proportional
+ EbeneAktualisieren()
+ if (Ebene12 and !(CheckDeadUni12("a1",0x01D8,0x01D7)
+ or CheckDeadUni12("a2",0x01DC,0x01DB)
+ or CheckDeadUni12("c2",0x01DA,0x01D9)
+ or CheckDeadUni12("t2",0x01D6,0x01D5)))
+ OutputChar("ü","Ü")
+ else if (Ebene = 3)
+ send {#}
+ else if (Ebene = 4)
+ Send {blind}{Esc}
+ else if (Ebene = 5)
+ {
+ DeadKey := PriorDeadKey
+ CompKey := PriorCompKey
+ } ; leer
+ else if (Ebene = 6)
+ SendUnicodeChar(0x221D) ; proportional
return
neo_ö:
- EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("t2",0x022B,0x022A)))
- OutputChar("ö","Ö")
- else if (Ebene = 3)
- send {blind}$
- else if (Ebene = 4)
- send {blind}{Tab}
- else if (Ebene = 5)
- {
- DeadKey := PriorDeadKey
- CompKey := PriorCompKey
- } ; leer
- else if (Ebene = 6)
- SendUnicodeChar(0x2111) ; Fraktur I
+ EbeneAktualisieren()
+ if (Ebene12 and !(CheckDeadUni12("t2",0x022B,0x022A)))
+ OutputChar("ö","Ö")
+ else if (Ebene = 3)
+ send {blind}$
+ else if (Ebene = 4)
+ send {blind}{Tab}
+ else if (Ebene = 5)
+ {
+ DeadKey := PriorDeadKey
+ CompKey := PriorCompKey
+ } ; leer
+ else if (Ebene = 6)
+ SendUnicodeChar(0x2111) ; Fraktur I
return
neo_ä:
- EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("t2",0x01DF,0x01DE)))
- OutputChar("ä","Ä")
- else if (Ebene = 3)
- send {blind}|
- else if (Ebene = 4)
- Send {blind}{PgDn} ; Next
- else if (Ebene = 5)
- SendUnicodeChar(0x03B7) ; eta
- else if (Ebene = 6)
- SendUnicodeChar(0x211C) ; altes R
+ EbeneAktualisieren()
+ if (Ebene12 and !(CheckDeadUni12("t2",0x01DF,0x01DE)))
+ OutputChar("ä","Ä")
+ else if (Ebene = 3)
+ send {blind}|
+ else if (Ebene = 4)
+ Send {blind}{PgDn} ; Next
+ else if (Ebene = 5)
+ SendUnicodeChar(0x03B7) ; eta
+ else if (Ebene = 6)
+ SendUnicodeChar(0x211C) ; altes R
return
neo_p:
- EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a4",0x1E57,0x1E56)))
- OutputChar("p","P")
- else if ((Ebene = 3) and !(CheckDeadUni("t1",0x2248)))
- send {blind}~
- else if (Ebene = 4)
- Send {blind}{Enter}
- else if (Ebene = 5)
- SendUnicodeChar(0x03C0) ;pi
- else if (Ebene = 6)
- SendUnicodeChar(0x03A0) ; Pi
+ EbeneAktualisieren()
+ if (Ebene12 and !(CheckDeadUni12("a4",0x1E57,0x1E56)))
+ OutputChar("p","P")
+ else if ((Ebene = 3) and !(CheckDeadUni("t1",0x2248)))
+ send {blind}~
+ else if (Ebene = 4)
+ Send {blind}{Enter}
+ else if (Ebene = 5)
+ SendUnicodeChar(0x03C0) ;pi
+ else if (Ebene = 6)
+ SendUnicodeChar(0x03A0) ; Pi
return
neo_z:
- EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a1",0x017A,0x0179)
- or CheckDeadUni12("a4",0x017C,0x017B)
- or CheckDeadUni12("c2",0x017E,0x017D)
- or CheckDeadUni12("c6",0x1E93,0x1E92)))
- OutputChar("z","Z")
- else if (Ebene = 3)
- send ``{space} ; untot
- else if (Ebene = 4)
- {
- DeadKey := PriorDeadKey
- CompKey := PriorCompKey
- } ; leer
- else if (Ebene = 5)
- SendUnicodeChar(0x03B6) ;zeta
- else if (Ebene = 6)
- SendUnicodeChar(0x2124) ; Z (ganze Zahlen)
+ EbeneAktualisieren()
+ if (Ebene12 and !(CheckDeadUni12("a1",0x017A,0x0179)
+ or CheckDeadUni12("a4",0x017C,0x017B)
+ or CheckDeadUni12("c2",0x017E,0x017D)
+ or CheckDeadUni12("c6",0x1E93,0x1E92)))
+ OutputChar("z","Z")
+ else if (Ebene = 3)
+ send ``{space} ; untot
+ else if (Ebene = 4)
+ {
+ DeadKey := PriorDeadKey
+ CompKey := PriorCompKey
+ } ; leer
+ else if (Ebene = 5)
+ SendUnicodeChar(0x03B6) ;zeta
+ else if (Ebene = 6)
+ SendUnicodeChar(0x2124) ; Z (ganze Zahlen)
return
neo_b:
- EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a4",0x1E03,0x1E02)))
- OutputChar("b","B")
- else if (Ebene = 3)
- send {blind}{+}
- else if (Ebene = 4)
- send {blind}:
- else if (Ebene = 5)
- SendUnicodeChar(0x03B2) ; beta
- else if (Ebene = 6)
- SendUnicodeChar(0x21D2) ; Doppel-Pfeil rechts
+ EbeneAktualisieren()
+ if (Ebene12 and !(CheckDeadUni12("a4",0x1E03,0x1E02)))
+ OutputChar("b","B")
+ else if (Ebene = 3)
+ send {blind}{+}
+ else if (Ebene = 4)
+ send {blind}:
+ else if (Ebene = 5)
+ SendUnicodeChar(0x03B2) ; beta
+ else if (Ebene = 6)
+ SendUnicodeChar(0x21D2) ; Doppel-Pfeil rechts
return
neo_m:
- EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a4",0x1E41,0x1E40)
- or CheckDeadUni12("c6",0x1E43,0x1E42)
- or CheckCompUni12("t",0x2122,0x2122) ; TM
- or CheckCompUni12("T",0x2122,0x2122) ; TM
- or CheckCompUni12("s",0x2120,0x2120) ; SM
- or CheckCompUni12("S",0x2120,0x2120))) ; SM
-
- OutputChar("m","M")
- else if (Ebene = 3)
- send {blind}`%
- else if ((Ebene = 4) and !(CheckDeadUni("c1",0x00B9)
- or CheckDeadUni("c5",0x2081)))
- Send {blind}{NumPad1}
- else if (Ebene = 5)
- SendUnicodeChar(0x03BC) ; griechisch mu, micro wäre 0x00B5
- else if (Ebene = 6)
- SendUnicodeChar(0x21D4) ; doppelter Doppelpfeil (genau dann wenn)
+ EbeneAktualisieren()
+ if (Ebene12 and !(CheckDeadUni12("a4",0x1E41,0x1E40)
+ or CheckDeadUni12("c6",0x1E43,0x1E42)
+ or CheckCompUni12("t",0x2122,0x2122) ; TM
+ or CheckCompUni12("T",0x2122,0x2122) ; TM
+ or CheckCompUni12("s",0x2120,0x2120) ; SM
+ or CheckCompUni12("S",0x2120,0x2120))) ; SM
+
+ OutputChar("m","M")
+ else if (Ebene = 3)
+ send {blind}`%
+ else if ((Ebene = 4) and !(CheckDeadUni("c1",0x00B9)
+ or CheckDeadUni("c5",0x2081)))
+ Send {blind}{NumPad1}
+ else if (Ebene = 5)
+ SendUnicodeChar(0x03BC) ; griechisch mu, micro wäre 0x00B5
+ else if (Ebene = 6)
+ SendUnicodeChar(0x21D4) ; doppelter Doppelpfeil (genau dann wenn)
return
neo_komma:
- EbeneAktualisieren()
- if (Ebene = 1)
- if (GetKeyState("CapsLock","T"))
- send {blind}{Shift down},{Shift up}
- else
- send {blind},
- else if (Ebene = 2)
- SendUnicodeChar(0x22EE) ; vertikale ellipse
- else if (Ebene = 3)
- send {blind}"
- else if ((Ebene = 4) and !(CheckDeadUni("c1",0x00B2)
- or CheckDeadUni("c5",0x2082)))
- Send {blind}{NumPad2}
- else if (Ebene = 5)
- SendUnicodeChar(0x03C1) ; rho
- else if (Ebene = 6)
- SendUnicodeChar(0x21D0) ; Doppelpfeil links
+ EbeneAktualisieren()
+ if (Ebene = 1)
+ if (GetKeyState("CapsLock","T"))
+ send {blind}{Shift down},{Shift up}
+ else
+ send {blind},
+ else if (Ebene = 2)
+ SendUnicodeChar(0x22EE) ; vertikale ellipse
+ else if (Ebene = 3)
+ send {blind}"
+ else if ((Ebene = 4) and !(CheckDeadUni("c1",0x00B2)
+ or CheckDeadUni("c5",0x2082)))
+ Send {blind}{NumPad2}
+ else if (Ebene = 5)
+ SendUnicodeChar(0x03C1) ; rho
+ else if (Ebene = 6)
+ SendUnicodeChar(0x21D0) ; Doppelpfeil links
return
neo_punkt:
- EbeneAktualisieren()
- if (Ebene = 1)
- if (GetKeyState("CapsLock","T"))
- send {blind}{Shift down}.{Shift up}
- else
- send {blind}.
- else if (Ebene = 2)
- SendUnicodeChar(0x2026) ; ellipse
- else if (Ebene = 3)
- send {blind}'
- else if ((Ebene = 4) and !(CheckDeadUni("c1",0x00B3)
- or CheckDeadUni("c5",0x2083)))
- Send {blind}{NumPad3}
- else if (Ebene = 5)
- SendUnicodeChar(0x03D1) ; theta symbol (vartheta)
- else if (Ebene = 6)
- SendUnicodeChar(0x0398) ; Theta
+ EbeneAktualisieren()
+ if (Ebene = 1)
+ if (GetKeyState("CapsLock","T"))
+ send {blind}{Shift down}.{Shift up}
+ else
+ send {blind}.
+ else if (Ebene = 2)
+ SendUnicodeChar(0x2026) ; ellipse
+ else if (Ebene = 3)
+ send {blind}'
+ else if ((Ebene = 4) and !(CheckDeadUni("c1",0x00B3)
+ or CheckDeadUni("c5",0x2083)))
+ Send {blind}{NumPad3}
+ else if (Ebene = 5)
+ SendUnicodeChar(0x03D1) ; theta symbol (vartheta)
+ else if (Ebene = 6)
+ SendUnicodeChar(0x0398) ; Theta
return
neo_j:
- EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("c1",0x0135,0x0134)
- or CheckDeadUni12("c2",0x01F0,"")
- or CheckCompUni12("i",0x0133,"") ; ij
- or CheckCompUni12("I","",0x0132) ; IJ
- or CheckCompUni12("l",0x01C9,"") ; lj
- or CheckCompUni12("L",0x01C8,0x01C7) ; Lj/LJ
- or CheckCompUni12("n",0x01CC,"") ; nj
- or CheckCompUni12("N",0x01CB,0x01CA))) ; Nj/NJ
- OutputChar("j","J")
- else if (Ebene = 3)
- send {blind}`;
- else if (Ebene = 4)
- Send {blind}`;
- else if (Ebene = 5)
- SendUnicodeChar(0x03B8) ; theta
- else if (Ebene = 6)
- SendUnicodeChar(0x2261) ; identisch
+ EbeneAktualisieren()
+ if (Ebene12 and !(CheckDeadUni12("c1",0x0135,0x0134)
+ or CheckDeadUni12("c2",0x01F0,"")
+ or CheckCompUni12("i",0x0133,"") ; ij
+ or CheckCompUni12("I","",0x0132) ; IJ
+ or CheckCompUni12("l",0x01C9,"") ; lj
+ or CheckCompUni12("L",0x01C8,0x01C7) ; Lj/LJ
+ or CheckCompUni12("n",0x01CC,"") ; nj
+ or CheckCompUni12("N",0x01CB,0x01CA))) ; Nj/NJ
+ OutputChar("j","J")
+ else if (Ebene = 3)
+ send {blind}`;
+ else if (Ebene = 4)
+ Send {blind}`;
+ else if (Ebene = 5)
+ SendUnicodeChar(0x03B8) ; theta
+ else if (Ebene = 6)
+ SendUnicodeChar(0x2261) ; identisch
return
/*
- ------------------------------------------------------
- Numpad
- ------------------------------------------------------
- folgende Tasten verhalten sich bei ein- und ausgeschaltetem
- NumLock gleich:
+ Numpad
+
+
+ folgende Tasten verhalten sich bei ein- und ausgeschaltetem
+ NumLock gleich:
*/
neo_NumpadDiv:
- EbeneAktualisieren()
- if ((Ebene = 1) or (Ebene = 2))
- send {blind}{NumpadDiv}
- else if (Ebene = 3)
- send {blind}÷
- else if ((Ebene = 4) or (Ebene = 5))
- SendUnicodeChar(0x2215) ; slash
+ EbeneAktualisieren()
+ if ((Ebene = 1) or (Ebene = 2))
+ send {blind}{NumpadDiv}
+ else if (Ebene = 3)
+ send {blind}÷
+ else if ((Ebene = 4) or (Ebene = 5))
+ SendUnicodeChar(0x2215) ; slash
return
neo_NumpadMult:
- EbeneAktualisieren()
- if ((Ebene = 1) or (Ebene = 2))
- send {blind}{NumpadMult}
- else if (Ebene = 3)
- send {blind}×
- else if ((Ebene = 4) or (Ebene = 5))
- SendUnicodeChar(0x22C5) ; cdot
+ EbeneAktualisieren()
+ if ((Ebene = 1) or (Ebene = 2))
+ send {blind}{NumpadMult}
+ else if (Ebene = 3)
+ send {blind}×
+ else if ((Ebene = 4) or (Ebene = 5))
+ SendUnicodeChar(0x22C5) ; cdot
return
neo_NumpadSub:
- EbeneAktualisieren()
- if (((Ebene = 1) or (Ebene = 2)) and !(CheckDeadUni("c1",0x207B)
- or CheckDeadUni("c5",0x208B)))
- send {blind}{NumpadSub}
- else if (Ebene = 3)
- SendUnicodeChar(0x2212) ; echtes minus
+ EbeneAktualisieren()
+ if (((Ebene = 1) or (Ebene = 2)) and !(CheckDeadUni("c1",0x207B)
+ or CheckDeadUni("c5",0x208B)))
+ send {blind}{NumpadSub}
+ else if (Ebene = 3)
+ SendUnicodeChar(0x2212) ; echtes minus
return
neo_NumpadAdd:
- EbeneAktualisieren()
- if (((Ebene = 1) or (Ebene = 2)) and !(CheckDeadUni("c1",0x207A)
- or CheckDeadUni("c5",0x208A)))
- send {blind}{NumpadAdd}
- else if (Ebene = 3)
- send {blind}±
- else if ((Ebene = 4) or (Ebene = 5))
- SendUnicodeChar(0x2213) ; -+
+ EbeneAktualisieren()
+ if (((Ebene = 1) or (Ebene = 2)) and !(CheckDeadUni("c1",0x207A)
+ or CheckDeadUni("c5",0x208A)))
+ send {blind}{NumpadAdd}
+ else if (Ebene = 3)
+ send {blind}±
+ else if ((Ebene = 4) or (Ebene = 5))
+ SendUnicodeChar(0x2213) ; -+
return
neo_NumpadEnter:
- EbeneAktualisieren()
- if ((Ebene = 1) or (Ebene = 2))
- send {blind}{NumpadEnter}
- else if (Ebene = 3)
- SendUnicodeChar(0x2260) ; neq
- else if ((Ebene = 4) or (Ebene = 5))
- SendUnicodeChar(0x2248) ; approx
+ EbeneAktualisieren()
+ if ((Ebene = 1) or (Ebene = 2))
+ send {blind}{NumpadEnter}
+ else if (Ebene = 3)
+ SendUnicodeChar(0x2260) ; neq
+ else if ((Ebene = 4) or (Ebene = 5))
+ SendUnicodeChar(0x2248) ; approx
return
/*
- folgende Tasten verhalten sich bei ein- und ausgeschaltetem NumLock
- unterschiedlich
+ folgende Tasten verhalten sich bei ein- und ausgeschaltetem NumLock
+ unterschiedlich
*/
neo_Numpad7:
- EbeneAktualisieren()
- if ((Ebene = 1) and (NumLock = 0))
- send {blind}{NumpadHome}
- else if ((Ebene = 2) and (NumLock = 1))
- send {blind}{Shift up}{NumpadHome}{Shift down}
- else if (((Ebene = 1) and (NumLock = 1)) or ((Ebene = 2) and (NumLock = 0)))
- {
- if (Ebene = 1)
- send {blind}{Numpad7}
- else
- send {blind){Shift up}{Numpad7}{Shift down}
-
- if (PriorDeadKey = "comp")
- CompKey := "Num_7"
- }
- else if (Ebene = 3)
- SendUnicodeChar(0x2195) ; Hoch-Runter-Pfeil
- else if ((Ebene = 4) or (Ebene = 5))
- SendUnicodeChar(0x226A) ; ll
+ EbeneAktualisieren()
+ if ((Ebene = 1) and (NumLock = 0))
+ send {blind}{NumpadHome}
+ else if ((Ebene = 2) and (NumLock = 1))
+ send {blind}{Shift up}{NumpadHome}{Shift down}
+ else if (((Ebene = 1) and (NumLock = 1)) or ((Ebene = 2) and (NumLock = 0)))
+ {
+ if (Ebene = 1)
+ send {blind}{Numpad7}
+ else
+ send {blind){Shift up}{Numpad7}{Shift down}
+
+ if (PriorDeadKey = "comp")
+ CompKey := "Num_7"
+ }
+ else if (Ebene = 3)
+ SendUnicodeChar(0x2195) ; Hoch-Runter-Pfeil
+ else if ((Ebene = 4) or (Ebene = 5))
+ SendUnicodeChar(0x226A) ; ll
return
neo_Numpad8:
- EbeneAktualisieren()
- if ((Ebene = 1) and (NumLock = 0))
- send {blind}{NumpadUp}
- else if ((Ebene = 2) and (NumLock = 1))
- send {blind}{Shift up}{NumpadUp}{Shift down}
- else if (((Ebene = 1) and (NumLock = 1)) or ((Ebene = 2) and (NumLock = 0)))
- {
- if !(CheckCompUni("Num_1",0x215B) ; 1/8
- or CheckCompUni("1",0x215B) ; 1/8
- or CheckCompUni("Num_3",0x215C) ; 3/8
- or CheckCompUni("3",0x215C) ; 3/8
- or CheckCompUni("Num_5",0x215D) ; 3/8
- or CheckCompUni("5",0x215D) ; 5/8
- or CheckCompUni("Num_7",0x215E) ; 7/8
- or CheckCompUni("7",0x215E)) ; 7/8
- if (Ebene = 1)
- send {blind}{Numpad8}
- else
- send {blind){Shift up}{Numpad8}{Shift down}
+ EbeneAktualisieren()
+ if ((Ebene = 1) and (NumLock = 0))
+ send {blind}{NumpadUp}
+ else if ((Ebene = 2) and (NumLock = 1))
+ send {blind}{Shift up}{NumpadUp}{Shift down}
+ else if (((Ebene = 1) and (NumLock = 1)) or ((Ebene = 2) and (NumLock = 0)))
+ {
+ if !(CheckCompUni("Num_1",0x215B) ; 1/8
+ or CheckCompUni("1",0x215B) ; 1/8
+ or CheckCompUni("Num_3",0x215C) ; 3/8
+ or CheckCompUni("3",0x215C) ; 3/8
+ or CheckCompUni("Num_5",0x215D) ; 3/8
+ or CheckCompUni("5",0x215D) ; 5/8
+ or CheckCompUni("Num_7",0x215E) ; 7/8
+ or CheckCompUni("7",0x215E)) ; 7/8
+ if (Ebene = 1)
+ send {blind}{Numpad8}
+ else
+ send {blind){Shift up}{Numpad8}{Shift down}
- if (PriorDeadKey = "comp")
- CompKey := "Num_8"
- }
- else if (Ebene = 3)
- SendUnicodeChar(0x2191) ; uparrow
- else if ((Ebene = 4) or (Ebene = 5))
- SendUnicodeChar(0x2229) ; intersection
+ if (PriorDeadKey = "comp")
+ CompKey := "Num_8"
+ }
+ else if (Ebene = 3)
+ SendUnicodeChar(0x2191) ; uparrow
+ else if ((Ebene = 4) or (Ebene = 5))
+ SendUnicodeChar(0x2229) ; intersection
return
neo_Numpad9:
- EbeneAktualisieren()
- if ((Ebene = 1) and (NumLock = 0))
- send {blind}{NumpadPgUp}
- else if ((Ebene = 2) and (NumLock = 1))
- send {blind}{Shift up}{NumpadPgUp}{Shift down}
- else if (((Ebene = 1) and (NumLock = 1)) or ((Ebene = 2) and (NumLock = 0)))
- {
- if (Ebene = 1)
- send {blind}{Numpad9}
- else
- send {blind){Shift up}{Numpad9}{Shift down}
+ EbeneAktualisieren()
+ if ((Ebene = 1) and (NumLock = 0))
+ send {blind}{NumpadPgUp}
+ else if ((Ebene = 2) and (NumLock = 1))
+ send {blind}{Shift up}{NumpadPgUp}{Shift down}
+ else if (((Ebene = 1) and (NumLock = 1)) or ((Ebene = 2) and (NumLock = 0)))
+ {
+ if (Ebene = 1)
+ send {blind}{Numpad9}
+ else
+ send {blind){Shift up}{Numpad9}{Shift down}
- if (PriorDeadKey = "comp")
- CompKey := "Num_9"
- }
- else if (Ebene = 3)
- SendUnicodeChar(0x2297) ; Tensorprodukt ; Vektor in die Ebene zeigend
- else if ((Ebene = 4) or (Ebene = 5))
- SendUnicodeChar(0x226B) ; gg
+ if (PriorDeadKey = "comp")
+ CompKey := "Num_9"
+ }
+ else if (Ebene = 3)
+ SendUnicodeChar(0x2297) ; Tensorprodukt ; Vektor in die Ebene zeigend
+ else if ((Ebene = 4) or (Ebene = 5))
+ SendUnicodeChar(0x226B) ; gg
return
neo_Numpad4:
- EbeneAktualisieren()
- if ((Ebene = 1) and (NumLock = 0))
- send {blind}{NumpadLeft}
- else if ((Ebene = 2) and (NumLock = 1))
- send {blind}{Shift up}{NumpadLeft}{Shift down}
- else if (((Ebene = 1) and (NumLock = 1)) or ((Ebene = 2) and (NumLock = 0)))
- {
- if !(CheckCompUni("Num_1",0x00BC) ; 1/4
- or CheckCompUni("1",0x00BE) ; 1/4
- or CheckCompUni("Num_3",0x00BE) ; 3/4
- or CheckCompUni("3",0x00BE)) ; 3/4
- if (Ebene = 1)
- send {blind}{Numpad4}
- else
- send {blind){Shift up}{Numpad4}{Shift down}
+ EbeneAktualisieren()
+ if ((Ebene = 1) and (NumLock = 0))
+ send {blind}{NumpadLeft}
+ else if ((Ebene = 2) and (NumLock = 1))
+ send {blind}{Shift up}{NumpadLeft}{Shift down}
+ else if (((Ebene = 1) and (NumLock = 1)) or ((Ebene = 2) and (NumLock = 0)))
+ {
+ if !(CheckCompUni("Num_1",0x00BC) ; 1/4
+ or CheckCompUni("1",0x00BE) ; 1/4
+ or CheckCompUni("Num_3",0x00BE) ; 3/4
+ or CheckCompUni("3",0x00BE)) ; 3/4
+ if (Ebene = 1)
+ send {blind}{Numpad4}
+ else
+ send {blind){Shift up}{Numpad4}{Shift down}
- if (PriorDeadKey = "comp")
- CompKey := "Num_4"
- }
- else if (Ebene = 3)
- SendUnicodeChar(0x2190) ; leftarrow
- else if ((Ebene = 4) or (Ebene = 5))
- SendUnicodeChar(0x2282) ; subset of
+ if (PriorDeadKey = "comp")
+ CompKey := "Num_4"
+ }
+ else if (Ebene = 3)
+ SendUnicodeChar(0x2190) ; leftarrow
+ else if ((Ebene = 4) or (Ebene = 5))
+ SendUnicodeChar(0x2282) ; subset of
return
neo_Numpad5:
- EbeneAktualisieren()
- if ((Ebene = 1) and (NumLock = 0))
- send {blind}{NumpadClear}
- else if ((Ebene = 2) and (NumLock = 1))
- send {blind}{Shift up}{NumpadClear}{Shift down}
- else if (((Ebene = 1) and (NumLock = 1)) or ((Ebene = 2) and (NumLock = 0)))
- {
- if !(CheckCompUni("Num_1",0x2155) ; 1/5
- or CheckCompUni("1",0x2155) ; 1/5
- or CheckCompUni("Num_2",0x2156) ; 2/5
- or CheckCompUni("2",0x2156) ; 2/5
- or CheckCompUni("Num_3",0x2157) ; 3/5
- or CheckCompUni("3",0x2157) ; 3/5
- or CheckCompUni("Num_4",0x2158) ; 4/5
- or CheckCompUni("4",0x2158)) ; 4/5
- if (Ebene = 1)
- send {blind}{Numpad5}
- else
- send {blind){Shift up}{Numpad5}{Shift down}
+ EbeneAktualisieren()
+ if ((Ebene = 1) and (NumLock = 0))
+ send {blind}{NumpadClear}
+ else if ((Ebene = 2) and (NumLock = 1))
+ send {blind}{Shift up}{NumpadClear}{Shift down}
+ else if (((Ebene = 1) and (NumLock = 1)) or ((Ebene = 2) and (NumLock = 0)))
+ {
+ if !(CheckCompUni("Num_1",0x2155) ; 1/5
+ or CheckCompUni("1",0x2155) ; 1/5
+ or CheckCompUni("Num_2",0x2156) ; 2/5
+ or CheckCompUni("2",0x2156) ; 2/5
+ or CheckCompUni("Num_3",0x2157) ; 3/5
+ or CheckCompUni("3",0x2157) ; 3/5
+ or CheckCompUni("Num_4",0x2158) ; 4/5
+ or CheckCompUni("4",0x2158)) ; 4/5
+ if (Ebene = 1)
+ send {blind}{Numpad5}
+ else
+ send {blind){Shift up}{Numpad5}{Shift down}
- if (PriorDeadKey = "comp")
- CompKey := "Num_5"
- }
- else if (Ebene = 3)
- SendUnicodeChar(0x221E) ; INFINITY
- else if ((Ebene = 4) or (Ebene = 5))
- SendUnicodeChar(0x220B) ; enthält das Element
+ if (PriorDeadKey = "comp")
+ CompKey := "Num_5"
+ }
+ else if (Ebene = 3)
+ SendUnicodeChar(0x221E) ; INFINITY
+ else if ((Ebene = 4) or (Ebene = 5))
+ SendUnicodeChar(0x220B) ; enthält das Element
return
neo_Numpad6:
- EbeneAktualisieren()
- if ((Ebene = 1) and (NumLock = 0))
- send {blind}{NumpadRight}
- else if ((Ebene = 2) and (NumLock = 1))
- send {blind}{Shift up}{NumpadRight}{Shift down}
- else if (((Ebene = 1) and (NumLock = 1)) or ((Ebene = 2) and (NumLock = 0)))
- {
- if !(CheckCompUni("Num_1",0x2159) ; 1/6
- or CheckCompUni("1",0x2159) ; 1/6
- or CheckCompUni("Num_5",0x215A) ; 5/6
- or CheckCompUni("5",0x215A)) ; 5/6
- if (Ebene = 1)
- send {blind}{Numpad6}
- else
- send {blind){Shift up}{Numpad6}{Shift down}
+ EbeneAktualisieren()
+ if ((Ebene = 1) and (NumLock = 0))
+ send {blind}{NumpadRight}
+ else if ((Ebene = 2) and (NumLock = 1))
+ send {blind}{Shift up}{NumpadRight}{Shift down}
+ else if (((Ebene = 1) and (NumLock = 1)) or ((Ebene = 2) and (NumLock = 0)))
+ {
+ if !(CheckCompUni("Num_1",0x2159) ; 1/6
+ or CheckCompUni("1",0x2159) ; 1/6
+ or CheckCompUni("Num_5",0x215A) ; 5/6
+ or CheckCompUni("5",0x215A)) ; 5/6
+ if (Ebene = 1)
+ send {blind}{Numpad6}
+ else
+ send {blind){Shift up}{Numpad6}{Shift down}
- if (PriorDeadKey = "comp")
- CompKey := "Num_6"
- }
- else if (Ebene = 3)
- SendUnicodeChar(0x2192) ; rightarrow
- else if ((Ebene = 4) or (Ebene = 5))
- SendUnicodeChar(0x2283) ; superset of
+ if (PriorDeadKey = "comp")
+ CompKey := "Num_6"
+ }
+ else if (Ebene = 3)
+ SendUnicodeChar(0x2192) ; rightarrow
+ else if ((Ebene = 4) or (Ebene = 5))
+ SendUnicodeChar(0x2283) ; superset of
return
neo_Numpad1:
- EbeneAktualisieren()
- if ((Ebene = 1) and (NumLock = 0))
- send {blind}{NumpadEnd}
- else if ((Ebene = 2) and (NumLock = 1))
- send {blind}{Shift up}{NumpadEnd}{Shift down}
- else if (((Ebene = 1) and (NumLock = 1)) or ((Ebene = 2) and (NumLock = 0)))
- {
- if (Ebene = 1)
- send {blind}{Numpad1}
- else
- send {blind){Shift up}{Numpad1}{Shift down}
-
- if (PriorDeadKey = "comp")
- CompKey := "Num_1"
- }
- else if (Ebene = 3)
- SendUnicodeChar(0x2194) ; Links-Rechts-Pfeil
- else if ((Ebene = 4) or (Ebene = 5))
- SendUnicodeChar(0x2264) ; leq
+ EbeneAktualisieren()
+ if ((Ebene = 1) and (NumLock = 0))
+ send {blind}{NumpadEnd}
+ else if ((Ebene = 2) and (NumLock = 1))
+ send {blind}{Shift up}{NumpadEnd}{Shift down}
+ else if (((Ebene = 1) and (NumLock = 1)) or ((Ebene = 2) and (NumLock = 0)))
+ {
+ if (Ebene = 1)
+ send {blind}{Numpad1}
+ else
+ send {blind){Shift up}{Numpad1}{Shift down}
+
+ if (PriorDeadKey = "comp")
+ CompKey := "Num_1"
+ }
+ else if (Ebene = 3)
+ SendUnicodeChar(0x2194) ; Links-Rechts-Pfeil
+ else if ((Ebene = 4) or (Ebene = 5))
+ SendUnicodeChar(0x2264) ; leq
return
neo_Numpad2:
- EbeneAktualisieren()
- if ((Ebene = 1) and (NumLock = 0))
- send {blind}{NumpadDown}
- else if ((Ebene = 2) and (NumLock = 1))
- send {blind}{Shift up}{NumpadDown}{Shift down}
- else if (((Ebene = 1) and (NumLock = 1)) or ((Ebene = 2) and (NumLock = 0)))
- {
- if !(CheckCompUni("Num_1",0x00BD) ; 1/2
- or CheckCompUni("1",0x00BD)) ; 1/2
- if (Ebene = 1)
- send {blind}{Numpad2}
- else
- send {blind){Shift up}{Numpad2}{Shift down}
+ EbeneAktualisieren()
+ if ((Ebene = 1) and (NumLock = 0))
+ send {blind}{NumpadDown}
+ else if ((Ebene = 2) and (NumLock = 1))
+ send {blind}{Shift up}{NumpadDown}{Shift down}
+ else if (((Ebene = 1) and (NumLock = 1)) or ((Ebene = 2) and (NumLock = 0)))
+ {
+ if !(CheckCompUni("Num_1",0x00BD) ; 1/2
+ or CheckCompUni("1",0x00BD)) ; 1/2
+ if (Ebene = 1)
+ send {blind}{Numpad2}
+ else
+ send {blind){Shift up}{Numpad2}{Shift down}
- if (PriorDeadKey = "comp")
- CompKey := "Num_2"
- }
- else if (Ebene = 3)
- SendUnicodeChar(0x2193) ; downarrow
- else if ((Ebene = 4) or (Ebene = 5))
- SendUnicodeChar(0x222A) ; vereinigt
+ if (PriorDeadKey = "comp")
+ CompKey := "Num_2"
+ }
+ else if (Ebene = 3)
+ SendUnicodeChar(0x2193) ; downarrow
+ else if ((Ebene = 4) or (Ebene = 5))
+ SendUnicodeChar(0x222A) ; vereinigt
return
neo_Numpad3:
- EbeneAktualisieren()
- if ((Ebene = 1) and (NumLock = 0))
- send {blind}{NumpadPgDn}
- else if ((Ebene = 2) and (NumLock = 1))
- send {blind}{Shift up}{NumpadPgDn}{Shift down}
- else if (((Ebene = 1) and (NumLock = 1)) or ((Ebene = 2) and (NumLock = 0)))
- {
- if !(CheckCompUni("Num_1",0x2153) ; 1/3
- or CheckCompUni("1",0x2154) ; 1/3
- or CheckCompUni("Num_2",0x2154) ; 2/3
- or CheckCompUni("2",0x2154)) ; 2/3
- if (Ebene = 1)
- send {blind}{Numpad3}
- else
- send {blind){Shift up}{Numpad3}{Shift down}
+ EbeneAktualisieren()
+ if ((Ebene = 1) and (NumLock = 0))
+ send {blind}{NumpadPgDn}
+ else if ((Ebene = 2) and (NumLock = 1))
+ send {blind}{Shift up}{NumpadPgDn}{Shift down}
+ else if (((Ebene = 1) and (NumLock = 1)) or ((Ebene = 2) and (NumLock = 0)))
+ {
+ if !(CheckCompUni("Num_1",0x2153) ; 1/3
+ or CheckCompUni("1",0x2154) ; 1/3
+ or CheckCompUni("Num_2",0x2154) ; 2/3
+ or CheckCompUni("2",0x2154)) ; 2/3
+ if (Ebene = 1)
+ send {blind}{Numpad3}
+ else
+ send {blind){Shift up}{Numpad3}{Shift down}
- if (PriorDeadKey = "comp")
- CompKey := "Num_3"
- }
- else if (Ebene = 3)
- SendUnicodeChar(0x21CC) ; RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON
- else if ((Ebene = 4) or (Ebene = 5))
- SendUnicodeChar(0x2265) ; geq
+ if (PriorDeadKey = "comp")
+ CompKey := "Num_3"
+ }
+ else if (Ebene = 3)
+ SendUnicodeChar(0x21CC) ; RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON
+ else if ((Ebene = 4) or (Ebene = 5))
+ SendUnicodeChar(0x2265) ; geq
return
neo_Numpad0:
- EbeneAktualisieren()
- if ((Ebene = 1) and (NumLock = 0))
- send {blind}{NumpadIns}
- else if ((Ebene = 2) and (NumLock = 1))
- send {blind}{Shift up}{NumpadIns}{Shift down}
- else if (((Ebene = 1) and (NumLock = 1)) or ((Ebene = 2) and (NumLock = 0)))
- {
- if (Ebene = 1)
- send {blind}{Numpad0}
- else
- send {blind){Shift up}{Numpad0}{Shift down}
-
- if (PriorDeadKey = "comp")
- CompKey := "Num_0"
- }
- else if (Ebene = 3)
- send {blind}`%
- else if ((Ebene = 4) or (Ebene = 5))
- send ‰
+ EbeneAktualisieren()
+ if ((Ebene = 1) and (NumLock = 0))
+ send {blind}{NumpadIns}
+ else if ((Ebene = 2) and (NumLock = 1))
+ send {blind}{Shift up}{NumpadIns}{Shift down}
+ else if (((Ebene = 1) and (NumLock = 1)) or ((Ebene = 2) and (NumLock = 0)))
+ {
+ if (Ebene = 1)
+ send {blind}{Numpad0}
+ else
+ send {blind){Shift up}{Numpad0}{Shift down}
+
+ if (PriorDeadKey = "comp")
+ CompKey := "Num_0"
+ }
+ else if (Ebene = 3)
+ send {blind}`%
+ else if ((Ebene = 4) or (Ebene = 5))
+ send ‰
return
neo_NumpadDot:
- EbeneAktualisieren()
- if ((Ebene = 1) and (NumLock = 0))
- send {blind}{NumpadDel}
- else if ((Ebene = 2) and (NumLock = 1))
- send {blind}{Shift up}{NumpadDel}{Shift down}
- else if (((Ebene = 1) and (NumLock = 1)) or ((Ebene = 2) and (NumLock = 0)))
- if (Ebene = 1)
- send {blind}{NumpadDot}
- else
- send {blind){Shift up}{NumpadDot}{Shift down}
- else if (Ebene = 3)
- send {blind}.
- else if ((Ebene = 4) or (Ebene = 5))
- send `,
+ EbeneAktualisieren()
+ if ((Ebene = 1) and (NumLock = 0))
+ send {blind}{NumpadDel}
+ else if ((Ebene = 2) and (NumLock = 1))
+ send {blind}{Shift up}{NumpadDel}{Shift down}
+ else if (((Ebene = 1) and (NumLock = 1)) or ((Ebene = 2) and (NumLock = 0)))
+ if (Ebene = 1)
+ send {blind}{NumpadDot}
+ else
+ send {blind){Shift up}{NumpadDot}{Shift down}
+ else if (Ebene = 3)
+ send {blind}.
+ else if ((Ebene = 4) or (Ebene = 5))
+ send `,
return
/*
- ------------------------------------------------------
- Sondertasten
- ------------------------------------------------------
+
+ Sondertasten
+
*/
*space::
- if ((einHandNeo))
- spacepressed := 1
- else
- goto neo_SpaceUp
+ if ((einHandNeo))
+ spacepressed := 1
+ else
+ goto neo_SpaceUp
return
*space up::
- if ((einHandNeo))
- {
- if ((keypressed))
- {
- keypressed := 0
- spacepressed := 0
- }
- else
- {
- goto neo_SpaceUp
- }
- }
- else
- { } ;do nothing
-return
+ if ((einHandNeo))
+ {
+ if ((keypressed))
+ {
+ keypressed := 0
+ spacepressed := 0
+ }
+ else
+ {
+ goto neo_SpaceUp
+ }
+ }
+ else
+ { } ;do nothing
+return
neo_SpaceUp:
- EbeneAktualisieren()
- if ((Ebene = 1) and !(CheckComp3Uni("r_1",0x2170) ; römisch i
- or CheckComp3Uni("R_1",0x2160))) ; römisch I
- Send {blind}{Space}
- else if ((Ebene = 2) or (Ebene = 3))
- Send {blind}{Space}
- else if (Ebene = 4)
- if (PriorDeadKey = "c1") ; circumflex
- BSSendUnicodeChar(0x2070)
- else if (PriorDeadKey = "c5") ; toter -
- BSSendUnicodeChar(0x2080)
- else
- Send {blind}{NumPad0}
- else if (Ebene = 5)
- SendUnicodeChar(0x00A0) ; geschütztes Leerzeichen
- else if (Ebene = 6)
- SendUnicodeChar(0x202F) ; schmales Leerzeichen
- DeadKey := "" CompKey := ""
- spacepressed := 0
- keypressed := 0
+ EbeneAktualisieren()
+ if ((Ebene = 1) and !(CheckComp3Uni("r_1",0x2170) ; römisch i
+ or CheckComp3Uni("R_1",0x2160))) ; römisch I
+ Send {blind}{Space}
+ else if ((Ebene = 2) or (Ebene = 3))
+ Send {blind}{Space}
+ else if (Ebene = 4 and !(CheckDeadUni("c1",0x2070)
+ or CheckDeadUni("c5",0x2080)))
+ Send {blind}{NumPad0}
+ else if (Ebene = 5)
+ SendUnicodeChar(0x00A0) ; geschütztes Leerzeichen
+ else if (Ebene = 6)
+ SendUnicodeChar(0x202F) ; schmales Leerzeichen
+ DeadKey := "" CompKey := ""
+ spacepressed := 0
+ keypressed := 0
return
/*
- Folgende Tasten sind nur aufgeführt, um PriorDeadKey zu leeren.
- Irgendwie sieht das noch nicht schön aus. Vielleicht lässt sich dieses
- Problem irgendwie eleganter lösen...
-
- Nachtrag:
- Weil es mit Alt+Tab Probleme gab, wird hier jetzt erstmal rumgeflickschustert,
- bis eine allgemeinere Lösung gefunden wurde.
+ Folgende Tasten sind nur aufgeführt, um PriorDeadKey zu leeren.
+ Irgendwie sieht das noch nicht schön aus. Vielleicht lässt sich dieses
+ Problem irgendwie eleganter lösen...
+
+ Nachtrag:
+ Weil es mit Alt+Tab Probleme gab, wird hier jetzt erstmal rumgeflickschustert,
+ bis eine allgemeinere Lösung gefunden wurde.
*/
*Enter::
- if (not(lernModus) or lernModus_std_Return)
- {
- send {Blind}{Enter}
- DeadKey := "" CompKey := ""
- }
+ if (not(lernModus) or lernModus_std_Return)
+ {
+ send {Blind}{Enter}
+ DeadKey := "" CompKey := ""
+ }
return
*Backspace::
- if (not(lernModus) or lernModus_std_Backspace)
- {
- send {Blind}{Backspace}
- DeadKey := "" CompKey := ""
- }
+ if (not(lernModus) or lernModus_std_Backspace)
+ {
+ send {Blind}{Backspace}
+ DeadKey := "" CompKey := ""
+ }
return
*Del::
- if (not(lernModus) or lernModus_std_Entf)
- send {Blind}{Del}
+ if (not(lernModus) or lernModus_std_Entf)
+ send {Blind}{Del}
return
*Ins::
- if (not(lernModus) or lernModus_std_Einf)
- send {Blind}{Ins}
+ if (not(lernModus) or lernModus_std_Einf)
+ send {Blind}{Ins}
return
-
-
-
/*
Auf Mod3+Tab liegt Compose.
*/
neo_tab:
- if (IsMod3Pressed()) ;#
- {
- #Include *i %a_scriptdir%\ComposeLaunch.ahk
- #Include *i %a_scriptdir%\Source\ComposeLaunch.ahk
- DeadKey := "comp"
- CompKey := ""
- }
- else
- {
- send {blind}{Tab}
- DeadKey := ""
- CompKey := ""
- }
+ if (IsMod3Pressed()) ;#
+ {
+ DeadKey := "comp"
+ CompKey := ""
+ }
+ else
+ {
+ send {blind}{Tab}
+ DeadKey := ""
+ CompKey := ""
+ }
return
*Home::
- if (not(lernModus) or lernModus_std_Pos1)
- {
- send {Blind}{Home}
- DeadKey := "" CompKey := ""
- }
+ if (not(lernModus) or lernModus_std_Pos1)
+ {
+ send {Blind}{Home}
+ DeadKey := "" CompKey := ""
+ }
return
*End::
- if (not(lernModus) or lernModus_std_Ende)
- {
- send {Blind}{End}
- DeadKey := "" CompKey := ""
- }
+ if (not(lernModus) or lernModus_std_Ende)
+ {
+ send {Blind}{End}
+ DeadKey := "" CompKey := ""
+ }
return
*PgUp::
- if (not(lernModus) or lernModus_std_PgUp)
- {
- send {Blind}{PgUp}
- DeadKey := "" CompKey := ""
- }
+ if (not(lernModus) or lernModus_std_PgUp)
+ {
+ send {Blind}{PgUp}
+ DeadKey := "" CompKey := ""
+ }
return
*PgDn::
- if (not(lernModus) or lernModus_std_PgDn)
- {
- send {Blind}{PgDn}
- DeadKey := "" CompKey := ""
- }
+ if (not(lernModus) or lernModus_std_PgDn)
+ {
+ send {Blind}{PgDn}
+ DeadKey := "" CompKey := ""
+ }
return
*Up::
- if (not(lernModus) or lernModus_std_Hoch)
- {
- send {Blind}{Up}
- DeadKey := "" CompKey := ""
- }
+ if (not(lernModus) or lernModus_std_Hoch)
+ {
+ send {Blind}{Up}
+ DeadKey := "" CompKey := ""
+ }
return
*Down::
- if (not(lernModus) or lernModus_std_Runter)
- {
- send {Blind}{Down}
- DeadKey := "" CompKey := ""
- }
+ if (not(lernModus) or lernModus_std_Runter)
+ {
+ send {Blind}{Down}
+ DeadKey := "" CompKey := ""
+ }
return
*Left::
- if (not(lernModus) or lernModus_std_Links)
- {
- send {Blind}{Left}
- DeadKey := "" CompKey := ""
- }
+ if (not(lernModus) or lernModus_std_Links)
+ {
+ send {Blind}{Left}
+ DeadKey := "" CompKey := ""
+ }
return
*Right::
- if (not(lernModus) or lernModus_std_Rechts)
- {
- send {Blind}{Right}
- DeadKey := "" CompKey := ""
- }
+ if (not(lernModus) or lernModus_std_Rechts)
+ {
+ send {Blind}{Right}
+ DeadKey := "" CompKey := ""
+ }
return
diff --git a/windows/autohotkey/Source/Methods-Layers.ahk b/windows/autohotkey/Source/Methods-Layers.ahk
index 40a0bbc..4c4de7f 100644
--- a/windows/autohotkey/Source/Methods-Layers.ahk
+++ b/windows/autohotkey/Source/Methods-Layers.ahk
@@ -22,7 +22,7 @@ VKA0SC02A & VKA1SC136:: ; LShift, dann RShift
; *VKA1SC136::
; *VKA0SC02A::
if (GetKeyState("VKA1SC136", "P") and GetKeyState("VKA0SC02A", "P"))
- send {blind}{capslock}
+ send {blind}{CapsLock}
return
diff --git a/windows/autohotkey/Source/Methods-Other.ahk b/windows/autohotkey/Source/Methods-Other.ahk
index 86983c6..e80d2e4 100644
--- a/windows/autohotkey/Source/Methods-Other.ahk
+++ b/windows/autohotkey/Source/Methods-Other.ahk
@@ -1,7 +1,5 @@
/*
- ------------------------------------------------------
- Funktionen
- ------------------------------------------------------
+ Funktionen
*/
/*
@@ -19,6 +17,8 @@ EbeneAktualisieren()
DeadKey := ""
CompKey := ""
Ebene12 := 0
+ Ebene7 := 0
+ Ebene8 := 0
Modstate := IsShiftPressed() . IsMod3Pressed() . IsMod4Pressed()
if (ahkTreiberKombi)
@@ -40,9 +40,15 @@ EbeneAktualisieren()
else if (Modstate = "011")
Ebene = 6 ; Ebene 6: Mod3+Mod4
else if (Modstate = "101")
+ {
Ebene = 4 ; Ebene 7: Shift+Mod4 impliziert Ebene 4
+ Ebene7 = 1
+ }
else if (Modstate = "111")
+ {
Ebene = 6 ; Ebene 8: Shift+Mod3+Mod4 impliziert Ebene 6
+ Ebene8 = 1
+ }
Ebene12 := ((Ebene = 1) or (Ebene = 2))
@@ -53,7 +59,6 @@ EbeneAktualisieren()
}
-
IsShiftPressed()
{
return GetKeyState("Shift","P")
@@ -149,8 +154,6 @@ EncodeInteger(ref, val)
DllCall("ntdll\RtlFillMemoryUlong", "Uint", ref, "Uint", 4, "Uint", val)
}
-DeadSilence = 0
-
deadAsc(val)
{
global
@@ -256,8 +259,6 @@ CheckDeadUni12(d,val1,val2)
return 0
}
-DeadCompose = 0
-
compAsc(val)
{
global
@@ -417,28 +418,4 @@ outputChar(val1,val2)
CompKey := c
}
-;Tote/Untote Tasten
-*F9::
- if (isMod4pressed())
- DeadSilence := not(DeadSilence)
- else
- send {blind}{F9}
-return
-
-;Tote/Untote Compose
-*F10::
- if (isMod4pressed())
- DeadCompose := not(DeadCompose)
- else
- send {blind}{F10}
-return
-
-;Lang-s-Tastatur:
-*F11::
- if (isMod4pressed())
- LangSTastatur := not(LangSTastatur) ; schaltet die Lang-s-Tastatur ein und aus
- else
- send {blind}{F11}
-return
-
diff --git a/windows/autohotkey/Source/Warning.ahk b/windows/autohotkey/Source/Warning.ahk
index 6401006..6148298 100644
--- a/windows/autohotkey/Source/Warning.ahk
+++ b/windows/autohotkey/Source/Warning.ahk
@@ -31,7 +31,7 @@ in der Datei README.txt!
/*
*******************************************
Das war die letzte WARNUNG, ich hoffe nur dass
-sie wirklich wissen was sie hier tun wollen ...
+Sie wirklich wissen was Sie hier tun wollen ...
*******************************************
*/
diff --git a/windows/autohotkey/neo20.ahk b/windows/autohotkey/neo20.ahk
index 493cd4c..2c21d2c 100644
--- a/windows/autohotkey/neo20.ahk
+++ b/windows/autohotkey/neo20.ahk
@@ -31,108 +31,108 @@ in der Datei README.txt!
/*
*******************************************
Das war die letzte WARNUNG, ich hoffe nur dass
-sie wirklich wissen was sie hier tun wollen ...
+Sie wirklich wissen was Sie hier tun wollen ...
*******************************************
*/
-/*
-*************************************
-* NEO 2.0 (beta) Autohotkey-Treiber *
+/************************************
+* NEO 2.0 (beta) AutoHotkey-Treiber *
*************************************
+
Autoren:
Stefan Mayer <stm (at) neo-layout. o r g>
-Nora Geissler <nora_geissler (at) yahoo. d e>
+Nora Geißler <nora_geissler (at) yahoo. d e>
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.. w i z .. a t>
+Matthias Wächter <matthias (at) waechter.wiz. a t>
...
-
-
*********
* TODO: *
*********
-- Die Bildschirmtastatur mit Mod4 hat den Mod4-Lock deaktiviert!
- Compose vollständig implementieren (Welche Methode ist hierzu am besten geeignet?)
- ausgiebig testen... (besonders Vollständigkeit bei Deadkeys)
- Bessere Lösung für das Leeren von PriorDeadKey finden, damit die Sondertasten nicht mehr abgefangen werden müssen.
- Testen, ob die Capslocklösung (siehe *1:: ebene 1) auch für Numpad gebraucht wird
- Die Ebenen vom Tastenblock an die neue Referenz anpassen (wenn da ein Konsens gefunden wurde)
-
**********
* IDEEN: *
**********
-- 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)
-- Die Varianten (lernModus, einHandNeo, Lang-s-Tastatur, Qwertz/pausieren) sollten einheitlich (de-)aktiviert werden, etwa über Mod4 F9-F12
-- bei Ebene 4 rechte Hand (Numpad) z.B. Numpad5 statt 5 senden
-
-
+- Die Varianten (lernModus, einHandNeo, Lang-s-Tastatur, Qwertz/pausieren) sollten einheitlich (de-)aktiviert werden, etwa über M4+F9-F12
******************
* CHANGEHISTORY: *
******************
+Revision 746 (von Martin Roppelt)
+- Zurücksetzen der Tastatur über M4+Esc
+- #(2L) sendet nicht mehr '
+- Variablen Ebene7 und Ebene8 zum Abfragen eingeführt
+- s(12)(2L)-Bug von Matthias Wächter behoben
Revision 744 (von Stefan Mayer)
- Ebene4-Ziffernblock: auf neo_d nun Komma (wie Referenz), "NumPadKomma" gibt es nicht
-Revision 743 (von Matthias Wächter, commited von Stefan Mayer)
+Revision 743 (von Matthias Wächter, commit durch Stefan Mayer)
- Ebene4-Ziffernblock: NumPadAdd und NumPadSub korrigiert
-Revision 740 (von Matthias Wächter, commited von HCW)
+Revision 740 (von Matthias Wächter, commit durch HCW)
- "Mega-Patch" (Skript verkürzt, Ebenenabfrage verändert, ...), siehe CHANGES.txt
+- Blinde tote Tasten auf M4+F9 (Toggle)
+- Blinde Compose auf M4+F10 (Toggle)
Revision 728 (von Dennis Heidsiek):
-- Ist die Datei [...]\Anwendungsdaten\NEO2\NEO2.ini vorhanden, werden dort eventuell vonhandene Werte für die Globalen Schalter beim Start übernommen
+- 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 "Von Windows vorgegebenes TEMP Verzeichnis\NEO2\ extrahiert und nicht mehr in das Verzeichnis, in dem sich die EXE befindet
+- Die Resourcen-Dateien (PNGs, ICOs) werden nun nach "Von Windows vorgegebenes TEMP Verzeichnis"\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):
-- LangSTastatur auf F11 (Ebene 4)
+- LangSTastatur auf M4+F11
- Entwickler können durch das Erstellen einer Datei »LangSTastaturStandardmäßigEingeschaltet.ahk« mit dem Inhalt »LangSTastatur := 1« diese standardmäßig aktivieren
- Mehrere DeadKeys aktualisiert (T*, Ebene 4 und T*, Ebene 5)
Revision 687 (von Dennis Heidsiek):
- Die SendUnicodeChar-Methode um den GDK-Workarround von Matthias Wächter ergänzt
- (An/Aus) Icons an Favicon der neuen Homepage angepasst
Revision 645 (von Martin Roppelt):
-- Ellipse zusätzlich auf M3+x;
+- Ellipse zusätzlich auf M3+x
- Lang-s-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-s-Tastatur kann nicht mehr durch einen Hotkey aktiviert werden
Revision 629 (von Martin Roppelt):
-- Spitze Klammern (bra und ket) testweise auf M5+8/9
+- Spitze Klammern (bra und ket) auf M5+8/9
Revision 624 (von Martin Roppelt):
- Lang-s-Tastatur (ein- und auszuschalten durch Mod4+ß)
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.
+- 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 (Mod3+Numpad5, Mod5+Numpad5 und Mod3+Numpad9 stimmen wieder mit der Referenz überein).
+- Kleinere Korrekturen (M3+NP5, M5+NP5 und M3+NP9 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 "\")
+ * 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
+- 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):
-- Ebene 4 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
Revision 559 (von Matthias Berg):
@@ -147,7 +147,7 @@ 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)
+ * 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
@@ -157,32 +157,32 @@ Revision 542 (von Matthias Berg):
- 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 veringern
+- 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
+ * 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
+ * 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 geladen
+- In der .exe sind die .ico mitgespeichert und werden geladen
Revision 528 (von Matthias Berg):
- Neo-Icon
- Neo-Prozess jetzt automatisch auf hoher Prioritaet
(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ühte zum AltGr-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
@@ -199,7 +199,7 @@ 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)
+- 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
@@ -209,18 +209,13 @@ Revsion 490 (von Stefan Mayer):
• Brüche (auf Zahlenreihe und Hardware-Ziffernblock)
• römische Zahlen
• Ligaturen und Copyright
-
-
-
*/
-
-
-/********************
- Verzeichnisse *
-*********************
+/****************
+* Verzeichnisse *
+*****************
*/
; Setzt den Pfad zu einem temporären Verzeichnis
EnvGet, WindowsEnvTempFolder, TEMP
@@ -234,15 +229,14 @@ FileCreateDir, %ApplicationFolder%
-/******************
- Globale Schalter *
-*******************
+/*******************
+* Globale Schalter *
+********************
*/
; Im folgenden gilt (soweit nicht anders angegeben) Ja = 1, Nein = 0:
; Syntaxhinweis: IniRead, Variable, InputFilename, Section, Key [, DefaultValue]
-
; Sollen die Bilder für die Bildschirmtastatur in die compilierte EXE-Datei miteingebunden werden? (Nachteil: grössere Dateigrösse, Vorteil: Referenz für Anfänger stets einfach verfügbar)
bildschirmTastaturEinbinden := 1
@@ -255,36 +249,40 @@ IniRead, einHandNeo, %ApplicationFolder%\NEO2.ini, Global, einHandNeo, 0
; Soll der Lernmodus aktiviert werden?
IniRead, lernModus, %ApplicationFolder%\NEO2.ini, Global, lernModus, 0
-; Aktivierter Mod4-Lock wird über die Rollen-LED des Keybord angezeigt (analog zu CapsLock)
+; Soll aktivierter Mod4-Lock über die Rollen-LED des Keybord angezeigt werden (analog zu CapsLock)?
IniRead, UseMod4Light, %ApplicationFolder%\NEO2.ini, Global, UseMod4Light, 1
-; Soll Lang-s auf s, s auf ß und ß auf Mod3+ß gelegt (bzw. vertauscht) werden?
+; Soll Lang-s auf s, s auf ß und ß auf Lang-s gelegt (bzw. vertauscht) werden?
IniRead, LangSTastatur, %ApplicationFolder%\NEO2.ini, Global, LangSTastatur, 0
+; Sollen tote Tasten blind angezeigt werden?
+IniRead, DeadCompose, %ApplicationFolder%\NEO2.ini, Global, DeadCompose, 0
+;Sollen Compose-Tasten blind angezeigt werden?
+IniRead, DeadSilence, %ApplicationFolder%\NEO2.ini, Global, DeadSilence, 0
-/*************************
- Recourcen-Verwaltung *
-**************************
-*/
+/***********************
+* Recourcen-Verwaltung *
+************************
+*/
if(FileExist("ResourceFolder") <> false) {
- ; Versuche, alle möglicherweise in die EXE eingebundenen Dateien zu extrahieren
- FileInstall, neo.ico, %ResourceFolder%\neo.ico, 1
- FileInstall, neo_disabled.ico, %ResourceFolder%\neo_disabled.ico, 1
- iconBenutzen = 1
- if (bildschirmTastaturEinbinden==1) {
- FileInstall, ebene1.png, %ResourceFolder%\ebene1.png, 1
- FileInstall, ebene2.png, %ResourceFolder%\ebene2.png, 1
- FileInstall, ebene3.png, %ResourceFolder%\ebene3.png, 1
- FileInstall, ebene4.png, %ResourceFolder%\ebene4.png, 1
- FileInstall, ebene5.png, %ResourceFolder%\ebene5.png, 1
- FileInstall, ebene6.png, %ResourceFolder%\ebene6.png, 1
- zeigeBildschirmTastatur = 1
- }
+ ; Versuche, alle möglicherweise in die EXE eingebundenen Dateien zu extrahieren
+ FileInstall, neo.ico, %ResourceFolder%\neo.ico, 1
+ FileInstall, neo_disabled.ico, %ResourceFolder%\neo_disabled.ico, 1
+ iconBenutzen = 1
+ if (bildschirmTastaturEinbinden==1) {
+ FileInstall, ebene1.png, %ResourceFolder%\ebene1.png, 1
+ FileInstall, ebene2.png, %ResourceFolder%\ebene2.png, 1
+ FileInstall, ebene3.png, %ResourceFolder%\ebene3.png, 1
+ FileInstall, ebene4.png, %ResourceFolder%\ebene4.png, 1
+ FileInstall, ebene5.png, %ResourceFolder%\ebene5.png, 1
+ FileInstall, ebene6.png, %ResourceFolder%\ebene6.png, 1
+ zeigeBildschirmTastatur = 1
+ }
} else {
- MsgBox, "Das Verzeichnis %ResourceFolder% konnte nicht angelegt werden!" ; Diese Zeile dient nur der eventuellen Fehlersuche und sollte eigentlich niemals auftauchen.
+ MsgBox, "Das Verzeichnis %ResourceFolder% konnte nicht angelegt werden!" ; Diese Zeile dient nur der eventuellen Fehlersuche und sollte eigentlich niemals auftauchen.
}
; Benutze die Dateien auch dann, wenn sie eventuell im aktuellen Verzeichnis vorhanden sind
@@ -294,16 +292,15 @@ if ( FileExist("neo.ico") && FileExist("neo_disabled.ico") )
iconBenutzen = 1
-/*************************
- lernModus Konfiguration *
- nur relevant wenn *
- lernModus = 1 *
- Strg+Komma schaltet um *
-**************************
+/**************************
+* lernModus Konfiguration *
+* nur relevant wenn *
+* lernModus = 1 *
+* Strg+Komma schaltet um *
+***************************
*/
; 0 = aus, 1 = an
-
; die Nachfolgenden sind nützlich um sich die Qwertz-Tasten abzugewöhnen, da alle auf der 4. Ebene vorhanden.
lernModus_std_Return = 0
lernModus_std_Backspace = 0
@@ -319,29 +316,20 @@ lernModus_std_Links = 0
lernModus_std_Rechts = 0
lernModus_std_ZahlenReihe = 0
-
-
; im folgenden kann man auch noch ein paar Tasten der 4. Ebene deaktivieren
; nützlich um sich zu zwingen, richtig zu schreiben
lernModus_neo_Backspace = 0
lernModus_neo_Entf = 1
-
-
-
-; aus Noras script kopiert:
-
+; aus Noras Skript kopiert:
Process,Priority,,High
-
#usehook on
#singleinstance force
#LTrim
; Quelltext kann eingerückt werden,
; msgbox ist trotzdem linksbündig
-
SetTitleMatchMode 2
SendMode Input
-
name = Neo 2.0
enable = Aktiviere %name%
disable = Deaktiviere %name%
@@ -356,39 +344,38 @@ if inputlocalealias <>
inputlocale = %inputlocalealias%
if inputlocale <> 00000407
{
- suspend
- regread, inputlocale, HKEY_LOCAL_MACHINE
- , SYSTEM\CurrentControlSet\Control\Keyboard Layouts\%inputlocale%
- , Layout Text
- msgbox, 48, Warnung!,
- (
- Nicht kompatibles Tastaturlayout:
- `t%inputlocale%
- `nDas deutsche QWERTZ muss als Standardlayout eingestellt
- sein, damit %name% wie erwartet funktioniert.
- `nÄndern Sie die Tastatureinstellung unter
- `tSystemsteuerung
- `t-> Regions- und Sprachoptionen
- `t-> Sprachen
- `t-> Details... `n
- )
- exitapp
+ suspend
+ regread, inputlocale, HKEY_LOCAL_MACHINE
+ , SYSTEM\CurrentControlSet\Control\Keyboard Layouts\%inputlocale%
+ , Layout Text
+ msgbox, 48, Warnung!,
+ (
+ Nicht kompatibles Tastaturlayout:
+ `t%inputlocale%
+ `nDas deutsche QWERTZ muss als Standardlayout eingestellt
+ sein, damit %name% wie erwartet funktioniert.
+ `nÄndern Sie die Tastatureinstellung unter
+ `tSystemsteuerung
+ `t-> Regions- und Sprachoptionen
+ `t-> Sprachen
+ `t-> Details... `n
+ )
+ exitapp
}
-
; Menü des Systray-Icons
; ----------------------
if (iconBenutzen)
- menu, tray, icon, %ResourceFolder%\neo.ico,,1
+ menu, tray, icon, %ResourceFolder%\neo.ico,,1
menu, tray, nostandard
menu, tray, add, Öffnen, open
- menu, helpmenu, add, About, about
- menu, helpmenu, add, Autohotkey-Hilfe, help
- menu, helpmenu, add
- menu, helpmenu, add, http://&autohotkey.com/, autohotkey
- menu, helpmenu, add, http://www.neo-layout.org/, neo
+ menu, helpmenu, add, About, about
+ menu, helpmenu, add, Autohotkey-Hilfe, help
+ menu, helpmenu, add
+ menu, helpmenu, add, http://&autohotkey.com/, autohotkey
+ menu, helpmenu, add, http://www.neo-layout.org/, neo
menu, tray, add, Hilfe, :helpmenu
menu, tray, add
menu, tray, add, %disable%, togglesuspend
@@ -403,7 +390,7 @@ menu, tray, tip, %name%
/*
- Variablen initialisieren
+ Variablen initialisieren
*/
DeadKey = ""
@@ -411,14 +398,12 @@ CompKey = ""
PriorDeadKey = ""
PriorCompKey = ""
Ebene12 = 0
-EbeneAktualisieren()
-
-
+EbeneAktualisieren()
/*
- EinHandNeo
+ EinHandNeo
*/
spacepressed := 0
keypressed:= 0
@@ -455,8 +440,36 @@ gespiegelt_punkt = neo_ö
gespiegelt_j = neo_ü
+;Blinde/Sichtbare Tote Tasten
+*F9::
+ if (isMod4pressed())
+ DeadSilence := not(DeadSilence)
+ else
+ send {blind}{F9}
+return
+;Blinde/Sichtbare Compose
+*F10::
+ if (isMod4pressed())
+ DeadCompose := not(DeadCompose)
+ else
+ send {blind}{F10}
+return
+;Lang-s-Tastatur:
+*F11::
+ if (isMod4pressed())
+ LangSTastatur := not(LangSTastatur) ; schaltet die Lang-s-Tastatur ein und aus
+ else
+ send {blind}{F11}
+return
+
+*Esc::
+ if (isMod4pressed())
+ reload
+ else
+ send {blind}{Esc}
+return
/*
------------------------------------------------------
Modifier
@@ -481,7 +494,7 @@ VKA0SC02A & VKA1SC136:: ; LShift, dann RShift
; *VKA1SC136::
; *VKA0SC02A::
if (GetKeyState("VKA1SC136", "P") and GetKeyState("VKA0SC02A", "P"))
- send {blind}{capslock}
+ send {blind}{CapsLock}
return
@@ -1033,69 +1046,66 @@ VK09SC00F::goto neo_tab
/*
Die eigentliche NEO-Belegung und der Hauptteil des AHK-Treibers.
+ Ablauf bei toten Tasten:
+ 1. Ebene Aktualisieren
+ 2. Abhängig von der Variablen "Ebene" Zeichen ausgeben und die Variable "PriorDeadKey" setzen
- Ablauf bei toten Tasten:
- 1. Ebene Aktualisieren
- 2. Abhängig von der Variablen "Ebene" Zeichen ausgeben und die Variable "PriorDeadKey" setzen
-
- Ablauf bei "untoten" Tasten:
- 1. Ebene Aktualisieren
- 2. Abhängig von den Variablen "Ebene" und "PriorDeadKey" Zeichen ausgeben
- 3. "PriorDeadKey" mit leerem String überschreiben
+ Ablauf bei "untoten" Tasten:
+ 1. Ebene Aktualisieren
+ 2. Abhängig von den Variablen "Ebene" und "PriorDeadKey" Zeichen ausgeben
+ 3. "PriorDeadKey" mit leerem String überschreiben
- ------------------------------------------------------
- Reihe 1
- ------------------------------------------------------
+ Reihe 1
*/
neo_tot1:
- EbeneAktualisieren()
- if (Ebene = 1)
- {
- deadUni(0x02C6) ; circumflex, tot
- DeadKey := "c1"
- }
- else if (Ebene = 2)
- {
- deadUni(0x02C7) ; caron, tot
- DeadKey := "c2"
- }
- else if (Ebene = 3)
- {
- deadUni(0x02D8) ; brevis
- DeadKey := "c3"
- }
- else if (Ebene = 4)
- {
- deadUni(0x00B7) ; Mittenpunkt, tot
- DeadKey := "c4"
- }
- else if (Ebene = 5)
- {
- deadAsc("-") ; querstrich, tot
- DeadKey := "c5"
- }
- else if (Ebene = 6)
- {
- deadAsc(".") ; punkt darunter (colon)
- DeadKey := "c6"
- }
- CompKey := PriorCompKey
+ EbeneAktualisieren()
+ if (Ebene = 1)
+ {
+ deadUni(0x02C6) ; Zirkumflex, tot
+ DeadKey := "c1"
+ }
+ else if (Ebene = 2)
+ {
+ deadUni(0x02C7) ; Caron, tot
+ DeadKey := "c2"
+ }
+ else if (Ebene = 3)
+ {
+ deadUni(0x02D8) ; Brevis, tot
+ DeadKey := "c3"
+ }
+ else if (Ebene = 4)
+ {
+ deadUni(0x00B7) ; Mittenpunkt, tot
+ DeadKey := "c4"
+ }
+ else if (Ebene = 5)
+ {
+ deadAsc("-") ; Querstrich, tot
+ DeadKey := "c5"
+ }
+ else if (Ebene = 6)
+ {
+ deadAsc(".") ; Punkt drunter (Colon), tot
+ DeadKey := "c6"
+ }
+ CompKey := PriorCompKey
return
neo_1:
- EbeneAktualisieren()
- if (Ebene = 1)
- {
- if !(CheckDeadUni("c1",0x00B9)
- or CheckDeadUni("c5",0x2081)
- or CheckComp3Uni("r_1",0x217A) ; römisch xi
- or CheckComp3Uni("R_1",0x216A)) ; römisch XI
- if (GetKeyState("CapsLock","T"))
- send {blind}{Shift down}1{Shift up}
- else if (not(lernModus) or lernModus_std_ZahlenReihe)
- send {blind}1
+ EbeneAktualisieren()
+ if (Ebene = 1)
+ {
+ if !(CheckDeadUni("c1",0x00B9)
+ or CheckDeadUni("c5",0x2081)
+ or CheckComp3Uni("r_1",0x217A) ; römisch xi
+ or CheckComp3Uni("R_1",0x216A)) ; römisch XI
+ if (GetKeyState("CapsLock","T"))
+ send {blind}{Shift down}1{Shift up}
+ else if (not(lernModus) or lernModus_std_ZahlenReihe)
+ send {blind}1
if (PriorDeadKey = "comp")
CompKey := "1"
@@ -1117,264 +1127,264 @@ neo_1:
return
neo_2:
- EbeneAktualisieren()
- if (Ebene = 1)
- {
- if !(CheckDeadUni("c1",0x00B2)
- or CheckDeadUni("c5",0x2082)
- or CheckCompUni("r",0x2171) ; römisch ii
- or CheckCompUni("R",0x2161) ; römisch II
- or CheckComp3Uni("r_1",0x217B) ; römisch xii
- or CheckComp3Uni("R_1",0x216B)) ; römisch XII
- if (GetKeyState("CapsLock","T"))
- send {blind}{Shift down}2{Shift up}
- else if (not(lernModus) or lernModus_std_ZahlenReihe)
- send {blind}2
+ EbeneAktualisieren()
+ if (Ebene = 1)
+ {
+ if !(CheckDeadUni("c1",0x00B2)
+ or CheckDeadUni("c5",0x2082)
+ or CheckCompUni("r",0x2171) ; römisch ii
+ or CheckCompUni("R",0x2161) ; römisch II
+ or CheckComp3Uni("r_1",0x217B) ; römisch xii
+ or CheckComp3Uni("R_1",0x216B)) ; römisch XII
+ if (GetKeyState("CapsLock","T"))
+ send {blind}{Shift down}2{Shift up}
+ else if (not(lernModus) or lernModus_std_ZahlenReihe)
+ send {blind}2
- if (PriorDeadKey = "comp")
- CompKey := "2"
- }
- else if (Ebene = 2)
- SendUnicodeChar(0x2116) ; numero
- else if (Ebene = 3)
- SendUnicodeChar(0x00B2) ; 2 Hochgestellte
- else if (Ebene = 4)
- SendUnicodeChar(0x2023) ; aufzaehlungspfeil
- else if (Ebene = 5)
- SendUnicodeChar(0x26A5) ; Piktogramm Zwitter
- else if (Ebene = 6)
- SendUnicodeChar(0x2228) ; Logisches Oder
+ if (PriorDeadKey = "comp")
+ CompKey := "2"
+ }
+ else if (Ebene = 2)
+ SendUnicodeChar(0x2116) ; numero
+ else if (Ebene = 3)
+ SendUnicodeChar(0x00B2) ; 2 Hochgestellte
+ else if (Ebene = 4)
+ SendUnicodeChar(0x2023) ; aufzaehlungspfeil
+ else if (Ebene = 5)
+ SendUnicodeChar(0x26A5) ; Piktogramm Zwitter
+ else if (Ebene = 6)
+ SendUnicodeChar(0x2228) ; Logisches Oder
return
neo_3:
- EbeneAktualisieren()
- if (Ebene = 1)
- {
- if !(CheckDeadUni("c1",0x00B3)
- or CheckDeadUni("c5",0x2083)
- or CheckCompUni("1",0x2153) ; 1/3
- or CheckCompUni("2",0x2154) ; 2/3
- or CheckCompUni("r",0x2172) ; römisch iii
- or CheckCompUni("R",0x2162)) ; römisch III
- if (GetKeyState("CapsLock","T"))
- send {blind}{Shift down}3{Shift up}
- else if (not(lernModus) or lernModus_std_ZahlenReihe)
- send {blind}3
+ EbeneAktualisieren()
+ if (Ebene = 1)
+ {
+ if !(CheckDeadUni("c1",0x00B3)
+ or CheckDeadUni("c5",0x2083)
+ or CheckCompUni("1",0x2153) ; 1/3
+ or CheckCompUni("2",0x2154) ; 2/3
+ or CheckCompUni("r",0x2172) ; römisch iii
+ or CheckCompUni("R",0x2162)) ; römisch III
+ if (GetKeyState("CapsLock","T"))
+ send {blind}{Shift down}3{Shift up}
+ else if (not(lernModus) or lernModus_std_ZahlenReihe)
+ send {blind}3
- if (PriorDeadKey = "comp")
- CompKey := "3"
- }
- else if (Ebene = 2)
- send §
- else if (Ebene = 3)
- SendUnicodeChar(0x00B3) ; 3 Hochgestellte
- else if (Ebene = 4)
- {
- CompKey := PriorCompKey
- DeadKey := PriorDeadKey
- } ; leer
- else if (Ebene = 5)
- SendUnicodeChar(0x2642) ; Piktogramm Mann
- else if (Ebene = 6)
- SendUnicodeChar(0x2227) ; Logisches Und
+ if (PriorDeadKey = "comp")
+ CompKey := "3"
+ }
+ else if (Ebene = 2)
+ send §
+ else if (Ebene = 3)
+ SendUnicodeChar(0x00B3) ; 3 Hochgestellte
+ else if (Ebene = 4)
+ {
+ CompKey := PriorCompKey
+ DeadKey := PriorDeadKey
+ } ; leer
+ else if (Ebene = 5)
+ SendUnicodeChar(0x2642) ; Piktogramm Mann
+ else if (Ebene = 6)
+ SendUnicodeChar(0x2227) ; Logisches Und
return
neo_4:
- EbeneAktualisieren()
- if (Ebene = 1)
- {
- if !(CheckDeadUni("c1",0x2074)
- or CheckDeadUni("c5",0x2084)
- or CheckCompUni("r",0x2173) ; römisch iv
- or CheckCompUni("R",0x2163)) ; römisch IV
- if (GetKeyState("CapsLock","T"))
- send {blind}{Shift down}4{Shift up}
- else if (not(lernModus) or lernModus_std_ZahlenReihe)
- send {blind}4
+ EbeneAktualisieren()
+ if (Ebene = 1)
+ {
+ if !(CheckDeadUni("c1",0x2074)
+ or CheckDeadUni("c5",0x2084)
+ or CheckCompUni("r",0x2173) ; römisch iv
+ or CheckCompUni("R",0x2163)) ; römisch IV
+ if (GetKeyState("CapsLock","T"))
+ send {blind}{Shift down}4{Shift up}
+ else if (not(lernModus) or lernModus_std_ZahlenReihe)
+ send {blind}4
- if (PriorDeadKey = "comp")
- CompKey := "4"
- }
- else if (Ebene = 2)
- SendUnicodeChar(0x00BB) ; », Double guillemot right
- else if (Ebene = 3)
- Send {blind}› ; Single guillemot right
- else if (Ebene = 4)
- Send {blind}{PgUp} ; Prev
- else if (Ebene = 5)
- SendUnicodeChar(0x2113) ; Script small L
- else if (Ebene = 6)
- SendUnicodeChar(0x22A5) ; Senkrecht
+ if (PriorDeadKey = "comp")
+ CompKey := "4"
+ }
+ else if (Ebene = 2)
+ SendUnicodeChar(0x00BB) ; », Double guillemot right
+ else if (Ebene = 3)
+ Send {blind}› ; Single guillemot right
+ else if (Ebene = 4)
+ Send {blind}{PgUp} ; Prev
+ else if (Ebene = 5)
+ SendUnicodeChar(0x2113) ; Script small L
+ else if (Ebene = 6)
+ SendUnicodeChar(0x22A5) ; Senkrecht
return
neo_5:
- EbeneAktualisieren()
- if (Ebene = 1)
- {
- if !(CheckDeadUni("c1",0x2075)
- or CheckDeadUni("c5",0x2085)
- or CheckCompUni("1",0x2155) ; 1/5
- or CheckCompUni("2",0x2156) ; 2/5
- or CheckCompUni("3",0x2157) ; 3/5
- or CheckCompUni("4",0x2158) ; 4/5
- or CheckCompUni("r",0x2174) ; römisch v
- or CheckCompUni("R",0x2164)) ; römisch V
- if (GetKeyState("CapsLock","T"))
- send {blind}{Shift down}5{Shift up}
- else if (not(lernModus) or lernModus_std_ZahlenReihe)
- send {blind}5
+ EbeneAktualisieren()
+ if (Ebene = 1)
+ {
+ if !(CheckDeadUni("c1",0x2075)
+ or CheckDeadUni("c5",0x2085)
+ or CheckCompUni("1",0x2155) ; 1/5
+ or CheckCompUni("2",0x2156) ; 2/5
+ or CheckCompUni("3",0x2157) ; 3/5
+ or CheckCompUni("4",0x2158) ; 4/5
+ or CheckCompUni("r",0x2174) ; römisch v
+ or CheckCompUni("R",0x2164)) ; römisch V
+ if (GetKeyState("CapsLock","T"))
+ send {blind}{Shift down}5{Shift up}
+ else if (not(lernModus) or lernModus_std_ZahlenReihe)
+ send {blind}5
- if (PriorDeadKey = "comp")
- CompKey := "5"
- }
- else if (Ebene = 2)
- SendUnicodeChar(0x00AB) ; «, Double guillemot left
- else if (Ebene = 3)
- Send {blind}‹ ; Single guillemot left
- else if (Ebene = 4)
- {
- CompKey := PriorCompKey
- DeadKey := PriorDeadKey
- } ; leer
- else if (Ebene = 5)
- SendUnicodeChar(0x2020) ; Kreuz (Dagger)
- else if (Ebene = 6)
- SendUnicodeChar(0x2221) ; Winkel
+ if (PriorDeadKey = "comp")
+ CompKey := "5"
+ }
+ else if (Ebene = 2)
+ SendUnicodeChar(0x00AB) ; Double guillemot left
+ else if (Ebene = 3)
+ Send {blind}‹ ; Single guillemot left
+ else if (Ebene = 4)
+ {
+ CompKey := PriorCompKey
+ DeadKey := PriorDeadKey
+ } ; leer
+ else if (Ebene = 5)
+ SendUnicodeChar(0x2020) ; Kreuz (Dagger)
+ else if (Ebene = 6)
+ SendUnicodeChar(0x2221) ; Winkel
return
neo_6:
- EbeneAktualisieren()
- if (Ebene = 1)
- {
- if !(CheckDeadUni("c1",0x2076)
- or CheckDeadUni("c5",0x2086)
- or CheckCompUni("1",0x2159) ; 1/6
- or CheckCompUni("5",0x215A) ; 5/6
- or CheckCompUni("r",0x2175) ; römisch vi
- or CheckCompUni("R",0x2165)) ; römisch VI
- if (GetKeyState("CapsLock","T"))
- send {blind}{Shift down}6{Shift up}
- else if (not(lernModus) or lernModus_std_ZahlenReihe)
- send {blind}6
+ EbeneAktualisieren()
+ if (Ebene = 1)
+ {
+ if !(CheckDeadUni("c1",0x2076)
+ or CheckDeadUni("c5",0x2086)
+ or CheckCompUni("1",0x2159) ; 1/6
+ or CheckCompUni("5",0x215A) ; 5/6
+ or CheckCompUni("r",0x2175) ; römisch vi
+ or CheckCompUni("R",0x2165)) ; römisch VI
+ if (GetKeyState("CapsLock","T"))
+ send {blind}{Shift down}6{Shift up}
+ else if (not(lernModus) or lernModus_std_ZahlenReihe)
+ send {blind}6
- if (PriorDeadKey = "comp")
- CompKey := "6"
- }
- else if (Ebene = 2)
- send €
- else if (Ebene = 3)
- send {blind}¢
- else if (Ebene = 4)
- send {blind}£
- else if (Ebene = 5)
- {
- CompKey := PriorCompKey
- DeadKey := PriorDeadKey
- } ; leer
- else if (Ebene = 6)
- SendUnicodeChar(0x2225) ; parallel
+ if (PriorDeadKey = "comp")
+ CompKey := "6"
+ }
+ else if (Ebene = 2)
+ send €
+ else if (Ebene = 3)
+ send {blind}¢
+ else if (Ebene = 4)
+ send {blind}£
+ else if (Ebene = 5)
+ {
+ CompKey := PriorCompKey
+ DeadKey := PriorDeadKey
+ } ; leer
+ else if (Ebene = 6)
+ SendUnicodeChar(0x2225) ; parallel
return
neo_7:
- EbeneAktualisieren()
- if (Ebene = 1)
- {
- if !(CheckDeadUni("c1",0x2077)
- or CheckDeadUni("c5",0x2087)
- or CheckCompUni("r",0x2176) ; römisch vii
- or CheckCompUni("R",0x2166)) ; römisch VII
- if (GetKeyState("CapsLock","T"))
- send {blind}{Shift down}7{Shift up}
- else if (not(lernModus) or lernModus_std_ZahlenReihe)
- send {blind}7
+ EbeneAktualisieren()
+ if (Ebene = 1)
+ {
+ if !(CheckDeadUni("c1",0x2077)
+ or CheckDeadUni("c5",0x2087)
+ or CheckCompUni("r",0x2176) ; römisch vii
+ or CheckCompUni("R",0x2166)) ; römisch VII
+ if (GetKeyState("CapsLock","T"))
+ send {blind}{Shift down}7{Shift up}
+ else if (not(lernModus) or lernModus_std_ZahlenReihe)
+ send {blind}7
- if (PriorDeadKey = "comp")
- CompKey := "7"
- }
- else if (Ebene = 2)
- send $
- else if (Ebene = 3)
- send {blind}¥
- else if (Ebene = 4)
- send {blind}¤
- else if (Ebene = 5)
- SendUnicodeChar(0x03BA) ; greek small letter kappa
- else if (Ebene = 6)
- SendUnicodeChar(0x2209) ; nicht Element von
+ if (PriorDeadKey = "comp")
+ CompKey := "7"
+ }
+ else if (Ebene = 2)
+ send $
+ else if (Ebene = 3)
+ send {blind}¥
+ else if (Ebene = 4)
+ send {blind}¤
+ else if (Ebene = 5)
+ SendUnicodeChar(0x03BA) ; greek small letter kappa
+ else if (Ebene = 6)
+ SendUnicodeChar(0x2209) ; nicht Element von
return
neo_8:
- EbeneAktualisieren()
- if (Ebene = 1)
- {
- if !(CheckDeadUni("c1",0x2078)
- or CheckDeadUni("c5",0x2088)
- or CheckCompUni("1",0x215B) ; 1/8
- or CheckCompUni("3",0x215C) ; 3/8
- or CheckCompUni("5",0x215D) ; 5/8
- or CheckCompUni("7",0x215E) ; 7/8
- or CheckCompUni("r",0x2177) ; römisch viii
- or CheckCompUni("R",0x2167)) ; römisch VIII
- if (GetKeyState("CapsLock","T"))
- send {blind}{Shift down}8{Shift up}
- else if (not(lernModus) or lernModus_std_ZahlenReihe)
- send {blind}8
+ EbeneAktualisieren()
+ if (Ebene = 1)
+ {
+ if !(CheckDeadUni("c1",0x2078)
+ or CheckDeadUni("c5",0x2088)
+ or CheckCompUni("1",0x215B) ; 1/8
+ or CheckCompUni("3",0x215C) ; 3/8
+ or CheckCompUni("5",0x215D) ; 5/8
+ or CheckCompUni("7",0x215E) ; 7/8
+ or CheckCompUni("r",0x2177) ; römisch viii
+ or CheckCompUni("R",0x2167)) ; römisch VIII
+ if (GetKeyState("CapsLock","T"))
+ send {blind}{Shift down}8{Shift up}
+ else if (not(lernModus) or lernModus_std_ZahlenReihe)
+ send {blind}8
- if (PriorDeadKey = "comp")
- CompKey := "8"
- }
- else if (Ebene = 2)
- send „
- else if (Ebene = 3)
- send {blind}‚
- else if (Ebene = 4)
- Send {blind}{NumpadDiv}
- else if (Ebene = 5)
- SendUnicodeChar(0x27E8) ;bra (öffnende spitze klammer)
- else if (Ebene = 6)
- SendUnicodeChar(0x2204) ; es existiert nicht
+ if (PriorDeadKey = "comp")
+ CompKey := "8"
+ }
+ else if (Ebene = 2)
+ send „
+ else if (Ebene = 3)
+ send {blind}‚
+ else if (Ebene = 4)
+ Send {blind}{NumpadDiv}
+ else if (Ebene = 5)
+ SendUnicodeChar(0x27E8) ;bra (öffnende spitze klammer)
+ else if (Ebene = 6)
+ SendUnicodeChar(0x2204) ; es existiert nicht
return
neo_9:
- EbeneAktualisieren()
- if (Ebene = 1)
- {
- if !(CheckDeadUni("c1",0x2079)
- or CheckDeadUni("c5",0x2089)
- or CheckCompUni("r",0x2178) ; römisch ix
- or CheckCompUni("R",0x2168)) ; römisch IX
- if (GetKeyState("CapsLock","T"))
- send {blind}{Shift down}9{Shift up}
- else if (not(lernModus) or lernModus_std_ZahlenReihe)
- send {blind}9
+ EbeneAktualisieren()
+ if (Ebene = 1)
+ {
+ if !(CheckDeadUni("c1",0x2079)
+ or CheckDeadUni("c5",0x2089)
+ or CheckCompUni("r",0x2178) ; römisch ix
+ or CheckCompUni("R",0x2168)) ; römisch IX
+ if (GetKeyState("CapsLock","T"))
+ send {blind}{Shift down}9{Shift up}
+ else if (not(lernModus) or lernModus_std_ZahlenReihe)
+ send {blind}9
- if (PriorDeadKey = "comp")
- CompKey := "9"
- }
- else if (Ebene = 2)
- send “
- else if (Ebene = 3)
- send {blind}‘
- else if (Ebene = 4)
- Send {blind}{NumpadMult}
- else if (Ebene = 5)
- SendUnicodeChar(0x27E9) ;ket (schließende spitze klammer)
- else if (Ebene = 6)
- SendUnicodeChar(0x2226) ; nicht parallel
+ if (PriorDeadKey = "comp")
+ CompKey := "9"
+ }
+ else if (Ebene = 2)
+ send “
+ else if (Ebene = 3)
+ send {blind}‘
+ else if (Ebene = 4)
+ Send {blind}{NumpadMult}
+ else if (Ebene = 5)
+ SendUnicodeChar(0x27E9) ;ket (schließende spitze klammer)
+ else if (Ebene = 6)
+ SendUnicodeChar(0x2226) ; nicht parallel
return
neo_0:
- EbeneAktualisieren()
- if (Ebene = 1)
- {
- if !(CheckDeadUni("c1",0x2070)
- or CheckDeadUni("c5",0x2080)
- or CheckComp3Uni("r_1",0x2179) ; römisch x
- or CheckComp3Uni("R_1",0x2169)) ; römisch X
- if (GetKeyState("CapsLock","T"))
- send {blind}{Shift down}0{Shift up}
- else if (not(lernModus) or lernModus_std_ZahlenReihe)
- send {blind}0
+ EbeneAktualisieren()
+ if (Ebene = 1)
+ {
+ if !(CheckDeadUni("c1",0x2070)
+ or CheckDeadUni("c5",0x2080)
+ or CheckComp3Uni("r_1",0x2179) ; römisch x
+ or CheckComp3Uni("R_1",0x2169)) ; römisch X
+ if (GetKeyState("CapsLock","T"))
+ send {blind}{Shift down}0{Shift up}
+ else if (not(lernModus) or lernModus_std_ZahlenReihe)
+ send {blind}0
if (PriorDeadKey = "comp")
CompKey := "0"
@@ -1395,233 +1405,233 @@ neo_0:
return
neo_strich:
- EbeneAktualisieren()
- if (Ebene = 1)
- if (GetKeyState("CapsLock","T"))
- send {blind}{Shift down}-{Shift up}
- else
- send {blind}- ; Bindestrich-Minus
- else if (Ebene = 2)
- SendUnicodeChar(0x2013) ; Gedankenstrich
- else if (Ebene = 3)
- SendUnicodeChar(0x2014) ; Englischer Gedankenstrich (Geviertstrich)
- else if (Ebene = 4)
- {
- CompKey := PriorCompKey
- DeadKey := PriorDeadKey
- } ; leer
- else if (Ebene = 5)
- SendUnicodeChar(0x2011) ; geschützter Bindestrich (Bindestrich ohne Zeilenumbruch)
- else if (Ebene = 6)
- SendUnicodeChar(0x00AD) ; weicher Bindestrich
+ EbeneAktualisieren()
+ if (Ebene = 1)
+ if (GetKeyState("CapsLock","T"))
+ send {blind}{Shift down}-{Shift up}
+ else
+ send {blind}- ; Bindestrich-Minus
+ else if (Ebene = 2)
+ SendUnicodeChar(0x2013) ; Gedankenstrich
+ else if (Ebene = 3)
+ SendUnicodeChar(0x2014) ; Englischer Gedankenstrich (Geviertstrich)
+ else if (Ebene = 4)
+ {
+ CompKey := PriorCompKey
+ DeadKey := PriorDeadKey
+ } ; leer
+ else if (Ebene = 5)
+ SendUnicodeChar(0x2011) ; geschützter Bindestrich (Bindestrich ohne Zeilenumbruch)
+ else if (Ebene = 6)
+ SendUnicodeChar(0x00AD) ; weicher Bindestrich
return
neo_tot2:
- EbeneAktualisieren()
- if (Ebene = 1)
- {
- deadAsc("{´}{space}") ; akut, tot
- DeadKey := "a1"
- }
- else if (Ebene = 2)
- {
- deadAsc("``{space}")
- DeadKey := "a2"
- }
- else if (Ebene = 3)
- {
- deadAsc("¸") ; cedilla
- DeadKey := "a3"
- }
- else if (Ebene = 4)
- {
- deadUni(0x02D9) ; punkt oben drüber
- DeadKey := "a4"
- }
- else if (Ebene = 5)
- {
- deadUni(0x02DB) ; ogonek
- DeadKey := "a5"
- }
- else if (Ebene = 6)
- {
- deadUni(0x02DA) ; ring obendrauf
- DeadKey := "a6"
- }
- CompKey := PriorCompKey
+ EbeneAktualisieren()
+ if (Ebene = 1)
+ {
+ deadAsc("{´}{space}") ; Akut, tot
+ DeadKey := "a1"
+ }
+ else if (Ebene = 2)
+ {
+ deadAsc("``{space}") ; Gravis, tot
+ DeadKey := "a2"
+ }
+ else if (Ebene = 3)
+ {
+ deadAsc("¸") ; Cedilla, tot
+ DeadKey := "a3"
+ }
+ else if (Ebene = 4)
+ {
+ deadUni(0x02D9) ; Punkt obendrüber
+ DeadKey := "a4"
+ }
+ else if (Ebene = 5)
+ {
+ deadUni(0x02DB) ; Ogonek
+ DeadKey := "a5"
+ }
+ else if (Ebene = 6)
+ {
+ deadUni(0x02DA) ; Ring obendrauf
+ DeadKey := "a6"
+ }
+ CompKey := PriorCompKey
return
/*
- ------------------------------------------------------
- Reihe 2
- ------------------------------------------------------
+
+ Reihe 2
+
*/
neo_x:
- EbeneAktualisieren()
- if (Ebene12)
- OutputChar("x","X")
- else if (Ebene = 3)
- SendUnicodeChar(0x2026) ;Ellipse
- else if (Ebene = 5)
- SendUnicodeChar(0x03BE) ;xi
- else if (Ebene = 6)
- SendUnicodeChar(0x039E) ; Xi
+ EbeneAktualisieren()
+ if (Ebene12)
+ OutputChar("x","X")
+ else if (Ebene = 3)
+ SendUnicodeChar(0x2026) ;Ellipse
+ else if (Ebene = 5)
+ SendUnicodeChar(0x03BE) ;xi
+ else if (Ebene = 6)
+ SendUnicodeChar(0x039E) ; Xi
return
neo_v:
- EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("c6",0x1E7F,0x1E7E)))
- OutputChar("v","V")
- else if (Ebene = 3)
- send {blind}_
- else if (Ebene = 4)
- if (not(lernModus) or lernModus_neo_Backspace)
- Send {blind}{Backspace}
- else
- {
- CompKey := PriorCompKey
- DeadKey := PriorDeadKey
- } ; leer
- else if (Ebene = 6)
- SendUnicodeChar(0x2259) ; estimates
+ EbeneAktualisieren()
+ if (Ebene12 and !(CheckDeadUni12("c6",0x1E7F,0x1E7E)))
+ OutputChar("v","V")
+ else if (Ebene = 3)
+ send {blind}_
+ else if (Ebene = 4)
+ if (not(lernModus) or lernModus_neo_Backspace)
+ Send {blind}{Backspace}
+ else
+ {
+ CompKey := PriorCompKey
+ DeadKey := PriorDeadKey
+ } ; leer
+ else if (Ebene = 6)
+ SendUnicodeChar(0x2259) ; estimates
return
neo_l:
- EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a1",0x013A,0x0139)
- or CheckDeadUni12("a3",0x013C,0x013B)
- or CheckDeadUni12("c2",0x013E,0x013D)
- or CheckDeadUni12("c4",0x0140,0x013F)
- or CheckDeadUni12("c6",0x1E37,0x1E36)
- or CheckDeadUni12("t4",0x0142,0x0141)))
- OutputChar("l","L")
- else if (Ebene = 3)
- send {blind}[
- else if (Ebene = 4)
- Send {Blind}{Up}
- else if (Ebene = 5)
- SendUnicodeChar(0x03BB) ; lambda
- else if (Ebene = 6)
- SendUnicodeChar(0x039B) ; Lambda
+ EbeneAktualisieren()
+ if (Ebene12 and !(CheckDeadUni12("a1",0x013A,0x0139)
+ or CheckDeadUni12("a3",0x013C,0x013B)
+ or CheckDeadUni12("c2",0x013E,0x013D)
+ or CheckDeadUni12("c4",0x0140,0x013F)
+ or CheckDeadUni12("c6",0x1E37,0x1E36)
+ or CheckDeadUni12("t4",0x0142,0x0141)))
+ OutputChar("l","L")
+ else if (Ebene = 3)
+ send {blind}[
+ else if (Ebene = 4)
+ Send {Blind}{Up}
+ else if (Ebene = 5)
+ SendUnicodeChar(0x03BB) ; lambda
+ else if (Ebene = 6)
+ SendUnicodeChar(0x039B) ; Lambda
return
neo_c:
- EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a1",0x0107,0x0106)
- or CheckDeadUni12("a3",0x00E7,0x00E6)
- or CheckDeadUni12("a4",0x010B,0x010A)
- or CheckDeadUni12("c1",0x0109,0x0108)
- or CheckDeadUni12("c2",0x010D,0x010C)
- or CheckCompAsc12("o","©","©")
- or CheckCompAsc12("O","©","©")))
- OutputChar("c","C")
- else if (Ebene = 3)
- send {blind}]
- else if (Ebene = 4)
- if (not(lernModus) or lernModus_neo_Entf)
- Send {blind}{Del}
- else
- {
- CompKey := PriorCompKey
- DeadKey := PriorDeadKey
- } ; leer
- else if (Ebene = 5)
- SendUnicodeChar(0x03C7) ;chi
- else if (Ebene = 6)
- SendUnicodeChar(0x2102) ; C (Komplexe Zahlen)
+ EbeneAktualisieren()
+ if (Ebene12 and !(CheckDeadUni12("a1",0x0107,0x0106)
+ or CheckDeadUni12("a3",0x00E7,0x00E6)
+ or CheckDeadUni12("a4",0x010B,0x010A)
+ or CheckDeadUni12("c1",0x0109,0x0108)
+ or CheckDeadUni12("c2",0x010D,0x010C)
+ or CheckCompAsc12("o","©","©")
+ or CheckCompAsc12("O","©","©")))
+ OutputChar("c","C")
+ else if (Ebene = 3)
+ send {blind}]
+ else if (Ebene = 4)
+ if (not(lernModus) or lernModus_neo_Entf)
+ Send {blind}{Del}
+ else
+ {
+ CompKey := PriorCompKey
+ DeadKey := PriorDeadKey
+ } ; leer
+ else if (Ebene = 5)
+ SendUnicodeChar(0x03C7) ;chi
+ else if (Ebene = 6)
+ SendUnicodeChar(0x2102) ; C (Komplexe Zahlen)
return
neo_w:
- EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("c1",0x0175,0x0174)))
- OutputChar("w","W")
- else if (Ebene = 3)
- SendUnicodeChar(0x005E) ; untotes ^ - Unicode-Name: CIRCUMFLEX ACCENT
- ;send {^}{space} ; Funktioniert nicht unter Java-Programmen
- else if (Ebene = 4)
- Send {blind}{Insert}
- else if (Ebene = 5)
- SendUnicodeChar(0x03C9) ; omega
- else if (Ebene = 6)
- SendUnicodeChar(0x03A9) ; Omega
+ EbeneAktualisieren()
+ if (Ebene12 and !(CheckDeadUni12("c1",0x0175,0x0174)))
+ OutputChar("w","W")
+ else if (Ebene = 3)
+ SendUnicodeChar(0x005E) ; untotes ^ - Unicode-Name: CIRCUMFLEX ACCENT
+ ;send {^}{space} ; Funktioniert nicht unter Java-Programmen
+ else if (Ebene = 4)
+ Send {blind}{Insert}
+ else if (Ebene = 5)
+ SendUnicodeChar(0x03C9) ; omega
+ else if (Ebene = 6)
+ SendUnicodeChar(0x03A9) ; Omega
return
neo_k:
- EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a3",0x0137,0x0136)
- or CheckDeadUni12("c6",0x1E33,0x1E32)))
- OutputChar("k","K")
- else if (Ebene = 3)
- send {blind}{!}
- else if (Ebene = 4)
- Send ¡
- else if (Ebene = 5)
- SendUnicodeChar(0x03F0) ;kappa symbol (varkappa)
- else if (Ebene = 6)
- SendUnicodeChar(0x221A) ; Wurzel
+ EbeneAktualisieren()
+ if (Ebene12 and !(CheckDeadUni12("a3",0x0137,0x0136)
+ or CheckDeadUni12("c6",0x1E33,0x1E32)))
+ OutputChar("k","K")
+ else if (Ebene = 3)
+ send {blind}{!}
+ else if (Ebene = 4)
+ Send ¡
+ else if (Ebene = 5)
+ SendUnicodeChar(0x03F0) ;kappa symbol (varkappa)
+ else if (Ebene = 6)
+ SendUnicodeChar(0x221A) ; Wurzel
return
neo_h:
- EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a4",0x1E23,0x1E22)
- or CheckDeadUni12("c1",0x0125,0x0124)
- or CheckDeadUni12("c5",0x0127,0x0126)
- or CheckDeadUni12("c6",0x1E25,0x1E24)))
- OutputChar("h","H")
- else if ((Ebene = 3) and !(CheckDeadUni("c5",0x2264))) ; kleiner gleich
- send {blind}<
- else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2077)
- or CheckDeadUni("c5",0x2087)))
- Send {blind}{NumPad7}
- else if (Ebene = 5)
- SendUnicodeChar(0x03C8) ;psi
- else if (Ebene = 6)
- SendUnicodeChar(0x03A8) ; Psi
+ EbeneAktualisieren()
+ if (Ebene12 and !(CheckDeadUni12("a4",0x1E23,0x1E22)
+ or CheckDeadUni12("c1",0x0125,0x0124)
+ or CheckDeadUni12("c5",0x0127,0x0126)
+ or CheckDeadUni12("c6",0x1E25,0x1E24)))
+ OutputChar("h","H")
+ else if ((Ebene = 3) and !(CheckDeadUni("c5",0x2264))) ; kleiner gleich
+ send {blind}<
+ else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2077)
+ or CheckDeadUni("c5",0x2087)))
+ Send {blind}{NumPad7}
+ else if (Ebene = 5)
+ SendUnicodeChar(0x03C8) ;psi
+ else if (Ebene = 6)
+ SendUnicodeChar(0x03A8) ; Psi
return
neo_g:
- EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a3",0x0123,0x0122)
- or CheckDeadUni12("a4",0x0121,0x0120)
- or CheckDeadUni12("c1",0x011D,0x011C)
- or CheckDeadUni12("c3",0x011F,0x011E)))
- OutputChar("g","G")
- else if ((Ebene = 3) and !(CheckDeadUni("c5",0x2265))) ; größer gleich
- send {blind}>
- else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2078)
- or CheckDeadUni("c5",0x2088)))
- Send {blind}{NumPad8}
- else if (Ebene = 5)
- SendUnicodeChar(0x03B3) ;gamma
- else if (Ebene = 6)
- SendUnicodeChar(0x0393) ; Gamma
+ EbeneAktualisieren()
+ if (Ebene12 and !(CheckDeadUni12("a3",0x0123,0x0122)
+ or CheckDeadUni12("a4",0x0121,0x0120)
+ or CheckDeadUni12("c1",0x011D,0x011C)
+ or CheckDeadUni12("c3",0x011F,0x011E)))
+ OutputChar("g","G")
+ else if ((Ebene = 3) and !(CheckDeadUni("c5",0x2265))) ; größer gleich
+ send {blind}>
+ else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2078)
+ or CheckDeadUni("c5",0x2088)))
+ Send {blind}{NumPad8}
+ else if (Ebene = 5)
+ SendUnicodeChar(0x03B3) ;gamma
+ else if (Ebene = 6)
+ SendUnicodeChar(0x0393) ; Gamma
return
neo_f:
- EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a4",0x1E1F,0x1E1E)
- or CheckDeadUni12("t4",0x0192,0x0191)))
- OutputChar("f","F")
- else if ((Ebene = 3) and !(CheckDeadUni("a6",0x2257) ; ring equal to
- or CheckDeadUni("c1",0x2259) ; entspricht
- or CheckDeadUni("c2",0x225A) ; EQUIANGULAR TO
- or CheckDeadUni("c5",0x2261) ; identisch
- or CheckDeadUni("t1",0x2245) ; ungefähr gleich
- or CheckDeadUni("t4",0x2260))) ; ungleich
- send {blind}`=
- else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2079)
- or CheckDeadUni("c5",0x2089)))
- Send {blind}{NumPad9}
- else if (Ebene = 5)
- SendUnicodeChar(0x03C6) ; phi
- else if (Ebene = 6)
- SendUnicodeChar(0x03A6) ; Phi
+ EbeneAktualisieren()
+ if (Ebene12 and !(CheckDeadUni12("a4",0x1E1F,0x1E1E)
+ or CheckDeadUni12("t4",0x0192,0x0191)))
+ OutputChar("f","F")
+ else if ((Ebene = 3) and !(CheckDeadUni("a6",0x2257) ; ring equal to
+ or CheckDeadUni("c1",0x2259) ; entspricht
+ or CheckDeadUni("c2",0x225A) ; EQUIANGULAR TO
+ or CheckDeadUni("c5",0x2261) ; identisch
+ or CheckDeadUni("t1",0x2245) ; ungefähr gleich
+ or CheckDeadUni("t4",0x2260))) ; ungleich
+ send {blind}`=
+ else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2079)
+ or CheckDeadUni("c5",0x2089)))
+ Send {blind}{NumPad9}
+ else if (Ebene = 5)
+ SendUnicodeChar(0x03C6) ; phi
+ else if (Ebene = 6)
+ SendUnicodeChar(0x03A6) ; Phi
return
neo_q:
@@ -1640,281 +1650,298 @@ neo_q:
return
neo_sz:
- EbeneAktualisieren()
- if (Ebene = 1)
- if (GetKeyState("CapsLock","T"))
- SendUnicodeChar(0x1E9E) ; verssal-ß
- else if (LangSTastatur = 1)
- send {blind}s
- else
- send ß
- else if (Ebene = 2)
- if (GetKeyState("CapsLock","T"))
- if (LangSTastatur = 1)
- send {blind}s
- else
- send ß
- else
- SendUnicodeChar(0x1E9E) ; versal-ß
- else if (Ebene = 3)
+ EbeneAktualisieren()
+ if (Ebene = 1)
+ if (GetKeyState("CapsLock","T"))
+ SendUnicodeChar(0x1E9E) ; versal-ß
+ else if (LangSTastatur = 1)
+ send {blind}s
+ else
+ send ß
+ else if (Ebene = 2)
+ if (GetKeyState("CapsLock","T"))
if (LangSTastatur = 1)
- send ß
+ send {blind}s
else
- SendUnicodeChar(0x017F) ; langes s
- else if (Ebene = 5)
- SendUnicodeChar(0x03C2) ; varsigma
- else if (Ebene = 6)
- SendUnicodeChar(0x2218) ; Verknüpfungsoperator
+ send ß
+ else
+ SendUnicodeChar(0x1E9E) ; versal-ß
+ else if (Ebene = 3)
+ if (LangSTastatur = 1)
+ send ß
+ else
+ SendUnicodeChar(0x017F) ; langes s
+ else if (Ebene = 5)
+ SendUnicodeChar(0x03C2) ; varsigma
+ else if (Ebene = 6)
+ SendUnicodeChar(0x2218) ; Verknüpfungsoperator
return
neo_tot3:
- EbeneAktualisieren()
- if (Ebene = 1)
- {
- deadUni(0x02DC) ; tilde, tot
- DeadKey := "t1"
- }
- else if (Ebene = 2)
- {
- deadUni(0x00AF) ; macron, tot
- DeadKey := "t2"
- }
- else if (Ebene = 3)
- {
- deadUni(0x00A8) ; diaerese
- DeadKey := "t3"
- }
- else if (Ebene = 4)
- {
- deadUni(0x002F) ; Schrägstrich, tot
- DeadKey := "t4"
- }
- else if (Ebene = 5)
- {
- deadUni(0x02DD) ;doppelakut
- DeadKey := "t5"
- }
- else if (Ebene = 6)
- {
- deadUni(0x02CF) ; komma drunter, tot
- DeadKey := "t6"
- }
-
+ EbeneAktualisieren()
+ if (Ebene = 1)
+ {
+ deadUni(0x02DC) ;Tilde, tot
+ DeadKey := "t1"
+ }
+ else if (Ebene = 2)
+ {
+ deadUni(0x00AF) ; Macron, tot
+ DeadKey := "t2"
+ }
+ else if (Ebene = 3)
+ {
+ deadUni(0x00A8) ; Diärese
+ DeadKey := "t3"
+ }
+ else if (Ebene = 4)
+ {
+ deadUni(0x002F) ; Schrägstrich, tot
+ DeadKey := "t4"
+ }
+ else if (Ebene = 5)
+ {
+ deadUni(0x02DD) ;Doppelakut
+ DeadKey := "t5"
+ }
+ else if (Ebene = 6)
+ {
+ deadUni(0x02CF) ; Komma drunter, tot
+ DeadKey := "t6"
+ }
+
return
/*
- ------------------------------------------------------
- Reihe 3
- ------------------------------------------------------
+
+ Reihe 3
+
*/
neo_u:
- EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a1",0x00FA,0x00DA)
- or CheckDeadUni12("a2",0x00F9,0x00D9)
- or CheckDeadUni12("a5",0x0173,0x0172)
- or CheckDeadUni12("a6",0x016F,0x016E)
- or CheckDeadUni12("c1",0x00FB,0x00DB)
- or CheckDeadUni12("c2",0x01D4,0x01D3)
- or CheckDeadUni12("c3",0x016D,0x016C)
- or CheckDeadUni12("t1",0x0169,0x0168)
- or CheckDeadUni12("t2",0x016B,0x016A)
- or CheckDeadAsc12("t3","ü","Ü")
- or CheckDeadUni12("t5",0x0171,0x0170)))
- OutputChar("u","U")
- else if (Ebene = 3)
- send {blind}\
- else if (Ebene = 4)
- Send {blind}{Home}
- else if (Ebene = 5)
- {
- CompKey := PriorCompKey
- DeadKey := PriorDeadKey
- } ; leer
- else if (Ebene = 6)
- SendUnicodeChar(0x222E) ; contour integral
+ EbeneAktualisieren()
+ if (Ebene12 and !(CheckDeadUni12("a1",0x00FA,0x00DA)
+ or CheckDeadUni12("a2",0x00F9,0x00D9)
+ or CheckDeadUni12("a5",0x0173,0x0172)
+ or CheckDeadUni12("a6",0x016F,0x016E)
+ or CheckDeadUni12("c1",0x00FB,0x00DB)
+ or CheckDeadUni12("c2",0x01D4,0x01D3)
+ or CheckDeadUni12("c3",0x016D,0x016C)
+ or CheckDeadUni12("t1",0x0169,0x0168)
+ or CheckDeadUni12("t2",0x016B,0x016A)
+ or CheckDeadAsc12("t3","ü","Ü")
+ or CheckDeadUni12("t5",0x0171,0x0170)))
+ OutputChar("u","U")
+ else if (Ebene = 3)
+ send {blind}\
+ else if (Ebene = 4)
+ Send {blind}{Home}
+ else if (Ebene = 5)
+ {
+ CompKey := PriorCompKey
+ DeadKey := PriorDeadKey
+ } ; leer
+ else if (Ebene = 6)
+ SendUnicodeChar(0x222E) ; contour integral
return
neo_i:
- EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a1",0x00ED,0x00CD)
- or CheckDeadUni12("a2",0x00EC,0x00CC)
- or CheckDeadUni12("a4",0x012F,0x012E)
- or CheckDeadUni12("a5",0x0131,0x0130)
- or CheckDeadUni12("c1",0x00EE,0x00CE)
- or CheckDeadUni12("c2",0x01D0,0x01CF)
- or CheckDeadUni12("c3",0x012D,0x012C)
- or CheckDeadUni12("t1",0x0129,0x0128)
- or CheckDeadUni12("t2",0x012B,0x012A)
- or CheckDeadAsc12("t3","ï","Ï")))
- OutputChar("i","I")
- else if (Ebene = 3)
- send {blind}`/
- else if (Ebene = 4)
- Send {Blind}{Left}
- else if (Ebene = 5 )
- SendUnicodeChar(0x03B9) ; iota
- else if (Ebene = 6)
- SendUnicodeChar(0x222B) ; integral
+ EbeneAktualisieren()
+ if (Ebene12 and !(CheckDeadUni12("a1",0x00ED,0x00CD)
+ or CheckDeadUni12("a2",0x00EC,0x00CC)
+ or CheckDeadUni12("a4",0x012F,0x012E)
+ or CheckDeadUni12("a5",0x0131,0x0130)
+ or CheckDeadUni12("c1",0x00EE,0x00CE)
+ or CheckDeadUni12("c2",0x01D0,0x01CF)
+ or CheckDeadUni12("c3",0x012D,0x012C)
+ or CheckDeadUni12("t1",0x0129,0x0128)
+ or CheckDeadUni12("t2",0x012B,0x012A)
+ or CheckDeadAsc12("t3","ï","Ï")))
+ OutputChar("i","I")
+ else if (Ebene = 3)
+ send {blind}`/
+ else if (Ebene = 4)
+ Send {Blind}{Left}
+ else if (Ebene = 5 )
+ SendUnicodeChar(0x03B9) ; iota
+ else if (Ebene = 6)
+ SendUnicodeChar(0x222B) ; integral
return
neo_a:
- EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a1",0x00E1,0x00C1)
- or CheckDeadUni12("a2",0x00E0,0x00C0)
- or CheckDeadUni12("a5",0x0105,0x0104)
- or CheckDeadAsc12("a6","å","Å")
- or CheckDeadUni12("c1",0x00E2,0x00C2)
- or CheckDeadUni12("c2",0x01CE,0x01CD)
- or CheckDeadUni12("c3",0x0103,0x0102)
- or CheckDeadUni12("t1",0x00E3,0x00C3)
- or CheckDeadUni12("t2",0x0101,0x0100)
- or CheckDeadAsc12("t3","ä","Ä")))
- OutputChar("a","A")
- else if (Ebene = 3)
- send {blind}{{} ; }
- else if (Ebene = 4)
- Send {Blind}{Down}
- else if (Ebene = 5)
- SendUnicodeChar(0x03B1) ;alpha
- else if (Ebene = 6)
- SendUnicodeChar(0x2200) ;fuer alle
+ EbeneAktualisieren()
+ if (Ebene12 and !(CheckDeadUni12("a1",0x00E1,0x00C1)
+ or CheckDeadUni12("a2",0x00E0,0x00C0)
+ or CheckDeadUni12("a5",0x0105,0x0104)
+ or CheckDeadAsc12("a6","å","Å")
+ or CheckDeadUni12("c1",0x00E2,0x00C2)
+ or CheckDeadUni12("c2",0x01CE,0x01CD)
+ or CheckDeadUni12("c3",0x0103,0x0102)
+ or CheckDeadUni12("t1",0x00E3,0x00C3)
+ or CheckDeadUni12("t2",0x0101,0x0100)
+ or CheckDeadAsc12("t3","ä","Ä")))
+ OutputChar("a","A")
+ else if (Ebene = 3)
+ send {blind}{{}
+ else if (Ebene = 4)
+ Send {Blind}{Down}
+ else if (Ebene = 5)
+ SendUnicodeChar(0x03B1) ;alpha
+ else if (Ebene = 6)
+ SendUnicodeChar(0x2200) ;für alle
return
neo_e:
- EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a1",0x00E9,0x00C9)
- or CheckDeadUni12("a2",0x00E8,0x00C8)
- or CheckDeadUni12("a4",0x0117,0x0116)
- or CheckDeadUni12("a5",0x0119,0x0118)
- or CheckDeadUni12("c1",0x00EA,0x00CA)
- or CheckDeadUni12("c2",0x011B,0x011A)
- or CheckDeadUni12("c3",0x0115,0x0114)
- or CheckDeadUni12("t2",0x0113,0x0112)
- or CheckDeadAsc12("t3","ë","Ë")
- or CheckCompAsc12("a","æ","Æ")
- or CheckCompAsc12("A","Æ","Æ")
- or CheckCompAsc12("o","œ","Œ")
- or CheckCompAsc12("O","Œ","Œ")))
- OutputChar("e","E")
- else if (Ebene = 3) ; {
- send {blind}{}}
- else if (Ebene = 4)
- Send {Blind}{Right}
- else if (Ebene = 5)
- SendUnicodeChar(0x03B5) ;epsilon
- else if (Ebene = 6)
- SendUnicodeChar(0x2203) ;es existiert
+ EbeneAktualisieren()
+ if (Ebene12 and !(CheckDeadUni12("a1",0x00E9,0x00C9)
+ or CheckDeadUni12("a2",0x00E8,0x00C8)
+ or CheckDeadUni12("a4",0x0117,0x0116)
+ or CheckDeadUni12("a5",0x0119,0x0118)
+ or CheckDeadUni12("c1",0x00EA,0x00CA)
+ or CheckDeadUni12("c2",0x011B,0x011A)
+ or CheckDeadUni12("c3",0x0115,0x0114)
+ or CheckDeadUni12("t2",0x0113,0x0112)
+ or CheckDeadAsc12("t3","ë","Ë")
+ or CheckCompAsc12("a","æ","Æ")
+ or CheckCompAsc12("A","Æ","Æ")
+ or CheckCompAsc12("o","œ","Œ")
+ or CheckCompAsc12("O","Œ","Œ")))
+ OutputChar("e","E")
+ else if (Ebene = 3) ; {
+ send {blind}{}}
+ else if (Ebene = 4)
+ Send {Blind}{Right}
+ else if (Ebene = 5)
+ SendUnicodeChar(0x03B5) ;epsilon
+ else if (Ebene = 6)
+ SendUnicodeChar(0x2203) ;es existiert
return
neo_o:
- EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a1",0x00F3,0x00D3)
- or CheckDeadUni12("a2",0x00F2,0x00D2)
- or CheckDeadUni12("a5",0x01EB,0x01EA)
- or CheckDeadUni12("c1",0x00F4,0x00D4)
- or CheckDeadUni12("c2",0x01D2,0x01D1)
- or CheckDeadUni12("c3",0x014F,0x014E)
- or CheckDeadUni12("t1",0x00F5,0x00D5)
- or CheckDeadUni12("t2",0x014D,0x014C)
- or CheckDeadAsc12("t3","ö","Ö")
- or CheckDeadUni12("t4",0x00F8,0x00D8)
- or CheckDeadUni12("t5",0x0151,0x0150)))
- OutputChar("o","O")
- else if (Ebene = 3)
- send {blind}*
- else if (Ebene = 4)
- Send {blind}{End}
- else if (Ebene = 5)
- SendUnicodeChar(0x03BF) ; omicron
- else if (Ebene = 6)
- SendUnicodeChar(0x2208) ; element of
+ EbeneAktualisieren()
+ if (Ebene12 and !(CheckDeadUni12("a1",0x00F3,0x00D3)
+ or CheckDeadUni12("a2",0x00F2,0x00D2)
+ or CheckDeadUni12("a5",0x01EB,0x01EA)
+ or CheckDeadUni12("c1",0x00F4,0x00D4)
+ or CheckDeadUni12("c2",0x01D2,0x01D1)
+ or CheckDeadUni12("c3",0x014F,0x014E)
+ or CheckDeadUni12("t1",0x00F5,0x00D5)
+ or CheckDeadUni12("t2",0x014D,0x014C)
+ or CheckDeadAsc12("t3","ö","Ö")
+ or CheckDeadUni12("t4",0x00F8,0x00D8)
+ or CheckDeadUni12("t5",0x0151,0x0150)))
+ OutputChar("o","O")
+ else if (Ebene = 3)
+ send {blind}*
+ else if (Ebene = 4)
+ Send {blind}{End}
+ else if (Ebene = 5)
+ SendUnicodeChar(0x03BF) ; omicron
+ else if (Ebene = 6)
+ SendUnicodeChar(0x2208) ; element of
return
neo_s:
- EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a1",0x015B,0x015A)
- or CheckDeadUni12("a3",0x015F,0x015E)
- or CheckDeadUni12("a4",0x1E61,0x1E60)
- or CheckDeadUni12("c1",0x015D,0x015C)
- or CheckDeadUni12("c2",0x0161,0x0160)
- or CheckDeadUni12("c6",0x1E63,0x1A62)))
- if (LangSTastatur = 1)
- if (GetKeyState("CapsLock","T") xor (Ebene = 1))
- SendUnicodeChar(0x017F) ; langes s
- else
- OutputChar("s","S")
- else
- OutputChar("s","S")
- else if (Ebene = 3)
- send {blind}?
- else if (Ebene = 4)
- Send ¿
- else if (Ebene = 5)
- SendUnicodeChar(0x03C3) ;sigma
- else if (Ebene = 6)
- SendUnicodeChar(0x03A3) ; Sigma
+ EbeneAktualisieren()
+ if (Ebene12 and !(CheckDeadUni12("a1",0x015B,0x015A)
+ or CheckDeadUni12("a3",0x015F,0x015E)
+ or CheckDeadUni12("a4",0x1E61,0x1E60)
+ or CheckDeadUni12("c1",0x015D,0x015C)
+ or CheckDeadUni12("c2",0x0161,0x0160)
+ or CheckDeadUni12("c6",0x1E63,0x1A62)))
+ if (Ebene = 1)
+ {
+ if LangSTastatur
+ if (GetKeyState("CapsLock","T"))
+ send {blind}s
+ else
+ SendUnicodeChar(0x017F) ;langes S
+ else
+ send {blind}s
+ if (PriorDeadKey = "comp")
+ CompKey := "s"
+ }
+ else if (Ebene = 2)
+ {
+ if LangSTastatur
+ if (GetKeyState("CapsLock","T"))
+ SendUnicodeChar(0x017F) ;langes S
+ else
+ send {blind}S
+ else
+ send {blind}S
+ if (PriorDeadKey = "comp")
+ CompKey := "S"
+ }
+ else if (Ebene = 3)
+ send {blind}?
+ else if (Ebene = 4)
+ Send ¿
+ else if (Ebene = 5)
+ SendUnicodeChar(0x03C3) ;sigma
+ else if (Ebene = 6)
+ SendUnicodeChar(0x03A3) ; Sigma
return
neo_n:
- EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a1",0x0144,0x0143)
- or CheckDeadUni12("a3",0x0146,0x0145)
- or CheckDeadUni12("a4",0x1E45,0x1E44)
- or CheckDeadUni12("c2",0x0148,0x0147)
- or CheckDeadUni12("t1",0x00F1,0x00D1)))
- OutputChar("n","N")
- else if (Ebene = 3)
- send {blind}( ; )
- else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2074)
- or CheckDeadUni("c5",0x2084)))
- Send {blind}{NumPad4}
- else if (Ebene = 5)
- SendUnicodeChar(0x03BD) ; nu
- else if (Ebene = 6)
- SendUnicodeChar(0x2115) ; N (natürliche Zahlen)
+ EbeneAktualisieren()
+ if (Ebene12 and !(CheckDeadUni12("a1",0x0144,0x0143)
+ or CheckDeadUni12("a3",0x0146,0x0145)
+ or CheckDeadUni12("a4",0x1E45,0x1E44)
+ or CheckDeadUni12("c2",0x0148,0x0147)
+ or CheckDeadUni12("t1",0x00F1,0x00D1)))
+ OutputChar("n","N")
+ else if (Ebene = 3)
+ send {blind}( ; )
+ else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2074)
+ or CheckDeadUni("c5",0x2084)))
+ Send {blind}{NumPad4}
+ else if (Ebene = 5)
+ SendUnicodeChar(0x03BD) ; nu
+ else if (Ebene = 6)
+ SendUnicodeChar(0x2115) ; N (natürliche Zahlen)
return
neo_r:
- EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a1",0x0155,0x0154)
- or CheckDeadUni12("a3",0x0157,0x0156)
- or CheckDeadUni12("a4",0x0E59,0x0E58)
- or CheckDeadUni12("c2",0x0159,0x0158)
- or CheckDeadUni12("c6",0x1E5B,0x1E5A)
- or CheckCompAsc12("o","®","®")
- or CheckCompAsc12("O","®","®")))
- OutputChar("r","R")
- else if (Ebene = 3) ;(
- send {blind})
- else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2075)
- or CheckDeadUni("c5",0x2085)))
- Send {blind}{NumPad5}
- else if (Ebene = 5)
- SendUnicodeChar(0x03F1) ; rho symbol (varrho)
- else if (Ebene = 6)
- SendUnicodeChar(0x211D) ; R (reelle Zahlen)
+ EbeneAktualisieren()
+ if (Ebene12 and !(CheckDeadUni12("a1",0x0155,0x0154)
+ or CheckDeadUni12("a3",0x0157,0x0156)
+ or CheckDeadUni12("a4",0x0E59,0x0E58)
+ or CheckDeadUni12("c2",0x0159,0x0158)
+ or CheckDeadUni12("c6",0x1E5B,0x1E5A)
+ or CheckCompAsc12("o","®","®")
+ or CheckCompAsc12("O","®","®")))
+ OutputChar("r","R")
+ else if (Ebene = 3) ;(
+ send {blind})
+ else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2075)
+ or CheckDeadUni("c5",0x2085)))
+ Send {blind}{NumPad5}
+ else if (Ebene = 5)
+ SendUnicodeChar(0x03F1) ; rho symbol (varrho)
+ else if (Ebene = 6)
+ SendUnicodeChar(0x211D) ; R (reelle Zahlen)
return
neo_t:
- EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a3",0x0163,0x0162)
- or CheckDeadUni12("a4",0x1E6B,0x1E6A)
- or CheckDeadUni12("c2",0x0165,0x0164)
- or CheckDeadUni12("c5",0x0167,0x0166)
- or CheckDeadUni12("c6",0x1E6D,0x1E6C)))
- OutputChar("t","T")
- else if (Ebene = 3)
- send {blind}- ; Bis
- else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2076)
- or CheckDeadUni("c5",0x2086)))
- Send {blind}{NumPad6}
- else if (Ebene = 5)
- SendUnicodeChar(0x03C4) ; tau
- else if (Ebene = 6)
- SendUnicodeChar(0x2202 ) ; partielle Ableitung
+ EbeneAktualisieren()
+ if (Ebene12 and !(CheckDeadUni12("a3",0x0163,0x0162)
+ or CheckDeadUni12("a4",0x1E6B,0x1E6A)
+ or CheckDeadUni12("c2",0x0165,0x0164)
+ or CheckDeadUni12("c5",0x0167,0x0166)
+ or CheckDeadUni12("c6",0x1E6D,0x1E6C)))
+ OutputChar("t","T")
+ else if (Ebene = 3)
+ send {blind}- ; Bis
+ else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2076)
+ or CheckDeadUni("c5",0x2086)))
+ Send {blind}{NumPad6}
+ else if (Ebene = 5)
+ SendUnicodeChar(0x03C4) ; tau
+ else if (Ebene = 6)
+ SendUnicodeChar(0x2202 ) ; partielle Ableitung
return
neo_d:
@@ -1936,719 +1963,710 @@ neo_d:
return
neo_y:
- EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a1",0x00FD,0x00DD)
- or CheckDeadUni12("c1",0x0177,0x0176)
- or CheckDeadAsc12("t3","ÿ",Ÿ)))
- OutputChar("y","Y")
- else if (Ebene = 3)
- send {blind}@
- else if (Ebene = 4)
- Send {blind}.
- else if (Ebene = 5)
- SendUnicodeChar(0x03C5) ; upsilon
- else if (Ebene = 6)
- SendUnicodeChar(0x2207) ; nabla
+ EbeneAktualisieren()
+ if (Ebene12 and !(CheckDeadUni12("a1",0x00FD,0x00DD)
+ or CheckDeadUni12("c1",0x0177,0x0176)
+ or CheckDeadAsc12("t3","ÿ",Ÿ)))
+ OutputChar("y","Y")
+ else if (Ebene = 3)
+ send {blind}@
+ else if (Ebene = 4)
+ Send {blind}.
+ else if (Ebene = 5)
+ SendUnicodeChar(0x03C5) ; upsilon
+ else if (Ebene = 6)
+ SendUnicodeChar(0x2207) ; nabla
return
/*
- ------------------------------------------------------
- Reihe 4
- ------------------------------------------------------
+
+ Reihe 4
+
*/
neo_ü:
- EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a1",0x01D8,0x01D7)
- or CheckDeadUni12("a2",0x01DC,0x01DB)
- or CheckDeadUni12("c2",0x01DA,0x01D9)
- or CheckDeadUni12("t2",0x01D6,0x01D5)))
- OutputChar("ü","Ü")
- else if (Ebene = 3)
- send {blind}{#}
- else if (Ebene = 4)
- Send {blind}{Esc}
- else if (Ebene = 5)
- {
- DeadKey := PriorDeadKey
- CompKey := PriorCompKey
- } ; leer
- else if (Ebene = 6)
- SendUnicodeChar(0x221D) ; proportional
+ EbeneAktualisieren()
+ if (Ebene12 and !(CheckDeadUni12("a1",0x01D8,0x01D7)
+ or CheckDeadUni12("a2",0x01DC,0x01DB)
+ or CheckDeadUni12("c2",0x01DA,0x01D9)
+ or CheckDeadUni12("t2",0x01D6,0x01D5)))
+ OutputChar("ü","Ü")
+ else if (Ebene = 3)
+ send {#}
+ else if (Ebene = 4)
+ Send {blind}{Esc}
+ else if (Ebene = 5)
+ {
+ DeadKey := PriorDeadKey
+ CompKey := PriorCompKey
+ } ; leer
+ else if (Ebene = 6)
+ SendUnicodeChar(0x221D) ; proportional
return
neo_ö:
- EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("t2",0x022B,0x022A)))
- OutputChar("ö","Ö")
- else if (Ebene = 3)
- send {blind}$
- else if (Ebene = 4)
- send {blind}{Tab}
- else if (Ebene = 5)
- {
- DeadKey := PriorDeadKey
- CompKey := PriorCompKey
- } ; leer
- else if (Ebene = 6)
- SendUnicodeChar(0x2111) ; Fraktur I
+ EbeneAktualisieren()
+ if (Ebene12 and !(CheckDeadUni12("t2",0x022B,0x022A)))
+ OutputChar("ö","Ö")
+ else if (Ebene = 3)
+ send {blind}$
+ else if (Ebene = 4)
+ send {blind}{Tab}
+ else if (Ebene = 5)
+ {
+ DeadKey := PriorDeadKey
+ CompKey := PriorCompKey
+ } ; leer
+ else if (Ebene = 6)
+ SendUnicodeChar(0x2111) ; Fraktur I
return
neo_ä:
- EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("t2",0x01DF,0x01DE)))
- OutputChar("ä","Ä")
- else if (Ebene = 3)
- send {blind}|
- else if (Ebene = 4)
- Send {blind}{PgDn} ; Next
- else if (Ebene = 5)
- SendUnicodeChar(0x03B7) ; eta
- else if (Ebene = 6)
- SendUnicodeChar(0x211C) ; altes R
+ EbeneAktualisieren()
+ if (Ebene12 and !(CheckDeadUni12("t2",0x01DF,0x01DE)))
+ OutputChar("ä","Ä")
+ else if (Ebene = 3)
+ send {blind}|
+ else if (Ebene = 4)
+ Send {blind}{PgDn} ; Next
+ else if (Ebene = 5)
+ SendUnicodeChar(0x03B7) ; eta
+ else if (Ebene = 6)
+ SendUnicodeChar(0x211C) ; altes R
return
neo_p:
- EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a4",0x1E57,0x1E56)))
- OutputChar("p","P")
- else if ((Ebene = 3) and !(CheckDeadUni("t1",0x2248)))
- send {blind}~
- else if (Ebene = 4)
- Send {blind}{Enter}
- else if (Ebene = 5)
- SendUnicodeChar(0x03C0) ;pi
- else if (Ebene = 6)
- SendUnicodeChar(0x03A0) ; Pi
+ EbeneAktualisieren()
+ if (Ebene12 and !(CheckDeadUni12("a4",0x1E57,0x1E56)))
+ OutputChar("p","P")
+ else if ((Ebene = 3) and !(CheckDeadUni("t1",0x2248)))
+ send {blind}~
+ else if (Ebene = 4)
+ Send {blind}{Enter}
+ else if (Ebene = 5)
+ SendUnicodeChar(0x03C0) ;pi
+ else if (Ebene = 6)
+ SendUnicodeChar(0x03A0) ; Pi
return
neo_z:
- EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a1",0x017A,0x0179)
- or CheckDeadUni12("a4",0x017C,0x017B)
- or CheckDeadUni12("c2",0x017E,0x017D)
- or CheckDeadUni12("c6",0x1E93,0x1E92)))
- OutputChar("z","Z")
- else if (Ebene = 3)
- send ``{space} ; untot
- else if (Ebene = 4)
- {
- DeadKey := PriorDeadKey
- CompKey := PriorCompKey
- } ; leer
- else if (Ebene = 5)
- SendUnicodeChar(0x03B6) ;zeta
- else if (Ebene = 6)
- SendUnicodeChar(0x2124) ; Z (ganze Zahlen)
+ EbeneAktualisieren()
+ if (Ebene12 and !(CheckDeadUni12("a1",0x017A,0x0179)
+ or CheckDeadUni12("a4",0x017C,0x017B)
+ or CheckDeadUni12("c2",0x017E,0x017D)
+ or CheckDeadUni12("c6",0x1E93,0x1E92)))
+ OutputChar("z","Z")
+ else if (Ebene = 3)
+ send ``{space} ; untot
+ else if (Ebene = 4)
+ {
+ DeadKey := PriorDeadKey
+ CompKey := PriorCompKey
+ } ; leer
+ else if (Ebene = 5)
+ SendUnicodeChar(0x03B6) ;zeta
+ else if (Ebene = 6)
+ SendUnicodeChar(0x2124) ; Z (ganze Zahlen)
return
neo_b:
- EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a4",0x1E03,0x1E02)))
- OutputChar("b","B")
- else if (Ebene = 3)
- send {blind}{+}
- else if (Ebene = 4)
- send {blind}:
- else if (Ebene = 5)
- SendUnicodeChar(0x03B2) ; beta
- else if (Ebene = 6)
- SendUnicodeChar(0x21D2) ; Doppel-Pfeil rechts
+ EbeneAktualisieren()
+ if (Ebene12 and !(CheckDeadUni12("a4",0x1E03,0x1E02)))
+ OutputChar("b","B")
+ else if (Ebene = 3)
+ send {blind}{+}
+ else if (Ebene = 4)
+ send {blind}:
+ else if (Ebene = 5)
+ SendUnicodeChar(0x03B2) ; beta
+ else if (Ebene = 6)
+ SendUnicodeChar(0x21D2) ; Doppel-Pfeil rechts
return
neo_m:
- EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a4",0x1E41,0x1E40)
- or CheckDeadUni12("c6",0x1E43,0x1E42)
- or CheckCompUni12("t",0x2122,0x2122) ; TM
- or CheckCompUni12("T",0x2122,0x2122) ; TM
- or CheckCompUni12("s",0x2120,0x2120) ; SM
- or CheckCompUni12("S",0x2120,0x2120))) ; SM
-
- OutputChar("m","M")
- else if (Ebene = 3)
- send {blind}`%
- else if ((Ebene = 4) and !(CheckDeadUni("c1",0x00B9)
- or CheckDeadUni("c5",0x2081)))
- Send {blind}{NumPad1}
- else if (Ebene = 5)
- SendUnicodeChar(0x03BC) ; griechisch mu, micro wäre 0x00B5
- else if (Ebene = 6)
- SendUnicodeChar(0x21D4) ; doppelter Doppelpfeil (genau dann wenn)
+ EbeneAktualisieren()
+ if (Ebene12 and !(CheckDeadUni12("a4",0x1E41,0x1E40)
+ or CheckDeadUni12("c6",0x1E43,0x1E42)
+ or CheckCompUni12("t",0x2122,0x2122) ; TM
+ or CheckCompUni12("T",0x2122,0x2122) ; TM
+ or CheckCompUni12("s",0x2120,0x2120) ; SM
+ or CheckCompUni12("S",0x2120,0x2120))) ; SM
+
+ OutputChar("m","M")
+ else if (Ebene = 3)
+ send {blind}`%
+ else if ((Ebene = 4) and !(CheckDeadUni("c1",0x00B9)
+ or CheckDeadUni("c5",0x2081)))
+ Send {blind}{NumPad1}
+ else if (Ebene = 5)
+ SendUnicodeChar(0x03BC) ; griechisch mu, micro wäre 0x00B5
+ else if (Ebene = 6)
+ SendUnicodeChar(0x21D4) ; doppelter Doppelpfeil (genau dann wenn)
return
neo_komma:
- EbeneAktualisieren()
- if (Ebene = 1)
- if (GetKeyState("CapsLock","T"))
- send {blind}{Shift down},{Shift up}
- else
- send {blind},
- else if (Ebene = 2)
- SendUnicodeChar(0x22EE) ; vertikale ellipse
- else if (Ebene = 3)
- send {blind}"
- else if ((Ebene = 4) and !(CheckDeadUni("c1",0x00B2)
- or CheckDeadUni("c5",0x2082)))
- Send {blind}{NumPad2}
- else if (Ebene = 5)
- SendUnicodeChar(0x03C1) ; rho
- else if (Ebene = 6)
- SendUnicodeChar(0x21D0) ; Doppelpfeil links
+ EbeneAktualisieren()
+ if (Ebene = 1)
+ if (GetKeyState("CapsLock","T"))
+ send {blind}{Shift down},{Shift up}
+ else
+ send {blind},
+ else if (Ebene = 2)
+ SendUnicodeChar(0x22EE) ; vertikale ellipse
+ else if (Ebene = 3)
+ send {blind}"
+ else if ((Ebene = 4) and !(CheckDeadUni("c1",0x00B2)
+ or CheckDeadUni("c5",0x2082)))
+ Send {blind}{NumPad2}
+ else if (Ebene = 5)
+ SendUnicodeChar(0x03C1) ; rho
+ else if (Ebene = 6)
+ SendUnicodeChar(0x21D0) ; Doppelpfeil links
return
neo_punkt:
- EbeneAktualisieren()
- if (Ebene = 1)
- if (GetKeyState("CapsLock","T"))
- send {blind}{Shift down}.{Shift up}
- else
- send {blind}.
- else if (Ebene = 2)
- SendUnicodeChar(0x2026) ; ellipse
- else if (Ebene = 3)
- send {blind}'
- else if ((Ebene = 4) and !(CheckDeadUni("c1",0x00B3)
- or CheckDeadUni("c5",0x2083)))
- Send {blind}{NumPad3}
- else if (Ebene = 5)
- SendUnicodeChar(0x03D1) ; theta symbol (vartheta)
- else if (Ebene = 6)
- SendUnicodeChar(0x0398) ; Theta
+ EbeneAktualisieren()
+ if (Ebene = 1)
+ if (GetKeyState("CapsLock","T"))
+ send {blind}{Shift down}.{Shift up}
+ else
+ send {blind}.
+ else if (Ebene = 2)
+ SendUnicodeChar(0x2026) ; ellipse
+ else if (Ebene = 3)
+ send {blind}'
+ else if ((Ebene = 4) and !(CheckDeadUni("c1",0x00B3)
+ or CheckDeadUni("c5",0x2083)))
+ Send {blind}{NumPad3}
+ else if (Ebene = 5)
+ SendUnicodeChar(0x03D1) ; theta symbol (vartheta)
+ else if (Ebene = 6)
+ SendUnicodeChar(0x0398) ; Theta
return
neo_j:
- EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("c1",0x0135,0x0134)
- or CheckDeadUni12("c2",0x01F0,"")
- or CheckCompUni12("i",0x0133,"") ; ij
- or CheckCompUni12("I","",0x0132) ; IJ
- or CheckCompUni12("l",0x01C9,"") ; lj
- or CheckCompUni12("L",0x01C8,0x01C7) ; Lj/LJ
- or CheckCompUni12("n",0x01CC,"") ; nj
- or CheckCompUni12("N",0x01CB,0x01CA))) ; Nj/NJ
- OutputChar("j","J")
- else if (Ebene = 3)
- send {blind}`;
- else if (Ebene = 4)
- Send {blind}`;
- else if (Ebene = 5)
- SendUnicodeChar(0x03B8) ; theta
- else if (Ebene = 6)
- SendUnicodeChar(0x2261) ; identisch
+ EbeneAktualisieren()
+ if (Ebene12 and !(CheckDeadUni12("c1",0x0135,0x0134)
+ or CheckDeadUni12("c2",0x01F0,"")
+ or CheckCompUni12("i",0x0133,"") ; ij
+ or CheckCompUni12("I","",0x0132) ; IJ
+ or CheckCompUni12("l",0x01C9,"") ; lj
+ or CheckCompUni12("L",0x01C8,0x01C7) ; Lj/LJ
+ or CheckCompUni12("n",0x01CC,"") ; nj
+ or CheckCompUni12("N",0x01CB,0x01CA))) ; Nj/NJ
+ OutputChar("j","J")
+ else if (Ebene = 3)
+ send {blind}`;
+ else if (Ebene = 4)
+ Send {blind}`;
+ else if (Ebene = 5)
+ SendUnicodeChar(0x03B8) ; theta
+ else if (Ebene = 6)
+ SendUnicodeChar(0x2261) ; identisch
return
/*
- ------------------------------------------------------
- Numpad
- ------------------------------------------------------
- folgende Tasten verhalten sich bei ein- und ausgeschaltetem
- NumLock gleich:
+ Numpad
+
+
+ folgende Tasten verhalten sich bei ein- und ausgeschaltetem
+ NumLock gleich:
*/
neo_NumpadDiv:
- EbeneAktualisieren()
- if ((Ebene = 1) or (Ebene = 2))
- send {blind}{NumpadDiv}
- else if (Ebene = 3)
- send {blind}÷
- else if ((Ebene = 4) or (Ebene = 5))
- SendUnicodeChar(0x2215) ; slash
+ EbeneAktualisieren()
+ if ((Ebene = 1) or (Ebene = 2))
+ send {blind}{NumpadDiv}
+ else if (Ebene = 3)
+ send {blind}÷
+ else if ((Ebene = 4) or (Ebene = 5))
+ SendUnicodeChar(0x2215) ; slash
return
neo_NumpadMult:
- EbeneAktualisieren()
- if ((Ebene = 1) or (Ebene = 2))
- send {blind}{NumpadMult}
- else if (Ebene = 3)
- send {blind}×
- else if ((Ebene = 4) or (Ebene = 5))
- SendUnicodeChar(0x22C5) ; cdot
+ EbeneAktualisieren()
+ if ((Ebene = 1) or (Ebene = 2))
+ send {blind}{NumpadMult}
+ else if (Ebene = 3)
+ send {blind}×
+ else if ((Ebene = 4) or (Ebene = 5))
+ SendUnicodeChar(0x22C5) ; cdot
return
neo_NumpadSub:
- EbeneAktualisieren()
- if (((Ebene = 1) or (Ebene = 2)) and !(CheckDeadUni("c1",0x207B)
- or CheckDeadUni("c5",0x208B)))
- send {blind}{NumpadSub}
- else if (Ebene = 3)
- SendUnicodeChar(0x2212) ; echtes minus
+ EbeneAktualisieren()
+ if (((Ebene = 1) or (Ebene = 2)) and !(CheckDeadUni("c1",0x207B)
+ or CheckDeadUni("c5",0x208B)))
+ send {blind}{NumpadSub}
+ else if (Ebene = 3)
+ SendUnicodeChar(0x2212) ; echtes minus
return
neo_NumpadAdd:
- EbeneAktualisieren()
- if (((Ebene = 1) or (Ebene = 2)) and !(CheckDeadUni("c1",0x207A)
- or CheckDeadUni("c5",0x208A)))
- send {blind}{NumpadAdd}
- else if (Ebene = 3)
- send {blind}±
- else if ((Ebene = 4) or (Ebene = 5))
- SendUnicodeChar(0x2213) ; -+
+ EbeneAktualisieren()
+ if (((Ebene = 1) or (Ebene = 2)) and !(CheckDeadUni("c1",0x207A)
+ or CheckDeadUni("c5",0x208A)))
+ send {blind}{NumpadAdd}
+ else if (Ebene = 3)
+ send {blind}±
+ else if ((Ebene = 4) or (Ebene = 5))
+ SendUnicodeChar(0x2213) ; -+
return
neo_NumpadEnter:
- EbeneAktualisieren()
- if ((Ebene = 1) or (Ebene = 2))
- send {blind}{NumpadEnter}
- else if (Ebene = 3)
- SendUnicodeChar(0x2260) ; neq
- else if ((Ebene = 4) or (Ebene = 5))
- SendUnicodeChar(0x2248) ; approx
+ EbeneAktualisieren()
+ if ((Ebene = 1) or (Ebene = 2))
+ send {blind}{NumpadEnter}
+ else if (Ebene = 3)
+ SendUnicodeChar(0x2260) ; neq
+ else if ((Ebene = 4) or (Ebene = 5))
+ SendUnicodeChar(0x2248) ; approx
return
/*
- folgende Tasten verhalten sich bei ein- und ausgeschaltetem NumLock
- unterschiedlich
+ folgende Tasten verhalten sich bei ein- und ausgeschaltetem NumLock
+ unterschiedlich
*/
neo_Numpad7:
- EbeneAktualisieren()
- if ((Ebene = 1) and (NumLock = 0))
- send {blind}{NumpadHome}
- else if ((Ebene = 2) and (NumLock = 1))
- send {blind}{Shift up}{NumpadHome}{Shift down}
- else if (((Ebene = 1) and (NumLock = 1)) or ((Ebene = 2) and (NumLock = 0)))
- {
- if (Ebene = 1)
- send {blind}{Numpad7}
- else
- send {blind){Shift up}{Numpad7}{Shift down}
+ EbeneAktualisieren()
+ if ((Ebene = 1) and (NumLock = 0))
+ send {blind}{NumpadHome}
+ else if ((Ebene = 2) and (NumLock = 1))
+ send {blind}{Shift up}{NumpadHome}{Shift down}
+ else if (((Ebene = 1) and (NumLock = 1)) or ((Ebene = 2) and (NumLock = 0)))
+ {
+ if (Ebene = 1)
+ send {blind}{Numpad7}
+ else
+ send {blind){Shift up}{Numpad7}{Shift down}
- if (PriorDeadKey = "comp")
- CompKey := "Num_7"
- }
- else if (Ebene = 3)
- SendUnicodeChar(0x2195) ; Hoch-Runter-Pfeil
- else if ((Ebene = 4) or (Ebene = 5))
- SendUnicodeChar(0x226A) ; ll
+ if (PriorDeadKey = "comp")
+ CompKey := "Num_7"
+ }
+ else if (Ebene = 3)
+ SendUnicodeChar(0x2195) ; Hoch-Runter-Pfeil
+ else if ((Ebene = 4) or (Ebene = 5))
+ SendUnicodeChar(0x226A) ; ll
return
neo_Numpad8:
- EbeneAktualisieren()
- if ((Ebene = 1) and (NumLock = 0))
- send {blind}{NumpadUp}
- else if ((Ebene = 2) and (NumLock = 1))
- send {blind}{Shift up}{NumpadUp}{Shift down}
- else if (((Ebene = 1) and (NumLock = 1)) or ((Ebene = 2) and (NumLock = 0)))
- {
- if !(CheckCompUni("Num_1",0x215B) ; 1/8
- or CheckCompUni("1",0x215B) ; 1/8
- or CheckCompUni("Num_3",0x215C) ; 3/8
- or CheckCompUni("3",0x215C) ; 3/8
- or CheckCompUni("Num_5",0x215D) ; 3/8
- or CheckCompUni("5",0x215D) ; 5/8
- or CheckCompUni("Num_7",0x215E) ; 7/8
- or CheckCompUni("7",0x215E)) ; 7/8
- if (Ebene = 1)
- send {blind}{Numpad8}
- else
- send {blind){Shift up}{Numpad8}{Shift down}
+ EbeneAktualisieren()
+ if ((Ebene = 1) and (NumLock = 0))
+ send {blind}{NumpadUp}
+ else if ((Ebene = 2) and (NumLock = 1))
+ send {blind}{Shift up}{NumpadUp}{Shift down}
+ else if (((Ebene = 1) and (NumLock = 1)) or ((Ebene = 2) and (NumLock = 0)))
+ {
+ if !(CheckCompUni("Num_1",0x215B) ; 1/8
+ or CheckCompUni("1",0x215B) ; 1/8
+ or CheckCompUni("Num_3",0x215C) ; 3/8
+ or CheckCompUni("3",0x215C) ; 3/8
+ or CheckCompUni("Num_5",0x215D) ; 3/8
+ or CheckCompUni("5",0x215D) ; 5/8
+ or CheckCompUni("Num_7",0x215E) ; 7/8
+ or CheckCompUni("7",0x215E)) ; 7/8
+ if (Ebene = 1)
+ send {blind}{Numpad8}
+ else
+ send {blind){Shift up}{Numpad8}{Shift down}
- if (PriorDeadKey = "comp")
- CompKey := "Num_8"
- }
- else if (Ebene = 3)
- SendUnicodeChar(0x2191) ; uparrow
- else if ((Ebene = 4) or (Ebene = 5))
- SendUnicodeChar(0x2229) ; intersection
+ if (PriorDeadKey = "comp")
+ CompKey := "Num_8"
+ }
+ else if (Ebene = 3)
+ SendUnicodeChar(0x2191) ; uparrow
+ else if ((Ebene = 4) or (Ebene = 5))
+ SendUnicodeChar(0x2229) ; intersection
return
neo_Numpad9:
- EbeneAktualisieren()
- if ((Ebene = 1) and (NumLock = 0))
- send {blind}{NumpadPgUp}
- else if ((Ebene = 2) and (NumLock = 1))
- send {blind}{Shift up}{NumpadPgUp}{Shift down}
- else if (((Ebene = 1) and (NumLock = 1)) or ((Ebene = 2) and (NumLock = 0)))
- {
- if (Ebene = 1)
- send {blind}{Numpad9}
- else
- send {blind){Shift up}{Numpad9}{Shift down}
+ EbeneAktualisieren()
+ if ((Ebene = 1) and (NumLock = 0))
+ send {blind}{NumpadPgUp}
+ else if ((Ebene = 2) and (NumLock = 1))
+ send {blind}{Shift up}{NumpadPgUp}{Shift down}
+ else if (((Ebene = 1) and (NumLock = 1)) or ((Ebene = 2) and (NumLock = 0)))
+ {
+ if (Ebene = 1)
+ send {blind}{Numpad9}
+ else
+ send {blind){Shift up}{Numpad9}{Shift down}
- if (PriorDeadKey = "comp")
- CompKey := "Num_9"
- }
- else if (Ebene = 3)
- SendUnicodeChar(0x2297) ; Tensorprodukt ; Vektor in die Ebene zeigend
- else if ((Ebene = 4) or (Ebene = 5))
- SendUnicodeChar(0x226B) ; gg
+ if (PriorDeadKey = "comp")
+ CompKey := "Num_9"
+ }
+ else if (Ebene = 3)
+ SendUnicodeChar(0x2297) ; Tensorprodukt ; Vektor in die Ebene zeigend
+ else if ((Ebene = 4) or (Ebene = 5))
+ SendUnicodeChar(0x226B) ; gg
return
neo_Numpad4:
- EbeneAktualisieren()
- if ((Ebene = 1) and (NumLock = 0))
- send {blind}{NumpadLeft}
- else if ((Ebene = 2) and (NumLock = 1))
- send {blind}{Shift up}{NumpadLeft}{Shift down}
- else if (((Ebene = 1) and (NumLock = 1)) or ((Ebene = 2) and (NumLock = 0)))
- {
- if !(CheckCompUni("Num_1",0x00BC) ; 1/4
- or CheckCompUni("1",0x00BE) ; 1/4
- or CheckCompUni("Num_3",0x00BE) ; 3/4
- or CheckCompUni("3",0x00BE)) ; 3/4
- if (Ebene = 1)
- send {blind}{Numpad4}
- else
- send {blind){Shift up}{Numpad4}{Shift down}
+ EbeneAktualisieren()
+ if ((Ebene = 1) and (NumLock = 0))
+ send {blind}{NumpadLeft}
+ else if ((Ebene = 2) and (NumLock = 1))
+ send {blind}{Shift up}{NumpadLeft}{Shift down}
+ else if (((Ebene = 1) and (NumLock = 1)) or ((Ebene = 2) and (NumLock = 0)))
+ {
+ if !(CheckCompUni("Num_1",0x00BC) ; 1/4
+ or CheckCompUni("1",0x00BE) ; 1/4
+ or CheckCompUni("Num_3",0x00BE) ; 3/4
+ or CheckCompUni("3",0x00BE)) ; 3/4
+ if (Ebene = 1)
+ send {blind}{Numpad4}
+ else
+ send {blind){Shift up}{Numpad4}{Shift down}
- if (PriorDeadKey = "comp")
- CompKey := "Num_4"
- }
- else if (Ebene = 3)
- SendUnicodeChar(0x2190) ; leftarrow
- else if ((Ebene = 4) or (Ebene = 5))
- SendUnicodeChar(0x2282) ; subset of
+ if (PriorDeadKey = "comp")
+ CompKey := "Num_4"
+ }
+ else if (Ebene = 3)
+ SendUnicodeChar(0x2190) ; leftarrow
+ else if ((Ebene = 4) or (Ebene = 5))
+ SendUnicodeChar(0x2282) ; subset of
return
neo_Numpad5:
- EbeneAktualisieren()
- if ((Ebene = 1) and (NumLock = 0))
- send {blind}{NumpadClear}
- else if ((Ebene = 2) and (NumLock = 1))
- send {blind}{Shift up}{NumpadClear}{Shift down}
- else if (((Ebene = 1) and (NumLock = 1)) or ((Ebene = 2) and (NumLock = 0)))
- {
- if !(CheckCompUni("Num_1",0x2155) ; 1/5
- or CheckCompUni("1",0x2155) ; 1/5
- or CheckCompUni("Num_2",0x2156) ; 2/5
- or CheckCompUni("2",0x2156) ; 2/5
- or CheckCompUni("Num_3",0x2157) ; 3/5
- or CheckCompUni("3",0x2157) ; 3/5
- or CheckCompUni("Num_4",0x2158) ; 4/5
- or CheckCompUni("4",0x2158)) ; 4/5
- if (Ebene = 1)
- send {blind}{Numpad5}
- else
- send {blind){Shift up}{Numpad5}{Shift down}
+ EbeneAktualisieren()
+ if ((Ebene = 1) and (NumLock = 0))
+ send {blind}{NumpadClear}
+ else if ((Ebene = 2) and (NumLock = 1))
+ send {blind}{Shift up}{NumpadClear}{Shift down}
+ else if (((Ebene = 1) and (NumLock = 1)) or ((Ebene = 2) and (NumLock = 0)))
+ {
+ if !(CheckCompUni("Num_1",0x2155) ; 1/5
+ or CheckCompUni("1",0x2155) ; 1/5
+ or CheckCompUni("Num_2",0x2156) ; 2/5
+ or CheckCompUni("2",0x2156) ; 2/5
+ or CheckCompUni("Num_3",0x2157) ; 3/5
+ or CheckCompUni("3",0x2157) ; 3/5
+ or CheckCompUni("Num_4",0x2158) ; 4/5
+ or CheckCompUni("4",0x2158)) ; 4/5
+ if (Ebene = 1)
+ send {blind}{Numpad5}
+ else
+ send {blind){Shift up}{Numpad5}{Shift down}
- if (PriorDeadKey = "comp")
- CompKey := "Num_5"
- }
- else if (Ebene = 3)
- SendUnicodeChar(0x221E) ; INFINITY
- else if ((Ebene = 4) or (Ebene = 5))
- SendUnicodeChar(0x220B) ; enthält das Element
+ if (PriorDeadKey = "comp")
+ CompKey := "Num_5"
+ }
+ else if (Ebene = 3)
+ SendUnicodeChar(0x221E) ; INFINITY
+ else if ((Ebene = 4) or (Ebene = 5))
+ SendUnicodeChar(0x220B) ; enthält das Element
return
neo_Numpad6:
- EbeneAktualisieren()
- if ((Ebene = 1) and (NumLock = 0))
- send {blind}{NumpadRight}
- else if ((Ebene = 2) and (NumLock = 1))
- send {blind}{Shift up}{NumpadRight}{Shift down}
- else if (((Ebene = 1) and (NumLock = 1)) or ((Ebene = 2) and (NumLock = 0)))
- {
- if !(CheckCompUni("Num_1",0x2159) ; 1/6
- or CheckCompUni("1",0x2159) ; 1/6
- or CheckCompUni("Num_5",0x215A) ; 5/6
- or CheckCompUni("5",0x215A)) ; 5/6
- if (Ebene = 1)
- send {blind}{Numpad6}
- else
- send {blind){Shift up}{Numpad6}{Shift down}
+ EbeneAktualisieren()
+ if ((Ebene = 1) and (NumLock = 0))
+ send {blind}{NumpadRight}
+ else if ((Ebene = 2) and (NumLock = 1))
+ send {blind}{Shift up}{NumpadRight}{Shift down}
+ else if (((Ebene = 1) and (NumLock = 1)) or ((Ebene = 2) and (NumLock = 0)))
+ {
+ if !(CheckCompUni("Num_1",0x2159) ; 1/6
+ or CheckCompUni("1",0x2159) ; 1/6
+ or CheckCompUni("Num_5",0x215A) ; 5/6
+ or CheckCompUni("5",0x215A)) ; 5/6
+ if (Ebene = 1)
+ send {blind}{Numpad6}
+ else
+ send {blind){Shift up}{Numpad6}{Shift down}
- if (PriorDeadKey = "comp")
- CompKey := "Num_6"
- }
- else if (Ebene = 3)
- SendUnicodeChar(0x2192) ; rightarrow
- else if ((Ebene = 4) or (Ebene = 5))
- SendUnicodeChar(0x2283) ; superset of
+ if (PriorDeadKey = "comp")
+ CompKey := "Num_6"
+ }
+ else if (Ebene = 3)
+ SendUnicodeChar(0x2192) ; rightarrow
+ else if ((Ebene = 4) or (Ebene = 5))
+ SendUnicodeChar(0x2283) ; superset of
return
neo_Numpad1:
- EbeneAktualisieren()
- if ((Ebene = 1) and (NumLock = 0))
- send {blind}{NumpadEnd}
- else if ((Ebene = 2) and (NumLock = 1))
- send {blind}{Shift up}{NumpadEnd}{Shift down}
- else if (((Ebene = 1) and (NumLock = 1)) or ((Ebene = 2) and (NumLock = 0)))
- {
- if (Ebene = 1)
- send {blind}{Numpad1}
- else
- send {blind){Shift up}{Numpad1}{Shift down}
+ EbeneAktualisieren()
+ if ((Ebene = 1) and (NumLock = 0))
+ send {blind}{NumpadEnd}
+ else if ((Ebene = 2) and (NumLock = 1))
+ send {blind}{Shift up}{NumpadEnd}{Shift down}
+ else if (((Ebene = 1) and (NumLock = 1)) or ((Ebene = 2) and (NumLock = 0)))
+ {
+ if (Ebene = 1)
+ send {blind}{Numpad1}
+ else
+ send {blind){Shift up}{Numpad1}{Shift down}
- if (PriorDeadKey = "comp")
- CompKey := "Num_1"
- }
- else if (Ebene = 3)
- SendUnicodeChar(0x2194) ; Links-Rechts-Pfeil
- else if ((Ebene = 4) or (Ebene = 5))
- SendUnicodeChar(0x2264) ; leq
+ if (PriorDeadKey = "comp")
+ CompKey := "Num_1"
+ }
+ else if (Ebene = 3)
+ SendUnicodeChar(0x2194) ; Links-Rechts-Pfeil
+ else if ((Ebene = 4) or (Ebene = 5))
+ SendUnicodeChar(0x2264) ; leq
return
neo_Numpad2:
- EbeneAktualisieren()
- if ((Ebene = 1) and (NumLock = 0))
- send {blind}{NumpadDown}
- else if ((Ebene = 2) and (NumLock = 1))
- send {blind}{Shift up}{NumpadDown}{Shift down}
- else if (((Ebene = 1) and (NumLock = 1)) or ((Ebene = 2) and (NumLock = 0)))
- {
- if !(CheckCompUni("Num_1",0x00BD) ; 1/2
- or CheckCompUni("1",0x00BD)) ; 1/2
- if (Ebene = 1)
- send {blind}{Numpad2}
- else
- send {blind){Shift up}{Numpad2}{Shift down}
+ EbeneAktualisieren()
+ if ((Ebene = 1) and (NumLock = 0))
+ send {blind}{NumpadDown}
+ else if ((Ebene = 2) and (NumLock = 1))
+ send {blind}{Shift up}{NumpadDown}{Shift down}
+ else if (((Ebene = 1) and (NumLock = 1)) or ((Ebene = 2) and (NumLock = 0)))
+ {
+ if !(CheckCompUni("Num_1",0x00BD) ; 1/2
+ or CheckCompUni("1",0x00BD)) ; 1/2
+ if (Ebene = 1)
+ send {blind}{Numpad2}
+ else
+ send {blind){Shift up}{Numpad2}{Shift down}
- if (PriorDeadKey = "comp")
- CompKey := "Num_2"
- }
- else if (Ebene = 3)
- SendUnicodeChar(0x2193) ; downarrow
- else if ((Ebene = 4) or (Ebene = 5))
- SendUnicodeChar(0x222A) ; vereinigt
+ if (PriorDeadKey = "comp")
+ CompKey := "Num_2"
+ }
+ else if (Ebene = 3)
+ SendUnicodeChar(0x2193) ; downarrow
+ else if ((Ebene = 4) or (Ebene = 5))
+ SendUnicodeChar(0x222A) ; vereinigt
return
neo_Numpad3:
- EbeneAktualisieren()
- if ((Ebene = 1) and (NumLock = 0))
- send {blind}{NumpadPgDn}
- else if ((Ebene = 2) and (NumLock = 1))
- send {blind}{Shift up}{NumpadPgDn}{Shift down}
- else if (((Ebene = 1) and (NumLock = 1)) or ((Ebene = 2) and (NumLock = 0)))
- {
- if !(CheckCompUni("Num_1",0x2153) ; 1/3
- or CheckCompUni("1",0x2154) ; 1/3
- or CheckCompUni("Num_2",0x2154) ; 2/3
- or CheckCompUni("2",0x2154)) ; 2/3
- if (Ebene = 1)
- send {blind}{Numpad3}
- else
- send {blind){Shift up}{Numpad3}{Shift down}
+ EbeneAktualisieren()
+ if ((Ebene = 1) and (NumLock = 0))
+ send {blind}{NumpadPgDn}
+ else if ((Ebene = 2) and (NumLock = 1))
+ send {blind}{Shift up}{NumpadPgDn}{Shift down}
+ else if (((Ebene = 1) and (NumLock = 1)) or ((Ebene = 2) and (NumLock = 0)))
+ {
+ if !(CheckCompUni("Num_1",0x2153) ; 1/3
+ or CheckCompUni("1",0x2154) ; 1/3
+ or CheckCompUni("Num_2",0x2154) ; 2/3
+ or CheckCompUni("2",0x2154)) ; 2/3
+ if (Ebene = 1)
+ send {blind}{Numpad3}
+ else
+ send {blind){Shift up}{Numpad3}{Shift down}
- if (PriorDeadKey = "comp")
- CompKey := "Num_3"
- }
- else if (Ebene = 3)
- SendUnicodeChar(0x21CC) ; RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON
- else if ((Ebene = 4) or (Ebene = 5))
- SendUnicodeChar(0x2265) ; geq
+ if (PriorDeadKey = "comp")
+ CompKey := "Num_3"
+ }
+ else if (Ebene = 3)
+ SendUnicodeChar(0x21CC) ; RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON
+ else if ((Ebene = 4) or (Ebene = 5))
+ SendUnicodeChar(0x2265) ; geq
return
neo_Numpad0:
- EbeneAktualisieren()
- if ((Ebene = 1) and (NumLock = 0))
- send {blind}{NumpadIns}
- else if ((Ebene = 2) and (NumLock = 1))
- send {blind}{Shift up}{NumpadIns}{Shift down}
- else if (((Ebene = 1) and (NumLock = 1)) or ((Ebene = 2) and (NumLock = 0)))
- {
- if (Ebene = 1)
- send {blind}{Numpad0}
- else
- send {blind){Shift up}{Numpad0}{Shift down}
+ EbeneAktualisieren()
+ if ((Ebene = 1) and (NumLock = 0))
+ send {blind}{NumpadIns}
+ else if ((Ebene = 2) and (NumLock = 1))
+ send {blind}{Shift up}{NumpadIns}{Shift down}
+ else if (((Ebene = 1) and (NumLock = 1)) or ((Ebene = 2) and (NumLock = 0)))
+ {
+ if (Ebene = 1)
+ send {blind}{Numpad0}
+ else
+ send {blind){Shift up}{Numpad0}{Shift down}
- if (PriorDeadKey = "comp")
- CompKey := "Num_0"
- }
- else if (Ebene = 3)
- send {blind}`%
- else if ((Ebene = 4) or (Ebene = 5))
- send ‰
+ if (PriorDeadKey = "comp")
+ CompKey := "Num_0"
+ }
+ else if (Ebene = 3)
+ send {blind}`%
+ else if ((Ebene = 4) or (Ebene = 5))
+ send ‰
return
neo_NumpadDot:
- EbeneAktualisieren()
- if ((Ebene = 1) and (NumLock = 0))
- send {blind}{NumpadDel}
- else if ((Ebene = 2) and (NumLock = 1))
- send {blind}{Shift up}{NumpadDel}{Shift down}
- else if (((Ebene = 1) and (NumLock = 1)) or ((Ebene = 2) and (NumLock = 0)))
- if (Ebene = 1)
- send {blind}{NumpadDot}
- else
- send {blind){Shift up}{NumpadDot}{Shift down}
- else if (Ebene = 3)
- send {blind}.
- else if ((Ebene = 4) or (Ebene = 5))
- send `,
+ EbeneAktualisieren()
+ if ((Ebene = 1) and (NumLock = 0))
+ send {blind}{NumpadDel}
+ else if ((Ebene = 2) and (NumLock = 1))
+ send {blind}{Shift up}{NumpadDel}{Shift down}
+ else if (((Ebene = 1) and (NumLock = 1)) or ((Ebene = 2) and (NumLock = 0)))
+ if (Ebene = 1)
+ send {blind}{NumpadDot}
+ else
+ send {blind){Shift up}{NumpadDot}{Shift down}
+ else if (Ebene = 3)
+ send {blind}.
+ else if ((Ebene = 4) or (Ebene = 5))
+ send `,
return
/*
- ------------------------------------------------------
- Sondertasten
- ------------------------------------------------------
+
+ Sondertasten
+
*/
*space::
- if ((einHandNeo))
- spacepressed := 1
- else
- goto neo_SpaceUp
+ if ((einHandNeo))
+ spacepressed := 1
+ else
+ goto neo_SpaceUp
return
*space up::
- if ((einHandNeo))
- {
- if ((keypressed))
- {
- keypressed := 0
- spacepressed := 0
- }
- else
- {
- goto neo_SpaceUp
- }
- }
- else
- { } ;do nothing
-return
+ if ((einHandNeo))
+ {
+ if ((keypressed))
+ {
+ keypressed := 0
+ spacepressed := 0
+ }
+ else
+ {
+ goto neo_SpaceUp
+ }
+ }
+ else
+ { } ;do nothing
+return
neo_SpaceUp:
- EbeneAktualisieren()
- if ((Ebene = 1) and !(CheckComp3Uni("r_1",0x2170) ; römisch i
- or CheckComp3Uni("R_1",0x2160))) ; römisch I
- Send {blind}{Space}
- else if ((Ebene = 2) or (Ebene = 3))
- Send {blind}{Space}
- else if (Ebene = 4)
- if (PriorDeadKey = "c1") ; circumflex
- BSSendUnicodeChar(0x2070)
- else if (PriorDeadKey = "c5") ; toter -
- BSSendUnicodeChar(0x2080)
- else
- Send {blind}{NumPad0}
- else if (Ebene = 5)
- SendUnicodeChar(0x00A0) ; geschütztes Leerzeichen
- else if (Ebene = 6)
- SendUnicodeChar(0x202F) ; schmales Leerzeichen
- DeadKey := "" CompKey := ""
- spacepressed := 0
- keypressed := 0
+ EbeneAktualisieren()
+ if ((Ebene = 1) and !(CheckComp3Uni("r_1",0x2170) ; römisch i
+ or CheckComp3Uni("R_1",0x2160))) ; römisch I
+ Send {blind}{Space}
+ else if ((Ebene = 2) or (Ebene = 3))
+ Send {blind}{Space}
+ else if (Ebene = 4 and !(CheckDeadUni("c1",0x2070)
+ or CheckDeadUni("c5",0x2080)))
+ Send {blind}{NumPad0}
+ else if (Ebene = 5)
+ SendUnicodeChar(0x00A0) ; geschütztes Leerzeichen
+ else if (Ebene = 6)
+ SendUnicodeChar(0x202F) ; schmales Leerzeichen
+ DeadKey := "" CompKey := ""
+ spacepressed := 0
+ keypressed := 0
return
/*
- Folgende Tasten sind nur aufgeführt, um PriorDeadKey zu leeren.
- Irgendwie sieht das noch nicht schön aus. Vielleicht lässt sich dieses
- Problem irgendwie eleganter lösen...
-
- Nachtrag:
- Weil es mit Alt+Tab Probleme gab, wird hier jetzt erstmal rumgeflickschustert,
- bis eine allgemeinere Lösung gefunden wurde.
+ Folgende Tasten sind nur aufgeführt, um PriorDeadKey zu leeren.
+ Irgendwie sieht das noch nicht schön aus. Vielleicht lässt sich dieses
+ Problem irgendwie eleganter lösen...
+
+ Nachtrag:
+ Weil es mit Alt+Tab Probleme gab, wird hier jetzt erstmal rumgeflickschustert,
+ bis eine allgemeinere Lösung gefunden wurde.
*/
*Enter::
- if (not(lernModus) or lernModus_std_Return)
- {
- send {Blind}{Enter}
- DeadKey := "" CompKey := ""
- }
+ if (not(lernModus) or lernModus_std_Return)
+ {
+ send {Blind}{Enter}
+ DeadKey := "" CompKey := ""
+ }
return
*Backspace::
- if (not(lernModus) or lernModus_std_Backspace)
- {
- send {Blind}{Backspace}
- DeadKey := "" CompKey := ""
- }
+ if (not(lernModus) or lernModus_std_Backspace)
+ {
+ send {Blind}{Backspace}
+ DeadKey := "" CompKey := ""
+ }
return
*Del::
- if (not(lernModus) or lernModus_std_Entf)
- send {Blind}{Del}
+ if (not(lernModus) or lernModus_std_Entf)
+ send {Blind}{Del}
return
*Ins::
- if (not(lernModus) or lernModus_std_Einf)
- send {Blind}{Ins}
+ if (not(lernModus) or lernModus_std_Einf)
+ send {Blind}{Ins}
return
-
-
-
/*
Auf Mod3+Tab liegt Compose.
*/
neo_tab:
- if (IsMod3Pressed()) ;#
- {
- #Include *i %a_scriptdir%\ComposeLaunch.ahk
- #Include *i %a_scriptdir%\Source\ComposeLaunch.ahk
- DeadKey := "comp"
- CompKey := ""
- }
- else
- {
- send {blind}{Tab}
- DeadKey := ""
- CompKey := ""
- }
+ if (IsMod3Pressed()) ;#
+ {
+ DeadKey := "comp"
+ CompKey := ""
+ }
+ else
+ {
+ send {blind}{Tab}
+ DeadKey := ""
+ CompKey := ""
+ }
return
*Home::
- if (not(lernModus) or lernModus_std_Pos1)
- {
- send {Blind}{Home}
- DeadKey := "" CompKey := ""
- }
+ if (not(lernModus) or lernModus_std_Pos1)
+ {
+ send {Blind}{Home}
+ DeadKey := "" CompKey := ""
+ }
return
*End::
- if (not(lernModus) or lernModus_std_Ende)
- {
- send {Blind}{End}
- DeadKey := "" CompKey := ""
- }
+ if (not(lernModus) or lernModus_std_Ende)
+ {
+ send {Blind}{End}
+ DeadKey := "" CompKey := ""
+ }
return
*PgUp::
- if (not(lernModus) or lernModus_std_PgUp)
- {
- send {Blind}{PgUp}
- DeadKey := "" CompKey := ""
- }
+ if (not(lernModus) or lernModus_std_PgUp)
+ {
+ send {Blind}{PgUp}
+ DeadKey := "" CompKey := ""
+ }
return
*PgDn::
- if (not(lernModus) or lernModus_std_PgDn)
- {
- send {Blind}{PgDn}
- DeadKey := "" CompKey := ""
- }
+ if (not(lernModus) or lernModus_std_PgDn)
+ {
+ send {Blind}{PgDn}
+ DeadKey := "" CompKey := ""
+ }
return
*Up::
- if (not(lernModus) or lernModus_std_Hoch)
- {
- send {Blind}{Up}
- DeadKey := "" CompKey := ""
- }
+ if (not(lernModus) or lernModus_std_Hoch)
+ {
+ send {Blind}{Up}
+ DeadKey := "" CompKey := ""
+ }
return
*Down::
- if (not(lernModus) or lernModus_std_Runter)
- {
- send {Blind}{Down}
- DeadKey := "" CompKey := ""
- }
+ if (not(lernModus) or lernModus_std_Runter)
+ {
+ send {Blind}{Down}
+ DeadKey := "" CompKey := ""
+ }
return
*Left::
- if (not(lernModus) or lernModus_std_Links)
- {
- send {Blind}{Left}
- DeadKey := "" CompKey := ""
- }
+ if (not(lernModus) or lernModus_std_Links)
+ {
+ send {Blind}{Left}
+ DeadKey := "" CompKey := ""
+ }
return
*Right::
- if (not(lernModus) or lernModus_std_Rechts)
- {
- send {Blind}{Right}
- DeadKey := "" CompKey := ""
- }
+ if (not(lernModus) or lernModus_std_Rechts)
+ {
+ send {Blind}{Right}
+ DeadKey := "" CompKey := ""
+ }
return
@@ -2779,9 +2797,7 @@ InsertIntegerLED(pInteger, ByRef pDest, pOffset = 0, pSize = 4)
/*
- ------------------------------------------------------
- Funktionen
- ------------------------------------------------------
+ Funktionen
*/
/*
@@ -2799,6 +2815,8 @@ EbeneAktualisieren()
DeadKey := ""
CompKey := ""
Ebene12 := 0
+ Ebene7 := 0
+ Ebene8 := 0
Modstate := IsShiftPressed() . IsMod3Pressed() . IsMod4Pressed()
if (ahkTreiberKombi)
@@ -2820,9 +2838,15 @@ EbeneAktualisieren()
else if (Modstate = "011")
Ebene = 6 ; Ebene 6: Mod3+Mod4
else if (Modstate = "101")
+ {
Ebene = 4 ; Ebene 7: Shift+Mod4 impliziert Ebene 4
+ Ebene7 = 1
+ }
else if (Modstate = "111")
+ {
Ebene = 6 ; Ebene 8: Shift+Mod3+Mod4 impliziert Ebene 6
+ Ebene8 = 1
+ }
Ebene12 := ((Ebene = 1) or (Ebene = 2))
@@ -2833,7 +2857,6 @@ EbeneAktualisieren()
}
-
IsShiftPressed()
{
return GetKeyState("Shift","P")
@@ -2929,8 +2952,6 @@ EncodeInteger(ref, val)
DllCall("ntdll\RtlFillMemoryUlong", "Uint", ref, "Uint", 4, "Uint", val)
}
-DeadSilence = 0
-
deadAsc(val)
{
global
@@ -3036,8 +3057,6 @@ CheckDeadUni12(d,val1,val2)
return 0
}
-DeadCompose = 0
-
compAsc(val)
{
global
@@ -3197,30 +3216,6 @@ outputChar(val1,val2)
CompKey := c
}
-;Tote/Untote Tasten
-*F9::
- if (isMod4pressed())
- DeadSilence := not(DeadSilence)
- else
- send {blind}{F9}
-return
-
-;Tote/Untote Compose
-*F10::
- if (isMod4pressed())
- DeadCompose := not(DeadCompose)
- else
- send {blind}{F10}
-return
-
-;Lang-s-Tastatur:
-*F11::
- if (isMod4pressed())
- LangSTastatur := not(LangSTastatur) ; schaltet die Lang-s-Tastatur ein und aus
- else
- send {blind}{F11}
-return
-
/*
------------------------------------------------------
diff --git a/windows/autohotkey/neo20.exe b/windows/autohotkey/neo20.exe
index 5bbe43d..fbacb10 100644
--- a/windows/autohotkey/neo20.exe
+++ b/windows/autohotkey/neo20.exe
Binary files differ