summaryrefslogtreecommitdiff
path: root/windows/autohotkey/neo20.ahk
diff options
context:
space:
mode:
Diffstat (limited to 'windows/autohotkey/neo20.ahk')
-rw-r--r--windows/autohotkey/neo20.ahk2827
1 files changed, 1411 insertions, 1416 deletions
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
-
/*
------------------------------------------------------