summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--A-REFERENZ-A/neo20.txt86
-rw-r--r--TODO.txt5
-rw-r--r--windows/autohotkey/Changelog-and-Todo.txt2
-rw-r--r--windows/autohotkey/Source/All.ahk3
-rw-r--r--windows/autohotkey/Source/Global-Part.ahk432
-rw-r--r--windows/autohotkey/Source/Keys-Neo.ahk1162
-rw-r--r--windows/autohotkey/Source/Methods-Layers.ahk14
-rw-r--r--windows/autohotkey/Source/Methods-Lights.ahk80
-rw-r--r--windows/autohotkey/Source/Methods-Other.ahk255
-rw-r--r--windows/autohotkey/Source/Methods-ScreenKeyboard.ahk43
-rw-r--r--windows/autohotkey/Source/Methods-Unicode.ahk75
-rw-r--r--windows/autohotkey/neo20.ahk2002
-rw-r--r--windows/autohotkey/neo20.exebin424459 -> 424429 bytes
13 files changed, 1781 insertions, 2378 deletions
diff --git a/A-REFERENZ-A/neo20.txt b/A-REFERENZ-A/neo20.txt
index 1607fcd..bb22639 100644
--- a/A-REFERENZ-A/neo20.txt
+++ b/A-REFERENZ-A/neo20.txt
@@ -1,4 +1,4 @@
--------------------------------------------------------------------------------
+-------------------------------------------------------------------------------
ACHTUNG:
Damit alles ordentlich dargestellt wird, muss man für die Darstellung z. B. im
Texteditor eine dicktengleiche Schrift einstellen!
@@ -157,7 +157,7 @@ Siehe auch http://de.wikipedia.org/wiki/Dezimaltrennzeichen
│ ↘3 ♫ │U ⇱ ∮│I ⇠ ∫│A ⇣ ∀│E ⇢ ∃│O ⇲ ∈│S ¿ Σ│N 4 ℕ│R 5 ℝ│T 6 ∂│D , Δ│Y . ∇│↘3 │ ↲ │
│ │u \ │i / ι│a { α│e } ε│o * ο│s ? σ│n ( ν│r ) ϱ│t - τ│d : δ│y @ υ│ │ │
├──────┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴─────┴─────┤
-│Cps_Lk│↙4 │Ü ⌧ ∝│Ö ⇥ ℑ│Ä ⇟ ℜ│P ↲ Π│Z ⎌ ℤ│B : ⇐│M 1 ⇔│ 2 ⇒│ 3 Θ│J ; ≡│ Caps_Lock │
+│Cps_Lk│↙4 │Ü ⌧ ∝│Ö ⇥ ℑ│Ä ⇟ ℜ│P ↲ Π│Z ⍓ ℤ│B : ⇐│M 1 ⇔│ 2 ⇒│ 3 Θ│J ; ≡│ Caps_Lock │
│Umsch │4Lock│ü # │ö $ │ä | η│p ~ π│z ` ζ│b + β│m % µ│, " ρ│. ' ϑ│j ; θ│ Umschalt │
├──────┼─────┴┬────┴─┬───┴─────┴─────┴─────┴─────┴─────┴────┬┴─────┼─────┴┬──────┬──────┤
│ Strg │ Fen- │ Alt │ Leerz.␣ 0 schmal.Lz.¦ │↙4 │ Fen- │ Menu │ Strg │
@@ -247,44 +247,46 @@ Um die Vielseitigkeit und Funktionsfähigkeit der NEO‐Tastatur zu gewährleist
sollten für alle Elemente auf dem Keypad wenn möglch die KP_‐Variante verwendet werden!
=== Legende – Ziffernblock ===
-┌─────┐ 1 … 1. Ebene (kein Mod)
-│ 2 4 │ 2 … 2. Ebene (Umschalt)
-│ 1 3 │ 3 … 3. Ebene (Mod3)
-└─────┘ 4 … 5. Ebene (Mod3+Umschalt)
+┌───────┐ 1 … 1. Ebene (kein Mod)
+│ 2 4 6 │ 2 … 2. Ebene (Umschalt)
+│ 1 3 5 │ 3 … 3. Ebene (Mod3)
+└───────┘ 4 … 4. Ebene (Mod4)
+ 5 … 5. Ebene (Mod3+Umschalt) (z.Zt. noch nicht belegt)
+ 6 … 6. Ebene (Mod3+Mod4) (z.Zt. noch nicht belegt)
=== Rechenzeichen ===
-┬─────┬ 1 … ASCII-Schrägstrich
-│ ∕ │ 2 … ASCII-Schrägstrich
-│ / ÷ │ 3 … Geteiltzeichen (U+00F7 DIVISION SIGN)
-┼─────┼ 4 … Geteiltstrich (U+2215 DIVISION SLASH)
+┬───────┬ 1 … ASCII-Schrägstrich
+│ / ⁄ │ 2 … ASCII-Schrägstrich
+│ / ÷ │ 3 … Geteiltzeichen (U+00F7 DIVISION SIGN)
+┼───────┼ 4 … Geteiltstrich (U+2215 DIVISION SLASH)
-┬─────┬ 1 … ASCII-Malzeichen
-│ ∙ │ 2 … ASCII-Malzeichen
-│ * × │ 3 … Malkreuz (U+00D7 MULTIPLICATION SIGN)
-┼─────┼ 4 … Malpunkt (U+2219 BULLET OPERATOR)
+┬───────┬ 1 … ASCII-Malzeichen
+│ * × │ 2 … ASCII-Malzeichen
+│ * ∙ │ 3 … Malpunkt (U+2219 BULLET OPERATOR)
+┼───────┼ 4 … Malkreuz (U+00D7 MULTIPLICATION SIGN)
-┬─────┐ 1 … ASCII-Minus
-│ │ 2 … ASCII-Minus
-│ - − │ 3 … Minuszeichen (U+2212 MINUS SIGN)
-┼─────┤
+┬───────┐ 1 … ASCII-Minus
+│ - − │ 2 … ASCII-Minus
+│ - − │ 3 … Minuszeichen (U+2212 MINUS SIGN)
+┼───────┤ 4 … Minuszeichen (U+2212 MINUS SIGN)
=== Alle Ebenen – Ziffernblock ===
-┌─────┬─────┬─────┬─────┐
-│ ≠ ⍓ │ /frc│ * × │ - − │ ⍓ turns on/off the keyboard mouse control
-│ = ≈ │ / ÷ │ * ⋅ │ - - │ frc means fraction slash ⁄
-├─────┼─────┼─────┼─────┤
-│† Hom│∩ KP↑│⊗ PgU│ │
-│ 7 ↕│ 8 ↑│ 9 ∋│ + ∓ │
-├─────┼─────┼─────┤ │
-│⊂ KP←│€ Beg│⊃ KP→│ + ± │
-│ 4 ←│ 5 ∞│ 6 →│ │
-├─────┼─────┼─────┼─────┤
-│✔ End│∪ KP↓│✗ PgD│ │
-│ 1 ↔│ 2 ↓│ 3 ⇌│ │
-├─────┴─────┼─────┤ │
-│ Ins ‰ │Del S│ │ S: ,/. KP_Seperator
-│ 0 % │ , .│Enter│
-└───────────┴─────┴─────┘
+┌───────┬───────┬───────┬───────┐
+│ ≠ ⍓ │ / ⁄ │ * × │ - − │
+│ = ≈ │ / ÷ │ * ⋅ │ - − │
+├───────┼───────┼───────┼───────┤
+│† Hom │∩ KP↑ │⊗ PgD │ │
+│7 ↕ │8 ↑ │9 ∍ │ │
+├───────┼───────┼───────┤ │
+│⊂ KP← │€ Beg │⊃ KP→ │ + ∓ │
+│4 ← │5 ∞ │6 → │ + ± │
+├───────┼───────┼───────┼───────┤
+│✔ End │∪ KP↓ │✗ PgD │ │
+│1 ↔ │2 ↓ │3 ⇌ │ │
+├───────┴───────┼───────┤ │
+│ % Ins │. Del │ │
+│ 0 ‰ │, ,/. │ Enter │
+└───────────────┴───────┴───────┘
=== Erste Ebene – Miniatur ===
┌───┬───┬───┬───┐
@@ -309,20 +311,20 @@ sollten für alle Elemente auf dem Keypad wenn möglch die KP_‐Variante verwen
├───┼───┼───┼───┤
│ ✔ │ ∪ │ ✗ │ │
├───┴───┼───┤ │
-│ Ins │Del│Ent│
+│ % │ . │Ent│
└───────┴───┴───┘
=== Dritte Ebene – Miniatur ===
┌───┬───┬───┬───┐
-│ ≈ │ ÷ │ ∙ │ - │
+│ ≈ │ ÷ │ ∙ │ − │
├───┼───┼───┼───┤
-│ ↕ │ ↑ │ ∋ │ │
+│ ↕ │ ↑ │ ∍ │ │
├───┼───┼───┤ │
│ ← │ ∞ │ → │ ± │
├───┼───┼───┼───┤
│ ↔ │ ↓ │ ⇌ │ │
├───┴───┼───┤ │
-│ % │ . │Ent│
+│ ‰ │,/.│Ent│
└───────┴───┴───┘
=== Vierte Ebene – Miniatur ===
@@ -331,18 +333,18 @@ sollten für alle Elemente auf dem Keypad wenn möglch die KP_‐Variante verwen
├───┼───┼───┼───┤ frc means fraction slash ⁄
│Hom│KP↑│PgU│ │
├───┼───┼───┤ │
-│KP←│Beg│KP→│ ∓ │
+│KP←│Beg│KP→│ ∓ │ Beg invokes click of the keyboard mouse
├───┼───┼───┼───┤
│End│KP↓│PgD│ │
├───┴───┼───┤ │
-│ ‰ │,/.│Ent│
+│ Ins │Del│Ent│
└───────┴───┴───┘
== Tipp ==
Trägt man unter Linux/Mac/BSD folgende Zeilen in die ~/.bashrc, ~/.zshrc oder
vergleichbares ein, bekommt man anschließend mittels Eingabe von »neo« oder
»num« die aktuelle Belegung in der Konsole angezeigt:
-alias num='grep -m 1 -B 15 "┴─────┘" PFAD_ZUR_DATEI/neo20.txt'
+alias num='grep -m 1 -B 15 "┴───────┘" PFAD_ZUR_DATEI/neo20.txt'
alias neo='grep -m 1 -B 15 "┴──────┘" PFAD_ZUR_DATEI/neo20.txt'
Dazu muss »PFAD_ZUR_DATEI« durch den Pfad zu dieser Datei ersetzt werden.
@@ -386,7 +388,7 @@ Im Verzeichnis linux/bin sind umfangreichere Skripte mit größerer Funktionalit
== Zeichenerläuterungen zur Mat-/Nat-Ebene – Ziffernblock ==
⊗ … Tensorprodukt ; Vektor in die Ebene zeigend (U2297)
∞ … unendlich (U221E)
-∋ … enthält das Element (U220B)
+∍ … enthält das Element (U220D)
== Hinweise zu Doppelbelegungen in Unicode ==
Griechische Minuskel und Majuskel besitzten in der Regel eine weitere Bedeutung, z.B.
diff --git a/TODO.txt b/TODO.txt
index f4909f4..7240f2d 100644
--- a/TODO.txt
+++ b/TODO.txt
@@ -1,4 +1,4 @@
-21) Was spricht jetzt noch gegen eine „Veröffentlichung“ von Neo2? Es ist
+21) Was spricht jetzt noch gegen eine „Veröffentlichung“ von Neo2? Es ist
doch nun bis auf minimalste Änderungen „fertig“.
23) Wie sollen die Modifier heißen? Mod3 und Mod4? Mod3 und ... oder wie?
@@ -16,7 +16,6 @@
• auch wenn es z.B. unter OpenOffice nicht läuft: wir haben auch den
Ziffernblock belegt – den sollte man also auch im Bild mit aufnehmen
-
== Themen für das IRC-Treffen am Montag ==
30) Homepage/Webpräsenz
c) Wir sollten Aufgaben verteilen (wer dokumentiert was, wer macht
@@ -105,4 +104,4 @@ Man muss das ganze eben unter eine Lizenz stellen. Wenn die Lizenz "Mach damit,
Und wenn wir eine CreativeCommons-Lizenz nutzen wollen: ¿Welche? Ist z.B. die kommerzielle Nutzung erlaubt oder nicht – darf z.B. Apple eine NEO2-Variante zum neuen Apple-Tastatur-Standard im OS 10.8 erklären und dann überteuerte, nur mit Apple-Rechnern funktionierende »NEO2ε«-Tastaturen verkaufen?
-17. Juli 2008: Reihenfolge auf Ebene 6 tauschen: ⇐⇔⇒ statt ⇒⇔⇐ (siehe Mails »Re: [neo] Antrag: Aufnahme der spitzen Klammern« vom 09.07.2008 00:10)
+41) Reihenfolge auf Ebene 6 tauschen: ⇐⇔⇒ statt ⇒⇔⇐ (siehe Mails »Re: [neo] Antrag: Aufnahme der spitzen Klammern« vom 09.07.2008 00:10)
diff --git a/windows/autohotkey/Changelog-and-Todo.txt b/windows/autohotkey/Changelog-and-Todo.txt
index 307510e..9cb8301 100644
--- a/windows/autohotkey/Changelog-and-Todo.txt
+++ b/windows/autohotkey/Changelog-and-Todo.txt
@@ -116,7 +116,7 @@ Revision 558 (von Matthias Berg):
- Icon-Bug behoben
• Hotkeys dürfen nicht vor der folgenden Zeile stehen: »menu, tray, icon, neo.ico,,1«
- lernModus-Konfigurations-Bug behoben: or statt and(not).
-- Ein paar leere Else-Fälle eingebaut (um die Verständlichkeit zu erhöhen und mögliche Compilerprobleme vermeiden).
+- Ein paar leere Else-Fälle eingebaut (um die Verständlichkeit zu erhöhen und mögliche Compilerprobleme zu vermeiden).
Revision 556 (von Matthias Berg):
- lernModus (an/aus mit Strg+Komma)
• im Skript konfigurierbar.
diff --git a/windows/autohotkey/Source/All.ahk b/windows/autohotkey/Source/All.ahk
index 1b899b7..ec516bf 100644
--- a/windows/autohotkey/Source/All.ahk
+++ b/windows/autohotkey/Source/All.ahk
@@ -11,8 +11,6 @@
------------------------------------------------------
*/
-
-
#Include %a_scriptdir%\Warning.ahk
#Include %a_scriptdir%\Global-Part.ahk
#Include %a_scriptdir%\Methods-Layers.ahk
@@ -22,7 +20,6 @@
#Include %a_scriptdir%\Methods-Other.ahk
#Include %a_scriptdir%\Methods-Unicode.ahk
#Include %a_scriptdir%\Methods-ScreenKeyboard.ahk
-
; Eines schnen Tages sollten auch die Compose-Kombinationen automatisch aus der Referenz erzeugt werden. Derzeitig gibt es nur den (hchst instabilen und experimentellen!) Compose-Playground:
;#Include *i %a_scriptdir%\..\Compose\Compose-all-in-one.ahk
diff --git a/windows/autohotkey/Source/Global-Part.ahk b/windows/autohotkey/Source/Global-Part.ahk
index a0257d1..bcb96eb 100644
--- a/windows/autohotkey/Source/Global-Part.ahk
+++ b/windows/autohotkey/Source/Global-Part.ahk
@@ -1,4 +1,28 @@
-SetNumLockState AlwaysOff
+/******************
+* Initialisierung *
+*******************
+*/
+DeadKey = ""
+CompKey = ""
+PriorDeadKey = ""
+PriorCompKey = ""
+Ebene12 = 0
+noCaps = 0
+
+EbeneAktualisieren()
+SetBatchLines -1
+SetCapsLockState Off
+SetNumLockState Off
+SetScrollLockState Off
+
+name=Neo 2.0 (%A_ScriptName%)
+enable=Aktiviere %name%
+disable=Deaktiviere %name%
+#usehook on
+#singleinstance force
+#LTrim ; Quelltext kann eingerckt werden,
+Process,Priority,,High
+SendMode Input
/****************
* Verzeichnisse *
@@ -13,132 +37,86 @@ FileCreateDir, %ResourceFolder%
EnvGet, WindowsEnvAppDataFolder, APPDATA
ApplicationFolder = %WindowsEnvAppDataFolder%\NEO2
FileCreateDir, %ApplicationFolder%
-
-
+ini = %ApplicationFolder%\NEO2.ini
/*******************
* Globale Schalter *
********************
*/
-
; Im folgenden gilt (soweit nicht anders angegeben) Ja = 1, Nein = 0:
-; Syntaxhinweis: IniRead, Variable, InputFilename, Section, Key [, DefaultValue]
; Sollen die Bilder fr die Bildschirmtastatur in die compilierte EXE-Datei miteingebunden werden? (Nachteil: grssere Dateigrsse, Vorteil: Referenz fr Anfnger stets einfach verfgbar)
bildschirmTastaturEinbinden := 1
+; Syntaxhinweis: IniRead, Variable, InputFilename, Section, Key [, DefaultValue]
+
; Sollen Ebenen 1-4 ignoriert werden (kann z.B. vom dll Treiber bernommen werden)?
-IniRead, ahkTreiberKombi, %ApplicationFolder%\NEO2.ini, Global, ahkTreiberKombi, 0
+IniRead,ahkTreiberKombi,%ini%,Global,ahkTreiberKombi,0
; Soll der Treiber im Einhandmodus betrieben werden?
-IniRead, einHandNeo, %ApplicationFolder%\NEO2.ini, Global, einHandNeo, 0
+IniRead,einHandNeo,%ini%,Global,einHandNeo,0
; Soll der Lernmodus aktiviert werden?
-IniRead, lernModus, %ApplicationFolder%\NEO2.ini, Global, lernModus, 0
+IniRead,lernModus,%ini%,Global,lernModus,0
; Soll mit einer MsgBox explizit auf das Ein- und Ausschalten des Mod4-Locks hingewiesen werden?
-IniRead, zeigeLockBox, %ApplicationFolder%\NEO2.ini, Global, zeigeLockBox, 1
+IniRead,zeigeLockBox,%ini%,Global,zeigeLockBox,1
; Soll aktivierter Mod4-Lock ber die Rollen-LED des Keybord angezeigt werden (analog zu CapsLock)?
-IniRead, UseMod4Light, %ApplicationFolder%\NEO2.ini, Global, UseMod4Light, 1
+IniRead,UseMod4Light,%ini%,Global,UseMod4Light,1
; Soll Lang-s auf s, s auf und auf Lang-s gelegt (bzw. vertauscht) werden?
-IniRead, LangSTastatur, %ApplicationFolder%\NEO2.ini, Global, LangSTastatur, 0
+IniRead,LangSTastatur,%ini%,Global,LangSTastatur,0
+If LangSTastatur
+ KeyboardLED(2,"on")
; Sollen tote Tasten blind angezeigt werden?
-IniRead, DeadCompose, %ApplicationFolder%\NEO2.ini, Global, DeadCompose, 0
+IniRead,DeadCompose,%ini%,Global,DeadCompose,0
;Sollen Compose-Tasten blind angezeigt werden?
-IniRead, DeadSilence, %ApplicationFolder%\NEO2.ini, Global, DeadSilence, 0
+IniRead,DeadSilence,%ini%,Global,DeadSilence,0
/***********************
* Recourcen-Verwaltung *
************************
*/
-
-if(FileExist("ResourceFolder") <> false) {
+if(FileExist("ResourceFolder")<>false){
; Versuche, alle mglicherweise 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
+ 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.
+}else{
+ 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
-if ( FileExist("ebene1.png") && FileExist("ebene2.png") && FileExist("ebene3.png") && FileExist("ebene4.png") && FileExist("ebene5.png") && FileExist("ebene6.png") )
- zeigeBildschirmTastatur = 1
-if ( FileExist("neo.ico") && FileExist("neo_disabled.ico") )
- iconBenutzen = 1
-
-
-/**************************
-* lernModus Konfiguration *
-* nur relevant wenn *
-* lernModus = 1 *
-* Strg+Komma schaltet um *
-***************************
+if(FileExist("ebene1.png")&&FileExist("ebene2.png")&&FileExist("ebene3.png")&&FileExist("ebene4.png")&&FileExist("ebene5.png")&&FileExist("ebene6.png"))
+ zeigeBildschirmTastatur=1
+if(FileExist("neo.ico")&&FileExist("neo_disabled.ico"))
+ iconBenutzen=1
+
+/*******************************************
+* berprfung auf deutsches Tastaturlayout *
+********************************************
*/
-; 0 = aus, 1 = an
-
-; die Nachfolgenden sind ntzlich um sich die Qwertz-Tasten abzugewhnen, da alle auf der 4. Ebene vorhanden.
-lernModus_std_Return = 0
-lernModus_std_Backspace = 0
-lernModus_std_PgUp = 0
-lernModus_std_PgDn = 0
-lernModus_std_Einf = 0
-lernModus_std_Entf = 0
-lernModus_std_Pos0 = 0
-lernModus_std_Ende = 0
-lernModus_std_Hoch = 0
-lernModus_std_Runter = 0
-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
-; ntzlich um sich zu zwingen, richtig zu schreiben
-lernModus_neo_Backspace = 0
-lernModus_neo_Entf = 1
-
-; aus Noras Skript kopiert:
-Process,Priority,,High
-#usehook on
-#singleinstance force
-#LTrim
- ; Quelltext kann eingerckt werden,
- ; msgbox ist trotzdem linksbndig
-SetTitleMatchMode 2
-SendMode Input
-name = Neo 2.0
-enable = Aktiviere %name%
-disable = Deaktiviere %name%
-
-; berprfung auf deutsches Tastaturlayout
-; ----------------------------------------
-
-regread, inputlocale, HKEY_CURRENT_USER, Keyboard Layout\Preload, 1
-regread, inputlocalealias, HKEY_CURRENT_USER
- , Keyboard Layout\Substitutes, %inputlocale%
-if inputlocalealias <>
- inputlocale = %inputlocalealias%
-if inputlocale <> 00000407
+regread,inputlocale,HKEY_CURRENT_USER,Keyboard Layout\Preload,1
+regread,inputlocalealias,HKEY_CURRENT_USER,Keyboard Layout\Substitutes,%inputlocale%
+if inputlocalealias<>inputlocale=%inputlocalealias%
+if inputlocale<>00000407
{
suspend
- regread, inputlocale, HKEY_LOCAL_MACHINE
- , SYSTEM\CurrentControlSet\Control\Keyboard Layouts\%inputlocale%
- , Layout Text
- msgbox, 48, Warnung!,
+ regread,inputlocale,HKEY_LOCAL_MACHINE,SYSTEM\CurrentControlSet\Control\Keyboard Layouts\%inputlocale%,Layout Text
+ msgbox, 48, Warnung!,
(
Nicht kompatibles Tastaturlayout:
`t%inputlocale%
@@ -153,87 +131,39 @@ if inputlocale <> 00000407
exitapp
}
-
-; Men des Systray-Icons
-; ----------------------
-
-if (iconBenutzen)
- 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, tray, add, Hilfe, :helpmenu
-menu, tray, add
-menu, tray, add, %disable%, togglesuspend
-menu, tray, default, %disable%
-menu, tray, add
-menu, tray, add, Edit, edit
-menu, tray, add, Reload, reload
-menu, tray, add
-menu, tray, add, Nicht im Systray anzeigen, hide
-menu, tray, add, %name% beenden, exitprogram
-menu, tray, tip, %name%
-
-
-/*
- Variablen initialisieren
+/*************************
+* Men des Systray-Icons *
+**************************
*/
-
-DeadKey = ""
-CompKey = ""
-PriorDeadKey = ""
-PriorCompKey = ""
-Ebene12 = 0
-
-EbeneAktualisieren()
-
-
-/*
- EinHandNeo
+if (iconBenutzen)
+ 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,tray,add,Hilfe,:helpmenu
+menu,tray,add
+menu,tray,add,%disable%,togglesuspend
+menu,tray,add
+menu,tray,add,Bearbeiten,edit
+menu,tray,add,Neu Laden,reload
+menu,tray,add
+menu,tray,add,Nicht im Systray anzeigen,hide
+menu,tray,add,%name% beenden, exitprogram
+menu,tray,default,%disable%
+menu,tray,tip,%name%
+
+/**********************
+* Tastenkombinationen *
+***********************
*/
-spacepressed := 0
-keypressed:= 0
-
-; Reihe 1
-gespiegelt_7 = neo_6
-gespiegelt_8 = neo_5
-gespiegelt_9 = neo_4
-gespiegelt_0 = neo_3
-gespiegelt_strich = neo_2
-gespiegelt_tot2 = neo_1
-
-; Reihe 2
-gespiegelt_k = neo_w
-gespiegelt_h = neo_c
-gespiegelt_g = neo_l
-gespiegelt_f = neo_v
-gespiegelt_q = neo_x
-gespiegelt_sz = neo_tab
-gespiegelt_tot3 = neo_tot1
-
-; Reihe 3
-gespiegelt_s = neo_o
-gespiegelt_n = neo_e
-gespiegelt_r = neo_a
-gespiegelt_t = neo_i
-gespiegelt_d = neo_u
-
-; Reihe 4
-gespiegelt_b = neo_z
-gespiegelt_m = neo_p
-gespiegelt_komma = neo_
-gespiegelt_punkt = neo_
-gespiegelt_j = neo_
-
-
;Blinde/Sichtbare Tote Tasten
*F9::
if (isMod4pressed())
- DeadSilence := not(DeadSilence)
+ DeadSilence := not(DeadSilence)
else
send {blind}{F9}
return
@@ -241,19 +171,25 @@ return
;Blinde/Sichtbare Compose
*F10::
if (isMod4pressed())
- DeadCompose := not(DeadCompose)
+ 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
+ if (isMod4pressed()){
+ LangSTastatur := not(LangSTastatur)
+ if LangSTastatur
+ KeyboardLED(2,"on")
+ else KeyboardLED(2,"off")
+ }
else
send {blind}{F11}
return
+;Alle Modi und Locks in den Normalzustand versetzen
+;bzw. Skript neu laden:
*Esc::
if (isMod4pressed())
reload
@@ -261,71 +197,58 @@ return
send {blind}{Esc}
return
-/*
- ------------------------------------------------------
- Shift+Pause "pausiert" das Skript.
- ------------------------------------------------------
-*/
-
*pause::
Suspend, Permit
- if isshiftpressed()
- goto togglesuspend
- else
- send {blind}{pause}
+ if isShiftpressed()
+ goto togglesuspend
+ else=
+ send {blind}{pause}
return
-; ------------------------------------
-
-^.::einHandNeo := not(einHandNeo) ; Punkt
-^,::lernModus := not(lernModus) ; Komma
-
-
-
+/*****************
+* Menfunktionen *
+******************
+*/
togglesuspend:
- if A_IsSuspended
- {
- menu, tray, rename, %enable%, %disable%
- menu, tray, tip, %name%
- if (iconBenutzen)
- menu, tray, icon, %ResourceFolder%\neo.ico,,1
- suspend , off ; Schaltet Suspend aus -> NEO
- }
- else
- {
- menu, tray, rename, %disable%, %enable%
- menu, tray, tip, %name% : Deaktiviert
- if (iconBenutzen)
- menu, tray, icon, %ResourceFolder%\neo_disabled.ico,,1
- suspend , on ; Schaltet Suspend ein -> QWERTZ
- }
-
+ if A_IsSuspended
+ {
+ menu, tray, rename, %enable%, %disable%
+ menu, tray, tip, %name%
+ if (iconBenutzen)
+ menu, tray, icon, %ResourceFolder%\neo.ico,,1
+ suspend , off ; Schaltet Suspend aus -> NEO
+ }
+ else
+ {
+ menu, tray, rename, %disable%, %enable%
+ menu, tray, tip, %name% : Deaktiviert
+ if (iconBenutzen)
+ menu, tray, icon, %ResourceFolder%\neo_disabled.ico,,1
+ suspend , on ; Schaltet Suspend ein -> QWERTZ
+ }
return
-
help:
Run, %A_WinDir%\hh mk:@MSITStore:autohotkey.chm
return
-
about:
- msgbox, 64, %name% Ergonomische Tastaturbelegung,
- (
- %name%
- `nDas Neo-Layout ersetzt das bliche deutsche
- Tastaturlayout mit der Alternative Neo,
- beschrieben auf http://neo-layout.org/.
- `nDazu sind keine Administratorrechte ntig.
- `nWenn Autohotkey aktiviert ist, werden alle Tastendrucke
- abgefangen und statt dessen eine bersetzung weitergeschickt.
- `nDies geschieht transparent fr den Anwender,
- es muss nichts installiert werden.
- `nDie Zeichenbersetzung kann leicht ber das Icon im
- Systemtray deaktiviert werden. `n
- )
+ msgbox, 64, %name% Ergonomische Tastaturbelegung,
+ (
+ %name%
+ `nDas Neo-Layout ersetzt das bliche deutsche
+ Tastaturlayout mit der Alternative Neo,
+ beschrieben auf http://neo-layout.org/.
+ `nDazu sind keine Administratorrechte ntig.
+ `nWenn Autohotkey aktiviert ist, werden alle Tastendrucke
+ abgefangen und statt dessen eine bersetzung weitergeschickt.
+ `nDies geschieht transparent fr den Anwender,
+ es muss nichts installiert werden.
+ `nDie Zeichenbersetzung kann leicht ber das Icon im
+ Systemtray deaktiviert werden. `n
+ )
return
-
neo:
run http://neo-layout.org/
return
@@ -354,5 +277,76 @@ exitprogram:
exitapp
return
+/**************************
+* lernModus Konfiguration *
+* nur relevant wenn *
+* lernModus = 1 *
+* Strg+Komma schaltet um *
+***************************
+*/
+^,::lernModus := not(lernModus)
+
+; 0 = aus, 1 = an
+
+; die Nachfolgenden sind ntzlich um sich die Qwertz-Tasten abzugewhnen, da alle auf der 4. Ebene vorhanden.
+lernModus_std_Return = 0
+lernModus_std_Backspace = 0
+lernModus_std_PgUp = 0
+lernModus_std_PgDn = 0
+lernModus_std_Einf = 0
+lernModus_std_Entf = 0
+lernModus_std_Pos0 = 0
+lernModus_std_Ende = 0
+lernModus_std_Hoch = 0
+lernModus_std_Runter = 0
+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
+; ntzlich um sich zu zwingen, richtig zu schreiben
+lernModus_neo_Backspace = 0
+lernModus_neo_Entf = 1
+
+/****************************
+* EinHandNeo *
+* Umschalten mit Strg+Punkt *
+*****************************
+*/
+^.::einHandNeo := not(einHandNeo)
+
+spacepressed := 0
+keypressed:= 0
+
+; Reihe 1
+gespiegelt_7 = neo_6
+gespiegelt_8 = neo_5
+gespiegelt_9 = neo_4
+gespiegelt_0 = neo_3
+gespiegelt_strich = neo_2
+gespiegelt_tot2 = neo_1
+
+; Reihe 2
+gespiegelt_k = neo_w
+gespiegelt_h = neo_c
+gespiegelt_g = neo_l
+gespiegelt_f = neo_v
+gespiegelt_q = neo_x
+gespiegelt_sz = neo_tab
+gespiegelt_tot3 = neo_tot1
+
+; Reihe 3
+gespiegelt_s = neo_o
+gespiegelt_n = neo_e
+gespiegelt_r = neo_a
+gespiegelt_t = neo_i
+gespiegelt_d = neo_u
+
+; Reihe 4
+gespiegelt_b = neo_z
+gespiegelt_m = neo_p
+gespiegelt_komma = neo_
+gespiegelt_punkt = neo_
+gespiegelt_j = neo_
+
- \ No newline at end of file
diff --git a/windows/autohotkey/Source/Keys-Neo.ahk b/windows/autohotkey/Source/Keys-Neo.ahk
index b23bb0a..df557dc 100644
--- a/windows/autohotkey/Source/Keys-Neo.ahk
+++ b/windows/autohotkey/Source/Keys-Neo.ahk
@@ -13,407 +13,288 @@ Die eigentliche NEO-Belegung und der Hauptteil des AHK-Treibers.
Reihe 1
*/
-
neo_tot1:
+ noCaps=1
EbeneAktualisieren()
- if (Ebene = 1)
- {
+ if(Ebene=1){
deadUni(0x02C6) ; Zirkumflex, tot
- DeadKey := "c1"
- }
- else if (Ebene = 2)
- {
+ DeadKey=c1
+ }else if(Ebene = 2){
deadUni(0x02C7) ; Caron, tot
- DeadKey := "c2"
- }
- else if (Ebene = 3)
- {
+ DeadKey=c2
+ }else if(Ebene = 3){
deadUni(0x02D8) ; Brevis, tot
- DeadKey := "c3"
- }
- else if (Ebene = 4)
- {
+ DeadKey=c3
+ }else if Ebene7
+ SendUnicodeChar(0x0302) ; Verbindungszeichen Zirkumflex
+ else if Ebene8
+ SendUnicodeChar(0x0306) ; Verbindungszeichen Brevis
+ else if(Ebene = 4){
deadUni(0x00B7) ; Mittenpunkt, tot
- DeadKey := "c4"
- }
- else if (Ebene = 5)
- {
+ DeadKey=c4
+ }else if(Ebene = 5){
deadUni(0x002D) ; Querstrich, tot
- DeadKey := "c5"
- }
- else if (Ebene = 6)
- {
- deadUni(0x002E) ; Punkt drunter (Colon), tot
- DeadKey := "c6"
- }
- CompKey := PriorCompKey
+ DeadKey=c5
+ }else if(Ebene = 6){
+ deadUni(0x0323) ; Punkt drunter (Colon), tot
+ DeadKey=c6
+ }CompKey := PriorCompKey
return
neo_1:
+ noCaps=1
EbeneAktualisieren()
- if (Ebene = 1)
- {
- if !(CheckDeadUni("c1",0x00B9)
- or CheckDeadUni("c5",0x2081)
- or CheckComp3Uni("r_1",0x217A) ; rmisch xi
- or CheckComp3Uni("R_1",0x216A)) ; rmisch 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"
- else if (PriorCompKey == "r")
- CompKey := "r_1"
- else if (PriorCompKey == "R")
- CompKey := "R_1"
- }
- else if (Ebene = 2)
- send
- else if (Ebene = 3)
- SendUnicodeChar(0x00B9) ; Hochgestellte 2
- else if (Ebene = 4)
- SendUnicodeChar(0x2022) ; Bullet
- else if (Ebene = 5)
- SendUnicodeChar(0x2640) ; Piktogramm weiblich
- else if (Ebene = 6)
- SendUnicodeChar(0x00AC) ; Nicht-Symbol
+ if Ebene12{
+ if!(CheckDeadUni("c1",0x00B9) ; Hochgestellte 1
+ or CheckDeadUni("c5",0x2081) ; Tiefgestellte 1
+ or CheckComp3Uni("r_1",0x217A) ; Rmisch xi
+ or CheckComp3Uni("R_1",0x216A)) ; Rmisch XI
+ outputChar(1,"")
+ if!(checkComp(1))
+ if(PriorCompKey == "r")
+ CompKey := "r_1"
+ else if(PriorCompkey == "R")
+ CompKey := "R_1"
+ }else if(Ebene = 3)
+ SendUnicodeChar(0x00B9) ; Hochgestellte 1
+ else if(Ebene = 4)
+ SendUnicodeChar(0x2022) ; Bullet
+ else if(Ebene = 5)
+ SendUnicodeChar(0x2640) ; Piktogramm weiblich
+ else if(Ebene = 6)
+ SendUnicodeChar(0x00AC) ; Nicht-Symbol
return
neo_2:
+ noCaps = 1
EbeneAktualisieren()
- if (Ebene = 1)
- {
- if !(CheckDeadUni("c1",0x00B2)
- or CheckDeadUni("c5",0x2082)
- or CheckCompUni("r",0x2171) ; rmisch ii
- or CheckCompUni("R",0x2161) ; rmisch II
- or CheckComp3Uni("r_1",0x217B) ; rmisch xii
- or CheckComp3Uni("R_1",0x216B)) ; rmisch 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)
+ if(Ebene = 1){
+ if!(CheckDeadUni("c1",0x00B2) ; Hochgestellte 2
+ or CheckDeadUni("c5",0x2082) ; Tiefgestellte 2
+ or CheckCompUni("r",0x2171) ; Rmisch ii
+ or CheckCompUni("R",0x2161) ; Rmisch II
+ or CheckComp3Uni("r_1",0x217B) ; Rmisch xii
+ or CheckComp3Uni("R_1",0x216B)) ; Rmisch XII
+ outputChar(2,"")
+ checkComp(2)
+ }else if(Ebene = 2)
SendUnicodeChar(0x2116) ; Numero
- else if (Ebene = 3)
+ else if(Ebene = 3)
SendUnicodeChar(0x00B2) ; Hochgestellte 2
- else if (Ebene = 4)
+ else if(Ebene = 4)
SendUnicodeChar(0x2023) ; Aufzhlungspfeil
- else if (Ebene = 5)
+ else if(Ebene = 5)
SendUnicodeChar(0x26A5) ; Piktogramm Zwitter
- else if (Ebene = 6)
+ else if(Ebene = 6)
SendUnicodeChar(0x2228) ; Logisches Oder
return
neo_3:
+ noCaps = 1
EbeneAktualisieren()
- if (Ebene = 1)
- {
- if !(CheckDeadUni("c1",0x00B3)
+ if Ebene12{
+ if!(CheckDeadUni("c1",0x00B3)
or CheckDeadUni("c5",0x2083)
- or CheckCompUni("1",0x2153) ; 1/3
- or CheckCompUni("2",0x2154) ; 2/3
- or CheckCompUni("r",0x2172) ; rmisch iii
- or CheckCompUni("R",0x2162)) ; rmisch 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)
+ or CheckCompUni("1",0x2153) ; 1/3
+ or CheckCompUni("2",0x2154) ; 2/3
+ or CheckCompUni("r",0x2172) ; Rmisch iii
+ or CheckCompUni("R",0x2162)) ; Rmisch III
+ outputChar(3,"")
+ checkComp(3)
+ }else if(Ebene = 3)
SendUnicodeChar(0x00B3) ; Hochgestellte 3
- else if (Ebene = 4)
- {
- CompKey := PriorCompKey
- DeadKey := PriorDeadKey
- } ; leer
- else if (Ebene = 5)
+ else if(Ebene = 5)
SendUnicodeChar(0x2642) ; Piktogramm Mann
- else if (Ebene = 6)
+ else if(Ebene = 6)
SendUnicodeChar(0x2227) ; Logisches Und
return
neo_4:
+ noCaps = 1
EbeneAktualisieren()
- if (Ebene = 1)
- {
- if !(CheckDeadUni("c1",0x2074)
+ if(Ebene = 1){
+ if!(CheckDeadUni("c1",0x2074)
or CheckDeadUni("c5",0x2084)
- or CheckCompUni("r",0x2173) ; rmisch iv
- or CheckCompUni("R",0x2163)) ; rmisch 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)
+ or CheckCompUni("r",0x2173) ; Rmisch iv
+ or CheckCompUni("R",0x2163)) ; Rmisch IV
+ outputChar(4,"")
+ checkComp(4)
+ }else if(Ebene = 2)
SendUnicodeChar(0x00BB) ; Double guillemot right
- else if (Ebene = 3)
- Send {blind} ; Single guillemot right
- else if (Ebene = 4)
+ else if(Ebene = 3)
+ Send {blind} ; Single guillemot right
+ else if(Ebene = 4)
Send {blind}{PgUp}
- else if (Ebene = 5)
+ else if(Ebene = 5)
SendUnicodeChar(0x2113) ; Script small L
- else if (Ebene = 6)
+ else if(Ebene = 6)
SendUnicodeChar(0x22A5) ; Senkrecht
return
neo_5:
+ noCaps = 1
EbeneAktualisieren()
- if (Ebene = 1)
- {
- if !(CheckDeadUni("c1",0x2075)
+ 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) ; rmisch v
- or CheckCompUni("R",0x2164)) ; rmisch 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)
+ 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) ; Rmisch v
+ or CheckCompUni("R",0x2164)) ; Rmisch V
+ outputChar(5,"")
+ checkComp(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)
+ else if(Ebene = 3)
+ Send {blind} ; Single guillemot left
+ else if(Ebene = 5)
SendUnicodeChar(0x2020) ; Kreuz (Dagger)
- else if (Ebene = 6)
+ else if(Ebene = 6)
SendUnicodeChar(0x2221) ; Winkel
return
neo_6:
+ noCaps = 1
EbeneAktualisieren()
- if (Ebene = 1)
- {
- if !(CheckDeadUni("c1",0x2076)
+ 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) ; rmisch vi
- or CheckCompUni("R",0x2165)) ; rmisch 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)
+ or CheckCompUni("1",0x2159) ; 1/6
+ or CheckCompUni("5",0x215A) ; 5/6
+ or CheckCompUni("r",0x2175) ; Rmisch vi
+ or CheckCompUni("R",0x2165)) ; Rmisch VI
+ outputChar(6,"")
+ checkComp(6)
+ }else if(Ebene = 2)
+ SendUnicodeChar(0x20AC)
+ else if(Ebene = 3)
send {blind}
- else if (Ebene = 4)
+ else if(Ebene = 4)
send {blind}
- else if (Ebene = 5)
- {
- CompKey := PriorCompKey
- DeadKey := PriorDeadKey
- } ; leer
- else if (Ebene = 6)
+ else if(Ebene = 6)
SendUnicodeChar(0x2225) ; parallel
return
neo_7:
+ noCaps = 1
EbeneAktualisieren()
- if (Ebene = 1)
- {
- if !(CheckDeadUni("c1",0x2077)
+ if Ebene12{
+ if!(CheckDeadUni("c1",0x2077)
or CheckDeadUni("c5",0x2087)
- or CheckCompUni("r",0x2176) ; rmisch vii
- or CheckCompUni("R",0x2166)) ; rmisch 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)
+ or CheckCompUni("r",0x2176) ; Rmisch vii
+ or CheckCompUni("R",0x2166)) ; Rmisch VII
+ outputChar(7,"$")
+ checkComp(7)
+ }else if(Ebene = 3)
send {blind}
- else if (Ebene = 4)
+ else if(Ebene = 4)
send {blind}
- else if (Ebene = 5)
+ else if(Ebene = 5)
SendUnicodeChar(0x03BA) ; greek small letter kappa
- else if (Ebene = 6)
+ else if(Ebene = 6)
SendUnicodeChar(0x2209) ; nicht Element von
return
neo_8:
+ noCaps = 1
EbeneAktualisieren()
- if (Ebene = 1)
- {
- if !(CheckDeadUni("c1",0x2078)
+ if Ebene12{
+ 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) ; rmisch viii
- or CheckCompUni("R",0x2167)) ; rmisch 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)
+ 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) ; Rmisch viii
+ or CheckCompUni("R",0x2167)) ; Rmisch VIII
+ outputChar(8,"")
+ checkComp(8)
+ }else if(Ebene = 3)
send {blind}
- else if (Ebene = 4)
+ else if(Ebene = 4)
Send {blind}{NumpadDiv}
- else if (Ebene = 5)
+ else if(Ebene = 5)
SendUnicodeChar(0x27E8) ; bra (ffnende spitze Klammer)
- else if (Ebene = 6)
+ else if(Ebene = 6)
SendUnicodeChar(0x2204) ; es existiert nicht
return
neo_9:
+ noCaps = 1
EbeneAktualisieren()
- if (Ebene = 1)
- {
- if !(CheckDeadUni("c1",0x2079)
+ if Ebene12{
+ if!(CheckDeadUni("c1",0x2079)
or CheckDeadUni("c5",0x2089)
- or CheckCompUni("r",0x2178) ; rmisch ix
- or CheckCompUni("R",0x2168)) ; rmisch 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)
+ or CheckCompUni("r",0x2178) ; Rmisch ix
+ or CheckCompUni("R",0x2168)) ; Rmisch IX
+ outputChar(9,"")
+ checkComp(9)
+ }else if(Ebene = 3)
send {blind}
- else if (Ebene = 4)
+ else if(Ebene = 4)
Send {blind}{NumpadMult}
- else if (Ebene = 5)
+ else if(Ebene = 5)
SendUnicodeChar(0x27E9) ; ket (schlieende spitze Klammer)
- else if (Ebene = 6)
+ else if(Ebene = 6)
SendUnicodeChar(0x2226) ; nicht parallel
return
neo_0:
+ noCaps = 1
EbeneAktualisieren()
- if (Ebene = 1)
- {
- if !(CheckDeadUni("c1",0x2070)
- or CheckDeadUni("c5",0x2080)
- or CheckComp3Uni("r_1",0x2179) ; rmisch x
- or CheckComp3Uni("R_1",0x2169)) ; rmisch 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"
- }
- else if (Ebene = 2)
- send
- else if (Ebene = 3)
+ if Ebene12{
+ if!(CheckDeadUni("c1",0x2070)
+ or CheckDeadUni("c5",0x2080) ; Rmisch x
+ or CheckComp3Uni("R_1",0x2169)) ; Rmisch X
+ outputChar(0,"")
+ checkComp(0)
+ }else if(Ebene = 3)
send {blind}
- else if (Ebene = 4)
+ else if(Ebene = 4)
Send {blind}{NumpadSub}
- else if (Ebene = 5)
- {
- CompKey := PriorCompKey
- DeadKey := PriorDeadKey
- } ; leer
- else if (Ebene = 6)
+ else if(Ebene = 6)
SendUnicodeChar(0x2205) ; leere Menge
return
neo_strich:
+ noCaps = 1
EbeneAktualisieren()
- if (Ebene = 1)
- if (GetKeyState("CapsLock","T"))
- send {blind}{Shift down}-{Shift up}
- else
- send {blind}- ; Bindestrich-Minus
- else if (Ebene = 2)
+ if(Ebene = 1)
+ outputChar("-","") ; Bindestrich-Minus
+ else if(Ebene = 2)
SendUnicodeChar(0x2013) ; Gedankenstrich
- else if (Ebene = 3)
+ else if(Ebene = 3)
SendUnicodeChar(0x2014) ; Englischer Gedankenstrich (Geviertstrich)
- else if (Ebene = 4) ; leer
- {
- CompKey := PriorCompKey
- DeadKey := PriorDeadKey
- }
- else if (Ebene = 5)
+ else if(Ebene = 5)
SendUnicodeChar(0x2011) ; geschtzter Bindestrich (Bindestrich ohne Zeilenumbruch)
- else if (Ebene = 6)
+ else if(Ebene = 6)
SendUnicodeChar(0x00AD) ; weicher Bindestrich
return
neo_tot2:
+ noCaps = 1
EbeneAktualisieren()
- if (Ebene = 1)
- {
+ if(Ebene = 1){
deadAsc("{}{space}") ; Akut, tot
DeadKey := "a1"
- }
- else if (Ebene = 2)
- {
- deadAsc("``{space}") ; Gravis, tot
+ }else if(Ebene = 2){
+ deadAsc("``{space}") ; Gravis, tot
DeadKey := "a2"
- }
- else if (Ebene = 3)
- {
- deadAsc("") ; Cedilla, tot
+ }else if(Ebene = 3){
+ deadAsc("") ; Cedilla, tot
DeadKey := "a3"
- }
- else if (Ebene = 4)
- {
- deadUni(0x02D9) ; Punkt obendrber
+ }else if(Ebene = 4){
+ deadUni(0x02D9) ; Punkt oben
DeadKey := "a4"
- }
- else if (Ebene = 5)
- {
- deadUni(0x02DB) ; Ogonek
+ }else if(Ebene = 5){
+ deadUni(0x02DB) ; Ogonek
DeadKey := "a5"
- }
- else if (Ebene = 6)
- {
- deadUni(0x02DA) ; Ring obendrauf
+ }else if(Ebene = 6){
+ deadUni(0x02DA) ; Ring oben
DeadKey := "a6"
- }
- CompKey := PriorCompKey
+ }CompKey := PriorCompKey
return
@@ -425,34 +306,29 @@ return
neo_x:
EbeneAktualisieren()
- if (Ebene12)
+ if(Ebene12)
OutputChar("x","X")
- else if (Ebene = 3)
- SendUnicodeChar(0x2026) ;Ellipse horizontal
- else if (Ebene = 4)
- SendUnicodeChar(0x22EE) ;Ellipse vertikal
- else if (Ebene = 5)
- SendUnicodeChar(0x03BE) ;xi
- else if (Ebene = 6)
- SendUnicodeChar(0x039E) ;Xi
+ else if(Ebene = 3)
+ SendUnicodeChar(0x2026) ; Ellipse horizontal
+ else if(Ebene = 4)
+ SendUnicodeChar(0x22EE) ; Ellipse vertikal
+ 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)))
+ if(Ebene12 and !(CheckDeadUni12("c6",0x1E7F,0x1E7E)))
OutputChar("v","V")
- else if (Ebene = 3)
+ else if(Ebene = 3)
send {blind}_
- else if (Ebene = 4)
- if (not(lernModus) or lernModus_neo_Backspace)
+ else if(Ebene = 4)
+ if(not(lernModus) or lernModus_neo_Backspace)
Send {blind}{Backspace}
- else ; leer
- {
- CompKey := PriorCompKey
- DeadKey := PriorDeadKey
- }
- else if (Ebene = 6)
+ else if(Ebene = 6)
SendUnicodeChar(0x2259) ; estimates
return
@@ -460,209 +336,205 @@ return
neo_l:
EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a1",0x013A,0x0139)
+ 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)
+ else if(Ebene = 3)
send {blind}[
- else if (Ebene = 4)
+ else if(Ebene = 4)
Send {Blind}{Up}
- else if (Ebene = 5)
+ else if(Ebene = 5)
SendUnicodeChar(0x03BB) ; lambda
- else if (Ebene = 6)
+ else if(Ebene = 6)
SendUnicodeChar(0x039B) ; Lambda
return
neo_c:
EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a1",0x0107,0x0106)
+ 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 CheckCompAsc("o","")))
OutputChar("c","C")
- else if (Ebene = 3)
+ else if(Ebene = 3)
send {blind}]
- else if (Ebene = 4)
- if (not(lernModus) or lernModus_neo_Entf)
+ else if(Ebene = 4)
+ if(not(lernModus) or lernModus_neo_Entf)
Send {blind}{Del}
- else ; leer
- {
- CompKey := PriorCompKey
- DeadKey := PriorDeadKey
- }
- else if (Ebene = 5)
+ else if(Ebene = 5)
SendUnicodeChar(0x03C7) ; chi
- else if (Ebene = 6)
+ else if(Ebene = 6)
SendUnicodeChar(0x2102) ; C (Komplexe Zahlen)
return
neo_w:
EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("c1",0x0175,0x0174)))
+ if(Ebene12 and !(CheckDeadUni12("c1",0x0175,0x0174)))
OutputChar("w","W")
- else if (Ebene = 3)
+ else if(Ebene = 3)
SendUnicodeChar(0x005E) ; Zirkumflex
- else if (Ebene = 4)
- Send {blind}{Insert} ; Einfg
- else if (Ebene = 5)
+ else if(Ebene = 4)
+ Send {blind}{Insert} ; Einfg
+ else if(Ebene = 5)
SendUnicodeChar(0x03C9) ; omega
- else if (Ebene = 6)
+ else if(Ebene = 6)
SendUnicodeChar(0x03A9) ; Omega
return
neo_k:
EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a3",0x0137,0x0136)
+ if(Ebene12 and !(CheckDeadUni12("a3",0x0137,0x0136)
or CheckDeadUni12("c6",0x1E33,0x1E32)))
OutputChar("k","K")
- else if (Ebene = 3)
+ else if(Ebene = 3)
send {blind}{!}
- else if (Ebene = 4)
+ else if(Ebene = 4)
Send
- else if (Ebene = 5)
- SendUnicodeChar(0x03F0) ;kappa symbol (varkappa)
- else if (Ebene = 6)
+ 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)
+ 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
+ else if((Ebene = 3) and !(CheckDeadUni("c5",0x2264))) ; kleiner gleich
send {blind}<
- else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2077)
+ else if((Ebene = 4) and !(CheckDeadUni("c1",0x2077)
or CheckDeadUni("c5",0x2087)))
Send {blind}{NumPad7}
- else if (Ebene = 5)
+ else if(Ebene = 5)
SendUnicodeChar(0x03C8) ; psi
- else if (Ebene = 6)
+ else if(Ebene = 6)
SendUnicodeChar(0x03A8) ; Psi
return
neo_g:
EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a3",0x0123,0x0122)
+ 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)))
- send {blind}> ; grer gleich
- else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2078)
- or CheckDeadUni("c5",0x2088)))
+ else if((Ebene = 3) and !(CheckDeadUni("c5",0x2265))) ; grer gleich
+ send {blind}>
+ else if((Ebene = 4) and !(CheckDeadUni("c1",0x2078)
+ or CheckDeadUni("c5",0x2088)))
Send {blind}{NumPad8}
- else if (Ebene = 5)
+ else if(Ebene = 5)
SendUnicodeChar(0x03B3) ; gamma
- else if (Ebene = 6)
+ else if(Ebene = 6)
SendUnicodeChar(0x0393) ; Gamma
return
neo_f:
EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a4",0x1E1F,0x1E1E)
+ 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) ; ungefhr gleich
- or CheckDeadUni("t4",0x2260))) ; ungleich
+ 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) ; ungefhr gleich
+ or CheckDeadUni("t4",0x2260))) ; ungleich
send {blind}`=
- else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2079)
+ else if((Ebene = 4) and !(CheckDeadUni("c1",0x2079)
or CheckDeadUni("c5",0x2089)))
send {blind}{NumPad9}
- else if (Ebene = 5)
+ else if(Ebene = 5)
SendUnicodeChar(0x03C6) ; phi
- else if (Ebene = 6)
+ else if(Ebene = 6)
SendUnicodeChar(0x03A6) ; Phi
return
neo_q:
EbeneAktualisieren()
- if (Ebene12)
+ if(Ebene12)
OutputChar("q","Q")
- else if (Ebene = 3)
+ else if(Ebene = 3)
send {blind}{&}
- else if ((Ebene = 4) and !(CheckDeadUni("c1",0x207A)
+ else if((Ebene = 4) and !(CheckDeadUni("c1",0x207A)
or CheckDeadUni("c5",0x208A)))
Send {blind}{NumPadAdd}
- else if (Ebene = 5)
+ else if(Ebene = 5)
SendUnicodeChar(0x03D5) ; phi symbol (varphi)
- else if (Ebene = 6)
+ else if(Ebene = 6)
SendUnicodeChar(0x211A) ; Q (rationale Zahlen)
return
neo_sz:
EbeneAktualisieren()
- if (Ebene = 1)
- if (GetKeyState("CapsLock","T"))
+ if(Ebene = 1)
+ if(GetKeyState("CapsLock","T"))
SendUnicodeChar(0x1E9E) ; versal-
else if LangSTastatur
send {blind}s
else
send
- else if (Ebene = 2)
- if (GetKeyState("CapsLock","T"))
+ else if(Ebene = 2)
+ if(GetKeyState("CapsLock","T"))
if LangSTastatur
send {blind}s
else
send
else
SendUnicodeChar(0x1E9E) ; versal-
- else if (Ebene = 3)
+ else if(Ebene = 3)
if LangSTastatur
send
else
SendUnicodeChar(0x017F) ; langes s
- else if (Ebene = 5)
- SendUnicodeChar(0x03C2) ; varsigma
- else if (Ebene = 6)
- SendUnicodeChar(0x2218) ; Verknpfungsoperator
+ else if(Ebene = 5)
+ SendUnicodeChar(0x03C2) ; varsigma
+ else if(Ebene = 6)
+ SendUnicodeChar(0x2218) ; Verknpfungsoperator
return
neo_tot3:
+ noCaps = 1
EbeneAktualisieren()
- if (Ebene = 1)
+ if(Ebene = 1)
{
- deadUni(0x02DC) ; Tilde, tot
+ deadUni(0x02DC) ; Tilde, tot
DeadKey := "t1"
}
- else if (Ebene = 2)
+ else if(Ebene = 2)
{
- deadUni(0x00AF) ; Macron, tot
+ deadUni(0x00AF) ; Macron, tot
DeadKey := "t2"
}
- else if (Ebene = 3)
+ else if(Ebene = 3)
{
- deadUni(0x00A8) ; Direse
+ deadUni(0x00A8) ; Direse
DeadKey := "t3"
}
- else if (Ebene = 4)
+ else if(Ebene = 4)
{
- deadUni(0x002F) ; Schrgstrich, tot
+ deadUni(0x002F) ; Schrgstrich, tot
DeadKey := "t4"
}
- else if (Ebene = 5)
+ else if(Ebene = 5)
{
- deadUni(0x02DD) ; Doppelakut
+ deadUni(0x02DD) ; Doppelakut
DeadKey := "t5"
}
- else if (Ebene = 6)
+ else if(Ebene = 6)
{
- deadUni(0x02CF) ; Komma drunter, tot
+ deadUni(0x02CF) ; Komma drunter, tot
DeadKey := "t6"
}
@@ -677,7 +549,7 @@ return
neo_u:
EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a1",0x00FA,0x00DA)
+ if(Ebene12 and !(CheckDeadUni12("a1",0x00FA,0x00DA)
or CheckDeadUni12("a2",0x00F9,0x00D9)
or CheckDeadUni12("a5",0x0173,0x0172)
or CheckDeadUni12("a6",0x016F,0x016E)
@@ -689,22 +561,22 @@ neo_u:
or CheckDeadAsc12("t3","","")
or CheckDeadUni12("t5",0x0171,0x0170)))
OutputChar("u","U")
- else if (Ebene = 3)
+ else if(Ebene = 3)
send {blind}\
- else if (Ebene = 4)
+ else if(Ebene = 4)
Send {blind}{Home}
- else if (Ebene = 5) ; leer
+ else if(Ebene = 5) ; leer
{
CompKey := PriorCompKey
DeadKey := PriorDeadKey
}
- else if (Ebene = 6)
+ else if(Ebene = 6)
SendUnicodeChar(0x222E) ; contour integral
return
neo_i:
EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a1",0x00ED,0x00CD)
+ if(Ebene12 and !(CheckDeadUni12("a1",0x00ED,0x00CD)
or CheckDeadUni12("a2",0x00EC,0x00CC)
or CheckDeadUni12("a4",0x012F,0x012E)
or CheckDeadUni12("a5",0x0131,0x0130)
@@ -715,42 +587,42 @@ neo_i:
or CheckDeadUni12("t2",0x012B,0x012A)
or CheckDeadAsc12("t3","","")))
OutputChar("i","I")
- else if (Ebene = 3)
+ else if(Ebene = 3)
send {blind}`/
- else if (Ebene = 4)
+ else if(Ebene = 4)
Send {Blind}{Left}
- else if (Ebene = 5)
+ else if(Ebene = 5)
SendUnicodeChar(0x03B9) ; iota
- else if (Ebene = 6)
+ 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","","")))
+ 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)
+ else if(Ebene = 3)
send {blind}{{}
- else if (Ebene = 4)
+ else if(Ebene = 4)
Send {Blind}{Down}
- else if (Ebene = 5)
+ else if(Ebene = 5)
SendUnicodeChar(0x03B1) ; alpha
- else if (Ebene = 6)
+ else if(Ebene = 6)
SendUnicodeChar(0x2200) ; fr alle
return
neo_e:
EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a1",0x00E9,0x00C9)
+ if(Ebene12 and !(CheckDeadUni12("a1",0x00E9,0x00C9)
or CheckDeadUni12("a2",0x00E8,0x00C8)
or CheckDeadUni12("a4",0x0117,0x0116)
or CheckDeadUni12("a5",0x0119,0x0118)
@@ -764,19 +636,19 @@ neo_e:
or CheckCompAsc12("o","","")
or CheckCompAsc12("O","","")))
OutputChar("e","E")
- else if (Ebene = 3)
+ else if(Ebene = 3)
send {blind}{}}
- else if (Ebene = 4)
+ else if(Ebene = 4)
Send {Blind}{Right}
- else if (Ebene = 5)
+ else if(Ebene = 5)
SendUnicodeChar(0x03B5) ; epsilon
- else if (Ebene = 6)
+ else if(Ebene = 6)
SendUnicodeChar(0x2203) ; es existiert
return
neo_o:
EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a1",0x00F3,0x00D3)
+ if(Ebene12 and !(CheckDeadUni12("a1",0x00F3,0x00D3)
or CheckDeadUni12("a2",0x00F2,0x00D2)
or CheckDeadUni12("a5",0x01EB,0x01EA)
or CheckDeadUni12("c1",0x00F4,0x00D4)
@@ -788,102 +660,102 @@ neo_o:
or CheckDeadUni12("t4",0x00F8,0x00D8)
or CheckDeadUni12("t5",0x0151,0x0150)))
OutputChar("o","O")
- else if (Ebene = 3)
+ else if(Ebene = 3)
send {blind}*
- else if (Ebene = 4)
+ else if(Ebene = 4)
Send {blind}{End}
- else if (Ebene = 5)
+ else if(Ebene = 5)
SendUnicodeChar(0x03BF) ; omicron
- else if (Ebene = 6)
+ else if(Ebene = 6)
SendUnicodeChar(0x2208) ; element of
return
neo_s:
EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a1",0x015B,0x015A)
+ 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(Ebene = 1)
{
if LangSTastatur
- if (GetKeyState("CapsLock","T"))
+ if(GetKeyState("CapsLock","T"))
{
send {blind}s
- if (PriorDeadKey = "comp")
+ if(PriorDeadKey = "comp")
Compkey := "s"
}
else
{
SendUnicodeChar(0x017F) ;langes S
- if (PriorDeadKey = "comp")
+ if(PriorDeadKey = "comp")
CompKey := "lang_s"
}
else
{
send {blind}s
- if (PriorDeadKey = "comp")
+ if(PriorDeadKey = "comp")
CompKey := "s"
}
}
- else if (Ebene = 2)
+ else if(Ebene = 2)
{
if LangSTastatur
- if (GetKeyState("CapsLock","T"))
+ if(GetKeyState("CapsLock","T"))
{
SendUnicodeChar(0x017F) ;langes S
- if (PriorDeadKey = "comp")
+ if(PriorDeadKey = "comp")
CompKey := "lang_s"
}
else
{
send {blind}S
- if (PriorDeadKey = "comp")
+ if(PriorDeadKey = "comp")
CompKey := "s"
}
else
{
send {blind}S
- if (PriorDeadKey = "comp")
+ if(PriorDeadKey = "comp")
CompKey := "S"
}
}
}
- else if (Ebene = 3)
+ else if(Ebene = 3)
send {blind}?
- else if (Ebene = 4)
+ else if(Ebene = 4)
Send
- else if (Ebene = 5)
+ else if(Ebene = 5)
SendUnicodeChar(0x03C3) ;sigma
- else if (Ebene = 6)
+ else if(Ebene = 6)
SendUnicodeChar(0x03A3) ;Sigma
return
neo_n:
EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a1",0x0144,0x0143)
+ 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)
+ else if(Ebene = 3)
send {blind}(
- else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2074)
+ else if((Ebene = 4) and !(CheckDeadUni("c1",0x2074)
or CheckDeadUni("c5",0x2084)))
Send {blind}{NumPad4}
- else if (Ebene = 5)
+ else if(Ebene = 5)
SendUnicodeChar(0x03BD) ; nu
- else if (Ebene = 6)
+ else if(Ebene = 6)
SendUnicodeChar(0x2115) ; N (natrliche Zahlen)
return
neo_r:
EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a1",0x0155,0x0154)
+ if(Ebene12 and !(CheckDeadUni12("a1",0x0155,0x0154)
or CheckDeadUni12("a3",0x0157,0x0156)
or CheckDeadUni12("a4",0x0E59,0x0E58)
or CheckDeadUni12("c2",0x0159,0x0158)
@@ -891,67 +763,67 @@ neo_r:
or CheckCompAsc12("o","","")
or CheckCompAsc12("O","","")))
OutputChar("r","R")
- else if (Ebene = 3)
+ else if(Ebene = 3)
send {blind})
- else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2075)
+ else if((Ebene = 4) and !(CheckDeadUni("c1",0x2075)
or CheckDeadUni("c5",0x2085)))
Send {blind}{NumPad5}
- else if (Ebene = 5)
+ else if(Ebene = 5)
SendUnicodeChar(0x03F1) ; rho symbol (varrho)
- else if (Ebene = 6)
+ else if(Ebene = 6)
SendUnicodeChar(0x211D) ; R (reelle Zahlen)
return
neo_t:
EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a3",0x0163,0x0162)
+ 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}- ; Bisstrich
- else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2076)
+ else if(Ebene = 3)
+ send {blind}- ; Bisstrich
+ else if((Ebene = 4) and !(CheckDeadUni("c1",0x2076)
or CheckDeadUni("c5",0x2086)))
Send {blind}{NumPad6}
- else if (Ebene = 5)
+ else if(Ebene = 5)
SendUnicodeChar(0x03C4) ; tau
- else if (Ebene = 6)
+ else if(Ebene = 6)
SendUnicodeChar(0x2202) ; partielle Ableitung
return
neo_d:
EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a4",0x1E0B,0x1E0A)
+ if(Ebene12 and !(CheckDeadUni12("a4",0x1E0B,0x1E0A)
or CheckDeadUni12("c2",0x010F,0x010E)
or CheckDeadUni12("c5",0x0111,0x0110)
or CheckDeadUni12("c6",0x1E0D,0x1E0C)
or CheckDeadUni12("t4",0x00F0,0x00D0)))
OutputChar("d","D")
- else if (Ebene = 3)
+ else if(Ebene = 3)
send {blind}:
- else if (Ebene = 4)
+ else if(Ebene = 4)
send `,
- else if (Ebene = 5)
+ else if(Ebene = 5)
SendUnicodeChar(0x03B4) ; delta
- else if (Ebene = 6)
+ else if(Ebene = 6)
SendUnicodeChar(0x0394) ; Delta
return
neo_y:
EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a1",0x00FD,0x00DD)
+ if(Ebene12 and !(CheckDeadUni12("a1",0x00FD,0x00DD)
or CheckDeadUni12("c1",0x0177,0x0176)
or CheckDeadAsc12("t3","","")))
OutputChar("y","Y")
- else if (Ebene = 3)
+ else if(Ebene = 3)
send {blind}@
- else if (Ebene = 4)
+ else if(Ebene = 4)
Send {blind}.
- else if (Ebene = 5)
+ else if(Ebene = 5)
SendUnicodeChar(0x03C5) ; upsilon
- else if (Ebene = 6)
+ else if(Ebene = 6)
SendUnicodeChar(0x2207) ; nabla
return
@@ -963,180 +835,182 @@ return
neo_:
EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a1",0x01D8,0x01D7)
+ 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)
+ else if(Ebene = 3)
send {#}
- else if (Ebene = 4)
+ else if(Ebene = 4)
Send {blind}{Esc}
- else if (Ebene = 5) ; leer
+ else if(Ebene = 5) ; leer
{
DeadKey := PriorDeadKey
CompKey := PriorCompKey
}
- else if (Ebene = 6)
+ else if(Ebene = 6)
SendUnicodeChar(0x221D) ; proportional
return
neo_:
EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("t2",0x022B,0x022A)))
+ if(Ebene12 and !(CheckDeadUni12("t2",0x022B,0x022A)))
OutputChar("","")
- else if (Ebene = 3)
+ else if(Ebene = 3)
send {blind}$
- else if (Ebene = 4)
+ else if(Ebene = 4)
send {blind}{Tab}
- else if (Ebene = 5)
+ else if(Ebene = 5)
{
DeadKey := PriorDeadKey
CompKey := PriorCompKey
} ; leer
- else if (Ebene = 6)
+ else if(Ebene = 6)
SendUnicodeChar(0x2111) ; Fraktur I
return
neo_:
EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("t2",0x01DF,0x01DE)))
+ if(Ebene12 and !(CheckDeadUni12("t2",0x01DF,0x01DE)))
OutputChar("","")
- else if (Ebene = 3)
+ else if(Ebene = 3)
send {blind}|
- else if (Ebene = 4)
- Send {blind}{PgDn} ; Next
- else if (Ebene = 5)
+ else if(Ebene = 4)
+ Send {blind}{PgDn} ; Next
+ else if(Ebene = 5)
SendUnicodeChar(0x03B7) ; eta
- else if (Ebene = 6)
+ else if(Ebene = 6)
SendUnicodeChar(0x211C) ; Fraktur R
return
neo_p:
EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a4",0x1E57,0x1E56)))
+ if(Ebene12 and !(CheckDeadUni12("a4",0x1E57,0x1E56)))
OutputChar("p","P")
- else if ((Ebene = 3) and !(CheckDeadUni("t1",0x2248)))
+ else if((Ebene = 3) and !(CheckDeadUni("t1",0x2248)))
send {blind}~
- else if (Ebene = 4)
+ else if(Ebene = 4)
Send {blind}{Enter}
- else if (Ebene = 5)
+ else if(Ebene = 5)
SendUnicodeChar(0x03C0) ; pi
- else if (Ebene = 6)
+ else if(Ebene = 6)
SendUnicodeChar(0x03A0) ; Pi
return
neo_z:
EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a1",0x017A,0x0179)
+ 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)
+ else if(Ebene = 3)
+ send ``{space} ; untot
+ else if(Ebene = 4)
{
DeadKey := PriorDeadKey
CompKey := PriorCompKey
} ; leer
- else if (Ebene = 5)
+ else if(Ebene = 5)
SendUnicodeChar(0x03B6) ; zeta
- else if (Ebene = 6)
+ else if(Ebene = 6)
SendUnicodeChar(0x2124) ; Z (ganze Zahlen)
return
neo_b:
EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a4",0x1E03,0x1E02)))
+ if(Ebene12 and !(CheckDeadUni12("a4",0x1E03,0x1E02)))
OutputChar("b","B")
- else if (Ebene = 3)
+ else if(Ebene = 3)
send {blind}{+}
- else if (Ebene = 4)
+ else if(Ebene = 4)
send {blind}:
- else if (Ebene = 5)
+ else if(Ebene = 5)
SendUnicodeChar(0x03B2) ; beta
- else if (Ebene = 6)
+ else if(Ebene = 6)
SendUnicodeChar(0x21D2) ; Doppel-Pfeil rechts
return
neo_m:
EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a4",0x1E41,0x1E40)
+ if(Ebene12 and !(CheckDeadUni12("a4",0x1E41,0x1E40)
or CheckDeadUni12("c6",0x1E43,0x1E42)
- or CheckCompUni12("t",0x2122,0x2122) ; TM
- or CheckCompUni12("s",0x2120,0x2120))) ; SM
+ or CheckCompUni12("t",0x2122,0x2122) ; TM
+ or CheckCompUni12("s",0x2120,0x2120))) ; SM
OutputChar("m","M")
- else if (Ebene = 3)
+ else if(Ebene = 3)
send {blind}`%
- else if ((Ebene = 4) and !(CheckDeadUni("c1",0x00B9)
+ else if((Ebene = 4) and !(CheckDeadUni("c1",0x00B9)
or CheckDeadUni("c5",0x2081)))
Send {blind}{NumPad1}
- else if (Ebene = 5)
+ else if(Ebene = 5)
SendUnicodeChar(0x03BC) ; griechisch mu, micro wre 0x00B5
- else if (Ebene = 6)
+ else if(Ebene = 6)
SendUnicodeChar(0x21D4) ; doppelter Doppelpfeil (genau dann wenn)
return
neo_komma:
+ noCaps = 1
EbeneAktualisieren()
- if (Ebene = 1)
- if (GetKeyState("CapsLock","T"))
+ 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)
+ else if(Ebene = 2)
+ SendUnicodeChar(0x22EE) ; vertikale ellipse
+ else if(Ebene = 3)
send {blind}"
- else if ((Ebene = 4) and !(CheckDeadUni("c1",0x00B2)
+ else if((Ebene = 4) and !(CheckDeadUni("c1",0x00B2)
or CheckDeadUni("c5",0x2082)))
Send {blind}{NumPad2}
- else if (Ebene = 5)
+ else if(Ebene = 5)
SendUnicodeChar(0x03C1) ; rho
- else if (Ebene = 6)
+ else if(Ebene = 6)
SendUnicodeChar(0x21D0) ; Doppelpfeil links
return
neo_punkt:
+ noCaps = 1
EbeneAktualisieren()
- if (Ebene = 1)
- if (GetKeyState("CapsLock","T"))
+ 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)
+ else if(Ebene = 2)
+ SendUnicodeChar(0x2026) ; ellipse
+ else if(Ebene = 3)
send {blind}'
- else if ((Ebene = 4) and !(CheckDeadUni("c1",0x00B3)
+ else if((Ebene = 4) and !(CheckDeadUni("c1",0x00B3)
or CheckDeadUni("c5",0x2083)))
Send {blind}{NumPad3}
- else if (Ebene = 5)
+ else if(Ebene = 5)
SendUnicodeChar(0x03D1) ; theta symbol (vartheta)
- else if (Ebene = 6)
+ else if(Ebene = 6)
SendUnicodeChar(0x0398) ; Theta
return
neo_j:
EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("c1",0x0135,0x0134)
+ if(Ebene12 and !(CheckDeadUni12("c1",0x0135,0x0134)
or CheckDeadUni12("c2",0x01F0,"")
- or CheckCompUni("i",0x0133) ; ij
- or CheckCompUni("l",0x01C9) ; lj
- or CheckCompUni("n",0x01CC) ; nj
- or CheckCompUni("I",0x0132) ; IJ
- or CheckCompUni12("L",0x01C8,0x01C7) ; Lj/LJ
+ or CheckCompUni("i",0x0133) ; ij
+ or CheckCompUni("l",0x01C9) ; lj
+ or CheckCompUni("n",0x01CC) ; nj
+ or CheckCompUni("I",0x0132) ; IJ
+ or CheckCompUni12("L",0x01C8,0x01C7) ; Lj/LJ
or CheckCompUni12("N",0x01CB,0x01CA))) ; Nj/NJ
OutputChar("j","J")
- else if (Ebene = 3)
+ else if(Ebene = 3)
send {blind}`;
- else if (Ebene = 4)
+ else if(Ebene = 4)
Send {blind}`;
- else if (Ebene = 5)
+ else if(Ebene = 5)
SendUnicodeChar(0x03B8) ; theta
- else if (Ebene = 6)
+ else if(Ebene = 6)
SendUnicodeChar(0x2261) ; identisch
return
@@ -1148,16 +1022,16 @@ return
neo_NumLock:
EbeneAktualisieren()
- if (Ebene = 1)
+ if(Ebene = 1)
send `=
- if (Ebene = 2) ; Funktioniert nicht
+ if(Ebene = 2) ; Funktioniert nicht
{
SetNumLockState
send {NumLock}
}
- if (Ebene = 3)
+ if(Ebene = 3)
SendUnicodeChar(0x2248) ; Fast gleich
- if (Ebene = 4)
+ if(Ebene = 4)
SendUnicodeChar(0x2260) ; Ungleich zu
return
@@ -1165,9 +1039,9 @@ neo_NumpadDiv:
EbeneAktualisieren()
if Ebene14
send {blind}{NumpadDiv}
- else if (Ebene = 2)
- SendUnicodeChar(0x2215) ; Slash
- else if (Ebene = 3)
+ else if(Ebene = 2)
+ SendUnicodeChar(0x2215) ; Slash
+ else if(Ebene = 3)
send {blind}
return
@@ -1175,30 +1049,30 @@ neo_NumpadMult:
EbeneAktualisieren()
if Ebene14
send {blind}{NumpadMult}
- else if (Ebene = 2)
- SendUnicodeChar(0x22C5) ; Cdot
- else if (Ebene = 3)
+ else if(Ebene = 2)
+ SendUnicodeChar(0x22C5) ; Cdot
+ else if(Ebene = 3)
send {blind}
return
neo_NumpadSub:
EbeneAktualisieren()
- if (Ebene14 and !(CheckDeadUni("c1",0x207B)
+ if(Ebene14 and !(CheckDeadUni("c1",0x207B)
or CheckDeadUni("c5",0x208B)))
send {blind}{NumpadSub}
- else if (Ebene = 3)
+ else if(Ebene = 3)
SendUnicodeChar(0x2212) ; Echtes Minus
return
neo_NumpadAdd:
EbeneAktualisieren()
- if (Ebene14 and !(CheckDeadUni("c1",0x207A)
+ if(Ebene14 and !(CheckDeadUni("c1",0x207A)
or CheckDeadUni("c5",0x208A)))
send {blind}{NumpadAdd}
- else if (Ebene = 3)
+ else if(Ebene = 3)
send {blind}
- else if (Ebene = 2)
- SendUnicodeChar(0x2213) ; Inverses
+ else if(Ebene = 2)
+ SendUnicodeChar(0x2213) ; Inverses
return
neo_NumpadEnter:
@@ -1207,20 +1081,20 @@ return
neo_Numpad7:
EbeneAktualisieren()
- if (Ebene = 1)
+ if(Ebene = 1)
{
if NumLock
send {blind}{Numpad7}
else
send {blind){Shift up}{Numpad7}
- if (PriorDeadKey = "comp")
+ if(PriorDeadKey = "comp")
CompKey := "7"
}
- else if (Ebene = 2)
+ else if(Ebene = 2)
SendUnicodeChar(0x2020) ; Kreuz
- else if (Ebene = 3)
+ else if(Ebene = 3)
SendUnicodeChar(0x2195) ; Hoch-Runter-Pfeil
- else if (Ebene = 4)
+ else if(Ebene = 4)
if NumLock
send {blind}{Shift up}{NumpadHome}
else
@@ -1229,23 +1103,23 @@ return
neo_Numpad8:
EbeneAktualisieren()
- if ((Ebene = 1) and !(CheckCompUni("1",0x215B) ; 1/8
- or CheckCompUni("3",0x215C) ; 3/8
- or CheckCompUni("5",0x215D) ; 5/8
+ if((Ebene = 1) and !(CheckCompUni("1",0x215B) ; 1/8
+ or CheckCompUni("3",0x215C) ; 3/8
+ or CheckCompUni("5",0x215D) ; 5/8
or CheckCompUni("7",0x215E))) ; 7/8
{
if NumLock
send {blind}{Numpad8}
else
send {blind){Shift up}{Numpad8}
- if (PriorDeadKey = "comp")
+ if(PriorDeadKey = "comp")
CompKey := "8"
}
- else if (Ebene = 2)
+ else if(Ebene = 2)
SendUnicodeChar(0x2229) ; Durchschnitt
- else if (Ebene = 3)
+ else if(Ebene = 3)
SendUnicodeChar(0x2191) ; Hochpfeil
- else if (Ebene = 4)
+ else if(Ebene = 4)
if NumLock
send {blind}{Shift up}{NumpadUp}
else
@@ -1254,20 +1128,20 @@ return
neo_Numpad9:
EbeneAktualisieren()
- if (Ebene = 1)
+ if(Ebene = 1)
{
if NumLock
send {blind}{Numpad9}
else
send {blind){Shift up}{Numpad9}
- if (PriorDeadKey = "comp")
+ if(PriorDeadKey = "comp")
CompKey := "9"
}
- else if (Ebene = 2)
+ else if(Ebene = 2)
SendUnicodeChar(0x2297) ; Tensorprodukt / Vektor in die Ebene zeigend
- else if (Ebene = 3)
+ else if(Ebene = 3)
SendUnicodeChar(0x220D) ; Kleines umgekehrtes Elementzeichen
- else if (Ebene = 4)
+ else if(Ebene = 4)
if NumLock
send {blind}{Shift up}{NumpadPgUp}
else
@@ -1276,21 +1150,21 @@ return
neo_Numpad4:
EbeneAktualisieren()
- if ((Ebene = 1) and !(CheckCompUni("1",0x00BC) ; 1/4
- or CheckCompUni("3",0x00BE))) ; 3/4
+ if((Ebene = 1) and !(CheckCompUni("1",0x00BC) ; 1/4
+ or CheckCompUni("3",0x00BE))) ; 3/4
{
if NumLock
send {blind}{Numpad4}
else
send {blind){Shift up}{Numpad4}
- if (PriorDeadKey = "comp")
+ if(PriorDeadKey = "comp")
CompKey := "4"
}
- else if (Ebene = 2)
+ else if(Ebene = 2)
SendUnicodeChar(0x2282) ; Teilmenge
- else if (Ebene = 3)
+ else if(Ebene = 3)
SendUnicodeChar(0x2190) ; Linkspfeil
- else if (Ebene = 4)
+ else if(Ebene = 4)
if NumLock
send {blind}{Shift up}{NumpadLeft}
else
@@ -1299,23 +1173,23 @@ return
neo_Numpad5:
EbeneAktualisieren()
- if ((Ebene = 1) and !(CheckCompUni("1",0x2155) ; 1/5
- or CheckCompUni("2",0x2156) ; 2/5
- or CheckCompUni("3",0x2157) ; 3/5
+ if((Ebene = 1) and !(CheckCompUni("1",0x2155) ; 1/5
+ or CheckCompUni("2",0x2156) ; 2/5
+ or CheckCompUni("3",0x2157) ; 3/5
or CheckCompUni("4",0x2158))) ; 4/5
{
if NumLock
send {blind}{Numpad5}
else
send {blind){Shift up}{Numpad5}
- if (PriorDeadKey = "comp")
+ if(PriorDeadKey = "comp")
CompKey := "5"
}
- else if (Ebene = 3)
+ else if(Ebene = 3)
SendUnicodeChar(0x221E) ; Unendlich
- else if (Ebene = 2)
+ else if(Ebene = 2)
SendUnicodeChar(0x20AC) ; Euro
- else if (Ebene = 4) ; Beg
+ else if(Ebene = 4) ; Beg
if NumLock
send {NumPad5}
else
@@ -1324,21 +1198,21 @@ return
neo_Numpad6:
EbeneAktualisieren()
- if ((Ebene = 1) and !(CheckCompUni("1",0x2159) ; 1/6
+ if((Ebene = 1) and !(CheckCompUni("1",0x2159) ; 1/6
or CheckCompUni("5",0x215a))) ; 5/6
{
if NumLock
send {blind}{Numpad6}
else
send {blind){Shift up}{Numpad6}
- if (PriorDeadKey = "comp")
+ if(PriorDeadKey = "comp")
CompKey := "6"
}
- else if (Ebene = 2)
+ else if(Ebene = 2)
SendUnicodeChar(0x2283) ; Obermenge
- else if (Ebene = 3)
+ else if(Ebene = 3)
SendUnicodeChar(0x2192) ; Rechtspfeil
- else if (Ebene = 4)
+ else if(Ebene = 4)
if NumLock
send {blind}{Shift up}{NumpadRight}
else
@@ -1347,20 +1221,20 @@ return
neo_Numpad1:
EbeneAktualisieren()
- if (Ebene = 1)
+ if(Ebene = 1)
{
if NumLock
send {blind}{Numpad1}
else
send {blind){Shift up}{Numpad1}
- if (PriorDeadKey = "comp")
+ if(PriorDeadKey = "comp")
CompKey := "1"
}
- else if (Ebene = 2)
+ else if(Ebene = 2)
SendUnicodeChar(0x2714) ; Hkchen
- else if (Ebene = 3)
+ else if(Ebene = 3)
SendUnicodeChar(0x2194) ; Links-Rechts-Pfeil
- else if (Ebene = 4)
+ else if(Ebene = 4)
if NumLock
send {blind}{Shift up}{NumpadEnd}
else
@@ -1369,20 +1243,20 @@ return
neo_Numpad2:
EbeneAktualisieren()
- if ((Ebene = 1) and !(CheckCompUni("1",0x00BD))) ; 1/2
+ if((Ebene = 1) and !(CheckCompUni("1",0x00BD))) ; 1/2
{
if NumLock
send {blind}{Numpad2}
else
send {blind){Shift up}{Numpad2}
- if (PriorDeadKey = "comp")
+ if(PriorDeadKey = "comp")
CompKey := "2"
}
- else if (Ebene = 2)
+ else if(Ebene = 2)
SendUnicodeChar(0x222A) ; Vereinigung
- else if (Ebene = 3)
+ else if(Ebene = 3)
SendUnicodeChar(0x2192) ; Untenpfeil
- else if (Ebene = 4)
+ else if(Ebene = 4)
if NumLock
send {blind}{Shift up}{NumpadDown}
else
@@ -1391,21 +1265,21 @@ return
neo_Numpad3:
EbeneAktualisieren()
- if ((Ebene = 1) and !(CheckCompUni("1",0x2153) ; 1/3
+ if((Ebene = 1) and !(CheckCompUni("1",0x2153) ; 1/3
or CheckCompUni("5",0x2154))) ; 2/3
{
if NumLock
send {blind}{Numpad3}
else
send {blind){Shift up}{Numpad3}
- if (PriorDeadKey = "comp")
+ if(PriorDeadKey = "comp")
CompKey := "3"
}
- else if (Ebene = 2)
+ else if(Ebene = 2)
SendUnicodeChar(0x2718) ; Kreuzchen
- else if (Ebene = 3)
+ else if(Ebene = 3)
SendUnicodeChar(0x2192) ; Rechtspfeil
- else if (Ebene = 4)
+ else if(Ebene = 4)
if NumLock
send {blind}{Shift up}{NumpadPgDn}
else
@@ -1414,20 +1288,20 @@ return
neo_Numpad0:
EbeneAktualisieren()
- if (Ebene = 1)
+ if(Ebene = 1)
{
if NumLock
send {blind}{Numpad0}
else
send {blind){Shift up}{Numpad0}
- if (PriorDeadKey = "comp")
+ if(PriorDeadKey = "comp")
CompKey := "0"
}
- else if (Ebene = 2)
+ else if(Ebene = 2)
SendUnicodeChar(0x2030) ; Promille
- else if (Ebene = 3)
+ else if(Ebene = 3)
SendUnicodeChar(0x0025) ; Prozent
- else if (Ebene = 4)
+ else if(Ebene = 4)
if NumLock
send {blind}{Shift up}{NumpadIns}
else
@@ -1436,27 +1310,24 @@ return
neo_NumpadDot:
EbeneAktualisieren()
- if (Ebene = 1)
+ if(Ebene = 1)
{
if NumLock
send {blind}{NumpadDot}
else
send {blind){Shift up}{NumpadDot}
}
- else if (Ebene = 2)
+ else if(Ebene = 2)
send `,
- else if (Ebene = 3)
+ else if(Ebene = 3)
send {blind}.
- else if (Ebene = 4)
+ else if(Ebene = 4)
if NumLock
send {blind}{Shift up}{NumpadDel}
else
send {blind}{NumpadDel}
return
-
-
-
/*
Sondertasten
@@ -1464,16 +1335,16 @@ return
*/
*space::
- if ((einHandNeo))
+ if((einHandNeo))
spacepressed := 1
else
goto neo_SpaceUp
return
*space up::
- if ((einHandNeo))
+ if((einHandNeo))
{
- if ((keypressed))
+ if((keypressed))
{
keypressed := 0
spacepressed := 0
@@ -1489,19 +1360,19 @@ return
neo_SpaceUp:
EbeneAktualisieren()
- if ((Ebene = 1) and !(CheckComp3Uni("r_1",0x2170) ; rmisch i
- or CheckComp3Uni("R_1",0x2160))) ; rmisch I
+ if((Ebene = 1) and !(CheckComp3Uni("r_1",0x2170) ; Rmisch i
+ or CheckComp3Uni("R_1",0x2160))) ; Rmisch I
Send {blind}{Space}
- else if ((Ebene = 2) or (Ebene = 3))
+ else if ((Ebene = 2) or (Ebene = 3))
Send {blind}{Space}
- else if (Ebene = 4 and !(CheckDeadUni("c1",0x2070)
+ else if(Ebene = 4 and !(CheckDeadUni("c1",0x2070)
or CheckDeadUni("c5",0x2080)))
Send {blind}{NumPad0}
- else if (Ebene = 5)
- SendUnicodeChar(0x00A0) ; geschtztes Leerzeichen
- else if (Ebene = 6)
+ else if(Ebene = 5)
+ SendUnicodeChar(0x00A0) ; geschtztes Leerzeichen
+ else if(Ebene = 6)
SendUnicodeChar(0x202F) ; schmales geschtztes Leerzeichen
- DeadKey := "" CompKey := ""
+ DeadKey := "" CompKey := ""
spacepressed := 0
keypressed := 0
return
@@ -1513,39 +1384,37 @@ return
*/
*Enter::
- if (not(lernModus) or lernModus_std_Return)
+ if(not(lernModus) or lernModus_std_Return)
{
send {Blind}{Enter}
- DeadKey := "" CompKey := ""
+ DeadKey := "" CompKey := ""
}
return
*Backspace::
- if (not(lernModus) or lernModus_std_Backspace)
+ if(not(lernModus) or lernModus_std_Backspace)
{
send {Blind}{Backspace}
- DeadKey := "" CompKey := ""
+ DeadKey := "" CompKey := ""
}
return
-
*Del::
- if (not(lernModus) or lernModus_std_Entf)
+ if(not(lernModus) or lernModus_std_Entf)
send {Blind}{Del}
return
*Ins::
- if (not(lernModus) or lernModus_std_Einf)
+ if(not(lernModus) or lernModus_std_Einf)
send {Blind}{Ins}
return
-
/*
Auf Mod3+Tab liegt Compose.
*/
neo_tab:
- if (IsMod3Pressed()) ;#
+ if(IsMod3Pressed())
{
DeadKey := "comp"
CompKey := ""
@@ -1559,70 +1428,65 @@ neo_tab:
return
*Home::
- if (not(lernModus) or lernModus_std_Pos1)
+ if(not(lernModus) or lernModus_std_Pos1)
{
send {Blind}{Home}
- DeadKey := "" CompKey := ""
+ DeadKey := "" CompKey := ""
}
return
*End::
- if (not(lernModus) or lernModus_std_Ende)
+ if(not(lernModus) or lernModus_std_Ende)
{
send {Blind}{End}
- DeadKey := "" CompKey := ""
+ DeadKey := "" CompKey := ""
}
return
*PgUp::
- if (not(lernModus) or lernModus_std_PgUp)
+ if(not(lernModus) or lernModus_std_PgUp)
{
send {Blind}{PgUp}
- DeadKey := "" CompKey := ""
+ DeadKey := "" CompKey := ""
}
return
*PgDn::
- if (not(lernModus) or lernModus_std_PgDn)
+ if(not(lernModus) or lernModus_std_PgDn)
{
send {Blind}{PgDn}
- DeadKey := "" CompKey := ""
+ DeadKey := "" CompKey := ""
}
return
*Up::
- if (not(lernModus) or lernModus_std_Hoch)
+ if(not(lernModus) or lernModus_std_Hoch)
{
send {Blind}{Up}
- DeadKey := "" CompKey := ""
+ DeadKey := "" CompKey := ""
}
return
*Down::
- if (not(lernModus) or lernModus_std_Runter)
+ if(not(lernModus) or lernModus_std_Runter)
{
send {Blind}{Down}
- DeadKey := "" CompKey := ""
+ DeadKey := "" CompKey := ""
}
return
*Left::
- if (not(lernModus) or lernModus_std_Links)
+ if(not(lernModus) or lernModus_std_Links)
{
send {Blind}{Left}
- DeadKey := "" CompKey := ""
+ DeadKey := "" CompKey := ""
}
return
*Right::
- if (not(lernModus) or lernModus_std_Rechts)
+ if(not(lernModus) or lernModus_std_Rechts)
{
send {Blind}{Right}
- DeadKey := "" CompKey := ""
+ DeadKey := "" CompKey := ""
}
return
-
-
-
-
-
diff --git a/windows/autohotkey/Source/Methods-Layers.ahk b/windows/autohotkey/Source/Methods-Layers.ahk
index 2d4e6e2..dd63c4c 100644
--- a/windows/autohotkey/Source/Methods-Layers.ahk
+++ b/windows/autohotkey/Source/Methods-Layers.ahk
@@ -61,10 +61,6 @@ IsMod4Locked := 0
}
return
-Ebene12 := 0
-Ebene7 := 0
-Ebene8 := 0
-
EbeneAktualisieren()
{
global
@@ -73,6 +69,8 @@ EbeneAktualisieren()
DeadKey := ""
CompKey := ""
Modstate := IsMod4Pressed() . IsMod3Pressed() . IsShiftPressed()
+ Ebene7 := 0
+ Ebene8 := 0
if ahkTreiberKombi
if ( Modstate = "001")
Ebene = 6
@@ -103,23 +101,23 @@ EbeneAktualisieren()
}
Ebene12 := ((Ebene = 1) or (Ebene = 2))
Ebene14 := ((Ebene = 1) or (Ebene = 4))
- GetKeyState("NumLock","T")
+ NumLock := GetKeyState("NumLock","T")
}
-
IsShiftPressed()
{
global
if GetKeyState("Shift","P")
- if isMod2Locked
+ if isMod2Locked and !noCaps
return 0
else
return 1
else
- if isMod2Locked
+ if isMod2Locked and !noCaps
return 1
else
return 0
+ noCaps = 0
}
IsMod3Pressed()
diff --git a/windows/autohotkey/Source/Methods-Lights.ahk b/windows/autohotkey/Source/Methods-Lights.ahk
index 860d583..d62af27 100644
--- a/windows/autohotkey/Source/Methods-Lights.ahk
+++ b/windows/autohotkey/Source/Methods-Lights.ahk
@@ -20,55 +20,49 @@
------------------------------------------------------
*/
-KeyboardLED(LEDvalue, Cmd) ; LEDvalue: ScrollLock=1, NumLock=2, CapsLock=4 ; Cmd = on/off/switch
-{
+KeyboardLED(LEDvalue, Cmd){ ; LEDvalue: ScrollLock=1, NumLock=2, CapsLock=4 ; Cmd = on/off/switch
Static h_device
If ! h_device ; initialise
- {
- device =\Device\KeyBoardClass0
+ {
+ device=\Device\KeyBoardClass0
SetUnicodeStrLED(fn,device)
h_device:=NtCreateFileLED(fn,0+0x00000100+0x00000080+0x00100000,1,1,0x00000040+0x00000020,0)
- }
-
- VarSetCapacity( output_actual, 4, 0 )
- input_size = 4
- VarSetCapacity( input, input_size, 0 )
-
- If Cmd= switch ;switches every LED according to LEDvalue
- KeyLED:= LEDvalue
- If Cmd= on ;forces all choosen LED's to ON (LEDvalue= 0 ->LED's according to keystate)
- KeyLED:= LEDvalue | (GetKeyState("ScrollLock", "T") + 2*GetKeyState("NumLock", "T") + 4*GetKeyState("CapsLock", "T"))
- If Cmd= off ;forces all choosen LED's to OFF (LEDvalue= 0 ->LED's according to keystate)
+ }
+ VarSetCapacity(output_actual,4,0)
+ input_size=4
+ VarSetCapacity(input,input_size,0)
+ If Cmd=switch ;switches every LED according to LEDvalue
+ KeyLED:=LEDvalue
+ If Cmd=on ;forces all choosen LED's to ON (LEDvalue= 0 ->LED's according to keystate)
+ KeyLED:=LEDvalue | (GetKeyState("ScrollLock", "T") + 2*GetKeyState("NumLock", "T") + 4*GetKeyState("CapsLock", "T"))
+ If Cmd=off ;forces all choosen LED's to OFF (LEDvalue= 0 ->LED's according to keystate)
{
- LEDvalue:= LEDvalue ^ 7
- KeyLED:= LEDvalue & (GetKeyState("ScrollLock", "T") + 2*GetKeyState("NumLock", "T") + 4*GetKeyState("CapsLock", "T"))
+ LEDvalue:=LEDvalue ^ 7
+ KeyLED:=LEDvalue & (GetKeyState("ScrollLock","T") + 2*GetKeyState("NumLock","T") + 4*GetKeyState("CapsLock","T"))
}
- ; EncodeIntegerLED( KeyLED, 1, &input, 2 ) ;input bit pattern (KeyLED): bit 0 = scrolllock ;bit 1 = numlock ;bit 2 = capslock
- input := Chr(1) Chr(1) Chr(KeyLED)
- input := Chr(1)
+ ; EncodeIntegerLED(KeyLED,1,&input,2) ;input bit pattern (KeyLED): bit 0 = scrolllock ;bit 1 = numlock ;bit 2 = capslock
+ input:=Chr(1) Chr(1) Chr(KeyLED)
+ input:=Chr(1)
input=
- success := DllCall( "DeviceIoControl"
- , "uint", h_device
- , "uint", CTL_CODE_LED( 0x0000000b ; FILE_DEVICE_KEYBOARD
- , 2
- , 0 ; METHOD_BUFFERED
- , 0 ) ; FILE_ANY_ACCESS
- , "uint", &input
- , "uint", input_size
- , "uint", 0
- , "uint", 0
- , "uint", &output_actual
- , "uint", 0 )
+ success:=DllCall("DeviceIoControl"
+ , "uint", h_device
+ , "uint", CTL_CODE_LED( 0x0000000b ; FILE_DEVICE_KEYBOARD
+ , 2
+ , 0 ; METHOD_BUFFERED
+ , 0 ) ; FILE_ANY_ACCESS
+ , "uint", &input
+ , "uint", input_size
+ , "uint", 0
+ , "uint", 0
+ , "uint", &output_actual
+ , "uint", 0 )
}
-CTL_CODE_LED( p_device_type, p_function, p_method, p_access )
-{
+CTL_CODE_LED(p_device_type,p_function,p_method,p_access ){
Return, ( p_device_type << 16 ) | ( p_access << 14 ) | ( p_function << 2 ) | p_method
}
-
-NtCreateFileLED(ByRef wfilename,desiredaccess,sharemode,createdist,flags,fattribs)
-{
+NtCreateFileLED(ByRef wfilename,desiredaccess,sharemode,createdist,flags,fattribs){
VarSetCapacity(fh,4,0)
VarSetCapacity(objattrib,24,0)
VarSetCapacity(io,8,0)
@@ -84,23 +78,19 @@ NtCreateFileLED(ByRef wfilename,desiredaccess,sharemode,createdist,flags,fattrib
return ExtractIntegerLED(fh)
}
-
-SetUnicodeStrLED(ByRef out, str_)
-{
+SetUnicodeStrLED(ByRef out, str_){
VarSetCapacity(st1, 8, 0)
InsertIntegerLED(0x530025, st1)
VarSetCapacity(out, (StrLen(str_)+1)*2, 0)
DllCall("wsprintfW", "str", out, "str", st1, "str", str_, "Cdecl UInt")
}
-
-ExtractIntegerLED(ByRef pSource, pOffset = 0, pIsSigned = false, pSize = 4)
+ExtractIntegerLED(ByRef pSource, pOffset = 0, pIsSigned = false, pSize = 4){
; pSource is a string (buffer) whose memory area contains a raw/binary integer at pOffset.
; The caller should pass true for pSigned to interpret the result as signed vs. unsigned.
; pSize is the size of PSource's integer in bytes (e.g. 4 bytes for a DWORD or Int).
; pSource must be ByRef to avoid corruption during the formal-to-actual copying process
; (since pSource might contain valid data beyond its first binary zero).
-{
Loop %pSize% ; Build the integer by adding up its bytes.
result += *(&pSource + pOffset + A_Index-1) << 8*(A_Index-1)
if (!pIsSigned OR pSize > 4 OR result < 0x80000000)
@@ -109,11 +99,9 @@ ExtractIntegerLED(ByRef pSource, pOffset = 0, pIsSigned = false, pSize = 4)
return -(0xFFFFFFFF - result + 1)
}
-
-InsertIntegerLED(pInteger, ByRef pDest, pOffset = 0, pSize = 4)
+InsertIntegerLED(pInteger, ByRef pDest, pOffset = 0, pSize = 4){
; The caller must ensure that pDest has sufficient capacity. To preserve any existing contents in pDest,
; only pSize number of bytes starting at pOffset are altered in it.
-{
Loop %pSize% ; Copy each byte in the integer into the structure as raw binary data.
DllCall("RtlFillMemory", "UInt", &pDest + pOffset + A_Index-1, "UInt", 1, "UChar", pInteger >> 8*(A_Index-1) & 0xFF)
}
diff --git a/windows/autohotkey/Source/Methods-Other.ahk b/windows/autohotkey/Source/Methods-Other.ahk
index dbd17d7..2e9c928 100644
--- a/windows/autohotkey/Source/Methods-Other.ahk
+++ b/windows/autohotkey/Source/Methods-Other.ahk
@@ -1,159 +1,95 @@
-BSSendUnicodeChar(charCode)
-{
- send {bs}
- SendUnicodeChar(charCode)
-}
-
-CompUnicodeChar(charCode)
-{
- send {bs}
- SendUnicodeChar(charCode)
-}
-
-Comp3UnicodeChar(charCode)
-{
- send {bs}{bs}
- SendUnicodeChar(charCode)
-}
-
-deadAsc(val)
-{
+deadAsc(val){
global
- if (DeadSilence)
- {} ; keine Ausgabe
- else
- send % "{blind}" . val
+ if!(DeadSilence)
+ send % val
}
-deadUni(val)
-{
+deadUni(val){
global
- if (DeadSilence)
- {} ; keine Ausgabe
- else
+ if!(DeadSilence)
SendUnicodeChar(val)
}
-undeadAsc(val)
-{
+undeadAsc(val){
global
- if (DeadSilence)
- send % "{blind}" . val
+ if(DeadSilence)
+ send % val
else
- send % "{blind}{bs}" . val
+ send % "{bs}" . val
}
-undeadUni(val)
-{
+undeadUni(val){
global
- if (DeadSilence)
- {} ; keine ausgabe
- else
+ if!(DeadSilence)
send {bs}
- SendUnicodeChar(val)
+ SendUnicodeChar(val)
}
-CheckDeadAsc(d,val)
-{
+CheckDeadAsc(d,val){
global
- if (PriorDeadKey == d)
- {
+ if(PriorDeadKey == d){
undeadAsc(val)
return 1
- }
- else
- return 0
+ }else return 0
}
-CheckDeadUni(d,val)
-{
+CheckDeadUni(d,val){
global
- if (PriorDeadKey == d)
- {
+ if(PriorDeadKey == d){
undeadUni(val)
return 1
- }
- else
- return 0
+ }else return 0
}
-CheckDeadAsc12(d,val1,val2)
-{
+CheckDeadAsc12(d,val1,val2){
global
- if (PriorDeadKey == d)
- {
- if ((Ebene = 1) and (val1 != ""))
- {
+ if(PriorDeadKey == d){
+ if((Ebene = 1) and (val1 != "")){
undeadAsc(val1)
return 1
- }
- else if ((Ebene = 2) and (val2 != ""))
- {
+ }else if((Ebene = 2) and (val2 != "")){
undeadAsc(val2)
return 1
- }
- else
- return 0
- }
- else
- return 0
+ }else return 0
+ }else return 0
}
-CheckDeadUni12(d,val1,val2)
-{
+CheckDeadUni12(d,val1,val2){
global
- if (PriorDeadKey == d)
- {
- if ((Ebene = 1) and (val1 != ""))
- {
+ if(PriorDeadKey == d){
+ if((Ebene = 1) and (val1 != "")){
undeadUni(val1)
return 1
- }
- else if ((Ebene = 2) and (val2 != ""))
- {
+ }else if((Ebene = 2) and (val2 != "")){
undeadUni(val2)
return 1
- }
- else
- return 0
- }
- else
- return 0
+ }else return 0
+ }else return 0
}
-compAsc(val)
-{
+compAsc(val){
global
- if (DeadCompose)
- {} ; keine Ausgabe
- else
- send % "{blind}" . val
+ if!(DeadCompose)
+ send % val
}
-compUni(val)
-{
+compUni(val){
global
- if (DeadCompose)
- {} ; keine Ausgabe
- else
+ if!(DeadCompose)
SendUnicodeChar(val)
}
-uncompAsc(val)
-{
+uncompAsc(val){
global
- if (DeadCompose)
- send % "{blind}" . val
- else
- send % "{blind}{bs}" . val
+ if(DeadCompose)
+ send % val
+ else send % "{bs}" . val
}
uncompUni(val)
{
global
- if (DeadCompose)
- {} ; keine ausgabe
- else
+ if!(DeadCompose)
send {bs}
SendUnicodeChar(val)
}
@@ -161,126 +97,91 @@ uncompUni(val)
uncomp3Uni(val)
{
global
- if (DeadCompose)
- {} ; keine ausgabe
- else
+ if!(DeadCompose)
send {bs}{bs}
SendUnicodeChar(val)
}
-CheckCompAsc(d,val)
-{
+CheckCompAsc(d,val){
global
- if (PriorCompKey == d)
- {
+ if(PriorCompKey == d){
uncompAsc(val)
return 1
- }
- else
- return 0
+ }else return 0
}
-CheckCompAsc12(d,val1,val2)
-{
+CheckCompAsc12(d,val1,val2){
global
- if (PriorCompKey == d)
- if ((Ebene = 1) and (val1 != ""))
- {
+ if(PriorCompKey == d)
+ if((Ebene = 1) and (val1 != "")){
uncompAsc(val1)
return 1
- }
- else if ((Ebene = 2) and (val2 != ""))
- {
+ }else if((Ebene = 2) and (val2 != "")){
uncompAsc(val2)
return 1
- }
- else
- return 0
- else
- return 0
+ }else return 0
+ else return 0
}
-CheckCompUni(d,val)
-{
+CheckCompUni(d,val){
global
- if (PriorCompKey == d)
- {
+ if(PriorCompKey == d){
uncompUni(val)
return 1
- }
- else
- return 0
+ }else return 0
}
-CheckCompUni12(d,val1,val2)
-{
+CheckCompUni12(d,val1,val2){
global
- if (PriorCompKey == d)
- {
- if ((Ebene = 1) and (val1 != ""))
- {
+ if(PriorCompKey == d){
+ if ((Ebene = 1) and (val1 != "")){
uncompUni(val1)
return 1
- }
- else if ((Ebene = 2) and (val2 != ""))
- {
+ }else if((Ebene = 2) and (val2 != "")){
uncompUni(val2)
return 1
- }
- else
- return 0
- }
- else
- return 0
+ }else return 0
+ }else return 0
}
-CheckComp3Uni(d,val)
-{
+CheckComp3Uni(d,val){
global
- if (PriorCompKey == d)
- {
+ if(PriorCompKey == d){
uncomp3Uni(val)
return 1
- }
- else
- return 0
+ }else return 0
}
-CheckComp3Uni12(d,val1,val2)
-{
+CheckComp3Uni12(d,val1,val2){
global
- if (PriorCompKey == d)
- {
- if ((Ebene = 1) and (val1 != ""))
- {
+ if(PriorCompKey == d){
+ if((Ebene = 1) and (val1 != "")){
uncomp3Uni(val1)
return 1
- }
- else if ((Ebene = 2) and (val2 != ""))
- {
+ }else if((Ebene = 2) and (val2 != "")){
uncomp3Uni(val2)
return 1
- }
- else
- return 0
- }
- else
- return 0
+ }else return 0
+ }else return 0
}
-outputChar(val1,val2)
-{
+outputChar(val1,val2){
global
- if (Ebene = 1)
+ if(Ebene = 1)
c := val1
else
c := val2
- if GetKeyState("Shift","P") and isMod2Locked
+ if GetKeyState("Shift","P") and isMod2Locked
send % "{blind}{Shift Up}" . c . "{Shift Down}"
else
send % "{blind}" . c
- if (PriorDeadKey = "comp")
+ if(PriorDeadKey = "comp")
CompKey := c
}
-
+checkComp(d){
+ if(PriorDeadKey = "comp"){
+ CompKey := d
+ return 1
+ }
+}
diff --git a/windows/autohotkey/Source/Methods-ScreenKeyboard.ahk b/windows/autohotkey/Source/Methods-ScreenKeyboard.ahk
index a64c426..5cfd18b 100644
--- a/windows/autohotkey/Source/Methods-ScreenKeyboard.ahk
+++ b/windows/autohotkey/Source/Methods-ScreenKeyboard.ahk
@@ -3,67 +3,60 @@
BildschirmTastatur
------------------------------------------------------
*/
+
guiErstellt = 0
alwaysOnTop = 1
*F1::
- if (isMod4Pressed() and zeigeBildschirmTastatur)
+ if(isMod4Pressed()&&zeigeBildschirmTastatur)
goto Switch1
- else
- send {blind}{F1}
+ else send {blind}{F1}
return
*F2::
- if (isMod4Pressed() and zeigeBildschirmTastatur)
+ if(isMod4Pressed()&&zeigeBildschirmTastatur)
goto Switch2
- else
- send {blind}{F2}
+ else send {blind}{F2}
return
*F3::
- if (isMod4Pressed() and zeigeBildschirmTastatur)
+ if(isMod4Pressed()&&zeigeBildschirmTastatur)
goto Switch3
- else
- send {blind}{F3}
+ else send {blind}{F3}
return
*F4::
- if (isMod4Pressed() and zeigeBildschirmTastatur)
+ if(isMod4Pressed()&&zeigeBildschirmTastatur)
goto Switch4
- else
- send {blind}{F4}
+ else send {blind}{F4}
return
*F5::
- if (isMod4Pressed() and zeigeBildschirmTastatur)
+ if(isMod4Pressed()&&zeigeBildschirmTastatur)
goto Switch5
- else
- send {blind}{F5}
+ else send {blind}{F5}
return
*F6::
- if (isMod4Pressed() and zeigeBildschirmTastatur)
+ if(isMod4Pressed()&&zeigeBildschirmTastatur)
goto Switch6
- else
- send {blind}{F6}
+ else send {blind}{F6}
return
*F7::
- if (isMod4Pressed() and zeigeBildschirmTastatur)
+ if(isMod4Pressed()&&zeigeBildschirmTastatur)
goto Show
- else
- send {blind}{F7}
+ else send {blind}{F7}
return
*F8::
- if (isMod4Pressed() and zeigeBildschirmTastatur)
+ if(isMod4Pressed()&&zeigeBildschirmTastatur)
goto ToggleAlwaysOnTop
- else
- send {blind}{F8}
+ else send {blind}{F8}
return
Switch1:
- tImage := ResourceFolder . "\ebene1.png"
+ tImage:=ResourceFolder . "\ebene1.png"
goto Switch
Return
diff --git a/windows/autohotkey/Source/Methods-Unicode.ahk b/windows/autohotkey/Source/Methods-Unicode.ahk
index 3509261..b29f7ed 100644
--- a/windows/autohotkey/Source/Methods-Unicode.ahk
+++ b/windows/autohotkey/Source/Methods-Unicode.ahk
@@ -2,71 +2,30 @@
------------------------------------------------------
Methoden zum Senden von Unicode-Zeichen
------------------------------------------------------
-*/
-
-
-/************************************************************
- Alter Weg Copy/Paste ber die Zwischenablage
-************************************************************/
-/*
-Diese Variante sollte nicht mehr verwendet werden (knnte jedoch unter Umstnden noch zu Testzwecken hilfreich sein).
-
-hat den Vorteil, dass sie etwas kompatibler ist (es ist kein separater GTK-Workarround notwendig). Stefan zufolge wurde sie schon einmal getestet, dann jedoch wieder verworfen.
-
-Das Problem war vor allem, da bei einer etwas greren Rechnerauslastung kein normales Schreiben mehr mglich war. Nicht nur, da die Perfomanz sehr schlecht war (es dauerte lange, bis die Buchstaben berhaupt erschienen) -- viel schlimmer war, da die Reihenfolge der Tastatureingabe nicht mehr eingehalten wurde, sondern die genommen wurde, die in der Zwischenablage war: genau umgekehrt.
-*/
-
-/*
-Unicode(code)
-{
- saved_clipboard := ClipboardAll
- Transform, Clipboard, Unicode, %code%
- sendplay ^v
- Clipboard := saved_clipboard
-}
-
-BSUnicode(code)
-{
- saved_clipboard := ClipboardAll
- Transform, Clipboard, Unicode, %code%
- sendplay {bs}^v
- Clipboard := saved_clipboard
-}
-*/
-
-/************************************************************
- Neuer Weg Benutzung der entsprechenden Win32-API-Methode
-************************************************************/
-
-/*
ber den GTK-Workaround:
Dieser basiert auf http://www.autohotkey.com/forum/topic32947.html
Der Aufruf von SubStr(charCode,3) geht davon aus, dass alle charCodes in Hex mit fhrendem 0x angegeben sind. Die abenteuerliche ^+u-Konstruktion bentigt im brigen den Hex-Wert in Kleinschrift, was derzeit nicht bei den Zeichendefinitionen umgesetzt ist, daher zentral und weniger fehlertrchtig an dieser Stelle. Auerdem ein abschlieend gesendetes Space, sonst bleibt der eingetippte Unicode-Wert noch kurz sichtbar stehen, bevor er sich GTK-sei-dank in das gewnschte Zeichen verwandelt.
*/
-SendUnicodeChar(charCode)
-{
- IfWinActive, ahk_class gdkWindowToplevel
- {
- StringLower, charCode, charCode
- send % "^+u" . SubStr(charCode,3) . " "
- } else {
- VarSetCapacity(ki, 28 * 2, 0)
-
- EncodeInteger(&ki + 0, 1)
- EncodeInteger(&ki + 6, charCode)
- EncodeInteger(&ki + 8, 4)
- EncodeInteger(&ki +28, 1)
- EncodeInteger(&ki +34, charCode)
- EncodeInteger(&ki +36, 4|2)
-
- DllCall("SendInput", "UInt", 2, "UInt", &ki, "Int", 28)
- }
+SendUnicodeChar(charCode){
+ IfWinActive,ahk_class gdkWindowToplevel
+ {
+ StringLower,charCode,charCode
+ send % "^+u" . SubStr(charCode,3) . " "
+ }else{
+ VarSetCapacity(ki,28*2,0)
+ EncodeInteger(&ki+0,1)
+ EncodeInteger(&ki+6,charCode)
+ EncodeInteger(&ki+8,4)
+ EncodeInteger(&ki+28,1)
+ EncodeInteger(&ki+34,charCode)
+ EncodeInteger(&ki+36,4|2)
+ DllCall("SendInput","UInt",2,"UInt",&ki,"Int",28)
+ }
}
-EncodeInteger(ref, val)
-{
- DllCall("ntdll\RtlFillMemoryUlong", "Uint", ref, "Uint", 4, "Uint", val)
+EncodeInteger(ref,val){
+ DllCall("ntdll\RtlFillMemoryUlong","Uint",ref,"Uint",4,"Uint",val)
}
diff --git a/windows/autohotkey/neo20.ahk b/windows/autohotkey/neo20.ahk
index 1211701..cb97fbb 100644
--- a/windows/autohotkey/neo20.ahk
+++ b/windows/autohotkey/neo20.ahk
@@ -1,4 +1,29 @@
+/******************
+* Initialisierung *
+*******************
+*/
+DeadKey = ""
+CompKey = ""
+PriorDeadKey = ""
+PriorCompKey = ""
+Ebene12 = 0
+noCaps = 0
+
+EbeneAktualisieren()
+SetBatchLines -1
+SetCapsLockState AlwaysOff
SetNumLockState AlwaysOff
+SetScrollLockState AlwaysOff
+KeyboardLED(6,"off")
+
+name=Neo 2.0 (%A_ScriptName%)
+enable=Aktiviere %name%
+disable=Deaktiviere %name%
+#usehook on
+#singleinstance force
+#LTrim ; Quelltext kann eingerckt werden,
+Process,Priority,,High
+SendMode Input
/****************
* Verzeichnisse *
@@ -13,132 +38,86 @@ FileCreateDir, %ResourceFolder%
EnvGet, WindowsEnvAppDataFolder, APPDATA
ApplicationFolder = %WindowsEnvAppDataFolder%\NEO2
FileCreateDir, %ApplicationFolder%
-
-
+ini = %ApplicationFolder%\NEO2.ini
/*******************
* Globale Schalter *
********************
*/
-
; Im folgenden gilt (soweit nicht anders angegeben) Ja = 1, Nein = 0:
-; Syntaxhinweis: IniRead, Variable, InputFilename, Section, Key [, DefaultValue]
; Sollen die Bilder fr die Bildschirmtastatur in die compilierte EXE-Datei miteingebunden werden? (Nachteil: grssere Dateigrsse, Vorteil: Referenz fr Anfnger stets einfach verfgbar)
bildschirmTastaturEinbinden := 1
+; Syntaxhinweis: IniRead, Variable, InputFilename, Section, Key [, DefaultValue]
+
; Sollen Ebenen 1-4 ignoriert werden (kann z.B. vom dll Treiber bernommen werden)?
-IniRead, ahkTreiberKombi, %ApplicationFolder%\NEO2.ini, Global, ahkTreiberKombi, 0
+IniRead,ahkTreiberKombi,%ini%,Global,ahkTreiberKombi,0
; Soll der Treiber im Einhandmodus betrieben werden?
-IniRead, einHandNeo, %ApplicationFolder%\NEO2.ini, Global, einHandNeo, 0
+IniRead,einHandNeo,%ini%,Global,einHandNeo,0
; Soll der Lernmodus aktiviert werden?
-IniRead, lernModus, %ApplicationFolder%\NEO2.ini, Global, lernModus, 0
+IniRead,lernModus,%ini%,Global,lernModus,0
; Soll mit einer MsgBox explizit auf das Ein- und Ausschalten des Mod4-Locks hingewiesen werden?
-IniRead, zeigeLockBox, %ApplicationFolder%\NEO2.ini, Global, zeigeLockBox, 1
+IniRead,zeigeLockBox,%ini%,Global,zeigeLockBox,1
; Soll aktivierter Mod4-Lock ber die Rollen-LED des Keybord angezeigt werden (analog zu CapsLock)?
-IniRead, UseMod4Light, %ApplicationFolder%\NEO2.ini, Global, UseMod4Light, 1
+IniRead,UseMod4Light,%ini%,Global,UseMod4Light,1
; Soll Lang-s auf s, s auf und auf Lang-s gelegt (bzw. vertauscht) werden?
-IniRead, LangSTastatur, %ApplicationFolder%\NEO2.ini, Global, LangSTastatur, 0
+IniRead,LangSTastatur,%ini%,Global,LangSTastatur,0
+If LangSTastatur
+ KeyboardLED(2,"on")
; Sollen tote Tasten blind angezeigt werden?
-IniRead, DeadCompose, %ApplicationFolder%\NEO2.ini, Global, DeadCompose, 0
+IniRead,DeadCompose,%ini%,Global,DeadCompose,0
;Sollen Compose-Tasten blind angezeigt werden?
-IniRead, DeadSilence, %ApplicationFolder%\NEO2.ini, Global, DeadSilence, 0
+IniRead,DeadSilence,%ini%,Global,DeadSilence,0
/***********************
* Recourcen-Verwaltung *
************************
*/
-
-if(FileExist("ResourceFolder") <> false) {
+if(FileExist("ResourceFolder")<>false){
; Versuche, alle mglicherweise 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.
+ 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.
}
; Benutze die Dateien auch dann, wenn sie eventuell im aktuellen Verzeichnis vorhanden sind
-if ( FileExist("ebene1.png") && FileExist("ebene2.png") && FileExist("ebene3.png") && FileExist("ebene4.png") && FileExist("ebene5.png") && FileExist("ebene6.png") )
- zeigeBildschirmTastatur = 1
-if ( FileExist("neo.ico") && FileExist("neo_disabled.ico") )
- iconBenutzen = 1
-
-
-/**************************
-* lernModus Konfiguration *
-* nur relevant wenn *
-* lernModus = 1 *
-* Strg+Komma schaltet um *
-***************************
+if(FileExist("ebene1.png")&&FileExist("ebene2.png")&&FileExist("ebene3.png")&&FileExist("ebene4.png")&&FileExist("ebene5.png")&&FileExist("ebene6.png"))
+ zeigeBildschirmTastatur=1
+if(FileExist("neo.ico")&&FileExist("neo_disabled.ico"))
+ iconBenutzen=1
+
+/*******************************************
+* berprfung auf deutsches Tastaturlayout *
+********************************************
*/
-; 0 = aus, 1 = an
-
-; die Nachfolgenden sind ntzlich um sich die Qwertz-Tasten abzugewhnen, da alle auf der 4. Ebene vorhanden.
-lernModus_std_Return = 0
-lernModus_std_Backspace = 0
-lernModus_std_PgUp = 0
-lernModus_std_PgDn = 0
-lernModus_std_Einf = 0
-lernModus_std_Entf = 0
-lernModus_std_Pos0 = 0
-lernModus_std_Ende = 0
-lernModus_std_Hoch = 0
-lernModus_std_Runter = 0
-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
-; ntzlich um sich zu zwingen, richtig zu schreiben
-lernModus_neo_Backspace = 0
-lernModus_neo_Entf = 1
-
-; aus Noras Skript kopiert:
-Process,Priority,,High
-#usehook on
-#singleinstance force
-#LTrim
- ; Quelltext kann eingerckt werden,
- ; msgbox ist trotzdem linksbndig
-SetTitleMatchMode 2
-SendMode Input
-name = Neo 2.0
-enable = Aktiviere %name%
-disable = Deaktiviere %name%
-
-; berprfung auf deutsches Tastaturlayout
-; ----------------------------------------
-
-regread, inputlocale, HKEY_CURRENT_USER, Keyboard Layout\Preload, 1
-regread, inputlocalealias, HKEY_CURRENT_USER
- , Keyboard Layout\Substitutes, %inputlocale%
-if inputlocalealias <>
- inputlocale = %inputlocalealias%
-if inputlocale <> 00000407
+regread,inputlocale,HKEY_CURRENT_USER,Keyboard Layout\Preload,1
+regread,inputlocalealias,HKEY_CURRENT_USER,Keyboard Layout\Substitutes,%inputlocale%
+if inputlocalealias<>inputlocale=%inputlocalealias%
+if inputlocale<>00000407
{
suspend
- regread, inputlocale, HKEY_LOCAL_MACHINE
- , SYSTEM\CurrentControlSet\Control\Keyboard Layouts\%inputlocale%
- , Layout Text
- msgbox, 48, Warnung!,
+ regread,inputlocale,HKEY_LOCAL_MACHINE,SYSTEM\CurrentControlSet\Control\Keyboard Layouts\%inputlocale%,Layout Text
+ msgbox, 48, Warnung!,
(
Nicht kompatibles Tastaturlayout:
`t%inputlocale%
@@ -153,87 +132,39 @@ if inputlocale <> 00000407
exitapp
}
-
-; Men des Systray-Icons
-; ----------------------
-
-if (iconBenutzen)
- 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, tray, add, Hilfe, :helpmenu
-menu, tray, add
-menu, tray, add, %disable%, togglesuspend
-menu, tray, default, %disable%
-menu, tray, add
-menu, tray, add, Edit, edit
-menu, tray, add, Reload, reload
-menu, tray, add
-menu, tray, add, Nicht im Systray anzeigen, hide
-menu, tray, add, %name% beenden, exitprogram
-menu, tray, tip, %name%
-
-
-/*
- Variablen initialisieren
+/*************************
+* Men des Systray-Icons *
+**************************
*/
-
-DeadKey = ""
-CompKey = ""
-PriorDeadKey = ""
-PriorCompKey = ""
-Ebene12 = 0
-
-EbeneAktualisieren()
-
-
-/*
- EinHandNeo
+if (iconBenutzen)
+ 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,tray,add,Hilfe,:helpmenu
+menu,tray,add
+menu,tray,add,%disable%,togglesuspend
+menu,tray,add
+menu,tray,add,Bearbeiten,edit
+menu,tray,add,Neu Laden,reload
+menu,tray,add
+menu,tray,add,Nicht im Systray anzeigen,hide
+menu,tray,add,%name% beenden, exitprogram
+menu,tray,default,%disable%
+menu,tray,tip,%name%
+
+/**********************
+* Tastenkombinationen *
+***********************
*/
-spacepressed := 0
-keypressed:= 0
-
-; Reihe 1
-gespiegelt_7 = neo_6
-gespiegelt_8 = neo_5
-gespiegelt_9 = neo_4
-gespiegelt_0 = neo_3
-gespiegelt_strich = neo_2
-gespiegelt_tot2 = neo_1
-
-; Reihe 2
-gespiegelt_k = neo_w
-gespiegelt_h = neo_c
-gespiegelt_g = neo_l
-gespiegelt_f = neo_v
-gespiegelt_q = neo_x
-gespiegelt_sz = neo_tab
-gespiegelt_tot3 = neo_tot1
-
-; Reihe 3
-gespiegelt_s = neo_o
-gespiegelt_n = neo_e
-gespiegelt_r = neo_a
-gespiegelt_t = neo_i
-gespiegelt_d = neo_u
-
-; Reihe 4
-gespiegelt_b = neo_z
-gespiegelt_m = neo_p
-gespiegelt_komma = neo_
-gespiegelt_punkt = neo_
-gespiegelt_j = neo_
-
-
;Blinde/Sichtbare Tote Tasten
*F9::
if (isMod4pressed())
- DeadSilence := not(DeadSilence)
+ DeadSilence := not(DeadSilence)
else
send {blind}{F9}
return
@@ -241,19 +172,25 @@ return
;Blinde/Sichtbare Compose
*F10::
if (isMod4pressed())
- DeadCompose := not(DeadCompose)
+ 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
+ if (isMod4pressed()){
+ LangSTastatur := not(LangSTastatur)
+ if LangSTastatur
+ KeyboardLED(2,"on")
+ else KeyboardLED(2,"off")
+ }
else
send {blind}{F11}
return
+;Alle Modi und Locks in den Normalzustand versetzen
+;bzw. Skript neu laden:
*Esc::
if (isMod4pressed())
reload
@@ -261,71 +198,58 @@ return
send {blind}{Esc}
return
-/*
- ------------------------------------------------------
- Shift+Pause "pausiert" das Skript.
- ------------------------------------------------------
-*/
-
*pause::
Suspend, Permit
- if isshiftpressed()
- goto togglesuspend
- else
- send {blind}{pause}
+ if isShiftpressed()
+ goto togglesuspend
+ else
+ send {blind}{pause}
return
-; ------------------------------------
-
-^.::einHandNeo := not(einHandNeo) ; Punkt
-^,::lernModus := not(lernModus) ; Komma
-
-
-
+/*****************
+* Menfunktionen *
+******************
+*/
togglesuspend:
- if A_IsSuspended
- {
- menu, tray, rename, %enable%, %disable%
- menu, tray, tip, %name%
- if (iconBenutzen)
- menu, tray, icon, %ResourceFolder%\neo.ico,,1
- suspend , off ; Schaltet Suspend aus -> NEO
- }
- else
- {
- menu, tray, rename, %disable%, %enable%
- menu, tray, tip, %name% : Deaktiviert
- if (iconBenutzen)
- menu, tray, icon, %ResourceFolder%\neo_disabled.ico,,1
- suspend , on ; Schaltet Suspend ein -> QWERTZ
- }
-
+ if A_IsSuspended
+ {
+ menu, tray, rename, %enable%, %disable%
+ menu, tray, tip, %name%
+ if (iconBenutzen)
+ menu, tray, icon, %ResourceFolder%\neo.ico,,1
+ suspend , off ; Schaltet Suspend aus -> NEO
+ }
+ else
+ {
+ menu, tray, rename, %disable%, %enable%
+ menu, tray, tip, %name% : Deaktiviert
+ if (iconBenutzen)
+ menu, tray, icon, %ResourceFolder%\neo_disabled.ico,,1
+ suspend , on ; Schaltet Suspend ein -> QWERTZ
+ }
return
-
help:
Run, %A_WinDir%\hh mk:@MSITStore:autohotkey.chm
return
-
about:
- msgbox, 64, %name% Ergonomische Tastaturbelegung,
- (
- %name%
- `nDas Neo-Layout ersetzt das bliche deutsche
- Tastaturlayout mit der Alternative Neo,
- beschrieben auf http://neo-layout.org/.
- `nDazu sind keine Administratorrechte ntig.
- `nWenn Autohotkey aktiviert ist, werden alle Tastendrucke
- abgefangen und statt dessen eine bersetzung weitergeschickt.
- `nDies geschieht transparent fr den Anwender,
- es muss nichts installiert werden.
- `nDie Zeichenbersetzung kann leicht ber das Icon im
- Systemtray deaktiviert werden. `n
- )
+ msgbox, 64, %name% Ergonomische Tastaturbelegung,
+ (
+ %name%
+ `nDas Neo-Layout ersetzt das bliche deutsche
+ Tastaturlayout mit der Alternative Neo,
+ beschrieben auf http://neo-layout.org/.
+ `nDazu sind keine Administratorrechte ntig.
+ `nWenn Autohotkey aktiviert ist, werden alle Tastendrucke
+ abgefangen und statt dessen eine bersetzung weitergeschickt.
+ `nDies geschieht transparent fr den Anwender,
+ es muss nichts installiert werden.
+ `nDie Zeichenbersetzung kann leicht ber das Icon im
+ Systemtray deaktiviert werden. `n
+ )
return
-
neo:
run http://neo-layout.org/
return
@@ -354,6 +278,78 @@ exitprogram:
exitapp
return
+/**************************
+* lernModus Konfiguration *
+* nur relevant wenn *
+* lernModus = 1 *
+* Strg+Komma schaltet um *
+***************************
+*/
+^,::lernModus := not(lernModus)
+
+; 0 = aus, 1 = an
+
+; die Nachfolgenden sind ntzlich um sich die Qwertz-Tasten abzugewhnen, da alle auf der 4. Ebene vorhanden.
+lernModus_std_Return = 0
+lernModus_std_Backspace = 0
+lernModus_std_PgUp = 0
+lernModus_std_PgDn = 0
+lernModus_std_Einf = 0
+lernModus_std_Entf = 0
+lernModus_std_Pos0 = 0
+lernModus_std_Ende = 0
+lernModus_std_Hoch = 0
+lernModus_std_Runter = 0
+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
+; ntzlich um sich zu zwingen, richtig zu schreiben
+lernModus_neo_Backspace = 0
+lernModus_neo_Entf = 1
+
+/****************************
+* EinHandNeo *
+* Umschalten mit Strg+Punkt *
+*****************************
+*/
+^.::einHandNeo := not(einHandNeo)
+
+spacepressed := 0
+keypressed:= 0
+
+; Reihe 1
+gespiegelt_7 = neo_6
+gespiegelt_8 = neo_5
+gespiegelt_9 = neo_4
+gespiegelt_0 = neo_3
+gespiegelt_strich = neo_2
+gespiegelt_tot2 = neo_1
+
+; Reihe 2
+gespiegelt_k = neo_w
+gespiegelt_h = neo_c
+gespiegelt_g = neo_l
+gespiegelt_f = neo_v
+gespiegelt_q = neo_x
+gespiegelt_sz = neo_tab
+gespiegelt_tot3 = neo_tot1
+
+; Reihe 3
+gespiegelt_s = neo_o
+gespiegelt_n = neo_e
+gespiegelt_r = neo_a
+gespiegelt_t = neo_i
+gespiegelt_d = neo_u
+
+; Reihe 4
+gespiegelt_b = neo_z
+gespiegelt_m = neo_p
+gespiegelt_komma = neo_
+gespiegelt_punkt = neo_
+gespiegelt_j = neo_
+
; LShift+RShift == CapsLock (simuliert)
; Es werden nur die beiden Tastenkombinationen abgefragt,
@@ -418,10 +414,6 @@ IsMod4Locked := 0
}
return
-Ebene12 := 0
-Ebene7 := 0
-Ebene8 := 0
-
EbeneAktualisieren()
{
global
@@ -430,6 +422,8 @@ EbeneAktualisieren()
DeadKey := ""
CompKey := ""
Modstate := IsMod4Pressed() . IsMod3Pressed() . IsShiftPressed()
+ Ebene7 := 0
+ Ebene8 := 0
if ahkTreiberKombi
if ( Modstate = "001")
Ebene = 6
@@ -460,23 +454,23 @@ EbeneAktualisieren()
}
Ebene12 := ((Ebene = 1) or (Ebene = 2))
Ebene14 := ((Ebene = 1) or (Ebene = 4))
- GetKeyState("NumLock","T")
+ NumLock := GetKeyState("NumLock","T")
}
-
IsShiftPressed()
{
global
if GetKeyState("Shift","P")
- if isMod2Locked
+ if isMod2Locked and !noCaps
return 0
else
return 1
else
- if isMod2Locked
+ if isMod2Locked and !noCaps
return 1
else
return 0
+ noCaps = 0
}
IsMod3Pressed()
@@ -1000,407 +994,288 @@ Die eigentliche NEO-Belegung und der Hauptteil des AHK-Treibers.
Reihe 1
*/
-
neo_tot1:
+ noCaps=1
EbeneAktualisieren()
- if (Ebene = 1)
- {
+ if(Ebene=1){
deadUni(0x02C6) ; Zirkumflex, tot
- DeadKey := "c1"
- }
- else if (Ebene = 2)
- {
+ DeadKey=c1
+ }else if(Ebene = 2){
deadUni(0x02C7) ; Caron, tot
- DeadKey := "c2"
- }
- else if (Ebene = 3)
- {
+ DeadKey=c2
+ }else if(Ebene = 3){
deadUni(0x02D8) ; Brevis, tot
- DeadKey := "c3"
- }
- else if (Ebene = 4)
- {
+ DeadKey=c3
+ }else if Ebene7
+ SendUnicodeChar(0x0302) ; Verbindungszeichen Zirkumflex
+ else if Ebene8
+ SendUnicodeChar(0x0306) ; Verbindungszeichen Brevis
+ else if(Ebene = 4){
deadUni(0x00B7) ; Mittenpunkt, tot
- DeadKey := "c4"
- }
- else if (Ebene = 5)
- {
+ DeadKey=c4
+ }else if(Ebene = 5){
deadUni(0x002D) ; Querstrich, tot
- DeadKey := "c5"
- }
- else if (Ebene = 6)
- {
- deadUni(0x002E) ; Punkt drunter (Colon), tot
- DeadKey := "c6"
- }
- CompKey := PriorCompKey
+ DeadKey=c5
+ }else if(Ebene = 6){
+ deadUni(0x0323) ; Punkt drunter (Colon), tot
+ DeadKey=c6
+ }CompKey := PriorCompKey
return
neo_1:
+ noCaps=1
EbeneAktualisieren()
- if (Ebene = 1)
- {
- if !(CheckDeadUni("c1",0x00B9)
- or CheckDeadUni("c5",0x2081)
- or CheckComp3Uni("r_1",0x217A) ; rmisch xi
- or CheckComp3Uni("R_1",0x216A)) ; rmisch 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"
- else if (PriorCompKey == "r")
- CompKey := "r_1"
- else if (PriorCompKey == "R")
- CompKey := "R_1"
- }
- else if (Ebene = 2)
- send
- else if (Ebene = 3)
- SendUnicodeChar(0x00B9) ; Hochgestellte 2
- else if (Ebene = 4)
- SendUnicodeChar(0x2022) ; Bullet
- else if (Ebene = 5)
- SendUnicodeChar(0x2640) ; Piktogramm weiblich
- else if (Ebene = 6)
- SendUnicodeChar(0x00AC) ; Nicht-Symbol
+ if Ebene12{
+ if!(CheckDeadUni("c1",0x00B9) ; Hochgestellte 1
+ or CheckDeadUni("c5",0x2081) ; Tiefgestellte 1
+ or CheckComp3Uni("r_1",0x217A) ; Rmisch xi
+ or CheckComp3Uni("R_1",0x216A)) ; Rmisch XI
+ outputChar(1,"")
+ if!(checkComp(1))
+ if(PriorCompKey == "r")
+ CompKey := "r_1"
+ else if(PriorCompkey == "R")
+ CompKey := "R_1"
+ }else if(Ebene = 3)
+ SendUnicodeChar(0x00B9) ; Hochgestellte 1
+ else if(Ebene = 4)
+ SendUnicodeChar(0x2022) ; Bullet
+ else if(Ebene = 5)
+ SendUnicodeChar(0x2640) ; Piktogramm weiblich
+ else if(Ebene = 6)
+ SendUnicodeChar(0x00AC) ; Nicht-Symbol
return
neo_2:
+ noCaps = 1
EbeneAktualisieren()
- if (Ebene = 1)
- {
- if !(CheckDeadUni("c1",0x00B2)
- or CheckDeadUni("c5",0x2082)
- or CheckCompUni("r",0x2171) ; rmisch ii
- or CheckCompUni("R",0x2161) ; rmisch II
- or CheckComp3Uni("r_1",0x217B) ; rmisch xii
- or CheckComp3Uni("R_1",0x216B)) ; rmisch 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)
+ if(Ebene = 1){
+ if!(CheckDeadUni("c1",0x00B2) ; Hochgestellte 2
+ or CheckDeadUni("c5",0x2082) ; Tiefgestellte 2
+ or CheckCompUni("r",0x2171) ; Rmisch ii
+ or CheckCompUni("R",0x2161) ; Rmisch II
+ or CheckComp3Uni("r_1",0x217B) ; Rmisch xii
+ or CheckComp3Uni("R_1",0x216B)) ; Rmisch XII
+ outputChar(2,"")
+ checkComp(2)
+ }else if(Ebene = 2)
SendUnicodeChar(0x2116) ; Numero
- else if (Ebene = 3)
+ else if(Ebene = 3)
SendUnicodeChar(0x00B2) ; Hochgestellte 2
- else if (Ebene = 4)
+ else if(Ebene = 4)
SendUnicodeChar(0x2023) ; Aufzhlungspfeil
- else if (Ebene = 5)
+ else if(Ebene = 5)
SendUnicodeChar(0x26A5) ; Piktogramm Zwitter
- else if (Ebene = 6)
+ else if(Ebene = 6)
SendUnicodeChar(0x2228) ; Logisches Oder
return
neo_3:
+ noCaps = 1
EbeneAktualisieren()
- if (Ebene = 1)
- {
- if !(CheckDeadUni("c1",0x00B3)
+ if Ebene12{
+ if!(CheckDeadUni("c1",0x00B3)
or CheckDeadUni("c5",0x2083)
- or CheckCompUni("1",0x2153) ; 1/3
- or CheckCompUni("2",0x2154) ; 2/3
- or CheckCompUni("r",0x2172) ; rmisch iii
- or CheckCompUni("R",0x2162)) ; rmisch 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)
+ or CheckCompUni("1",0x2153) ; 1/3
+ or CheckCompUni("2",0x2154) ; 2/3
+ or CheckCompUni("r",0x2172) ; Rmisch iii
+ or CheckCompUni("R",0x2162)) ; Rmisch III
+ outputChar(3,"")
+ checkComp(3)
+ }else if(Ebene = 3)
SendUnicodeChar(0x00B3) ; Hochgestellte 3
- else if (Ebene = 4)
- {
- CompKey := PriorCompKey
- DeadKey := PriorDeadKey
- } ; leer
- else if (Ebene = 5)
+ else if(Ebene = 5)
SendUnicodeChar(0x2642) ; Piktogramm Mann
- else if (Ebene = 6)
+ else if(Ebene = 6)
SendUnicodeChar(0x2227) ; Logisches Und
return
neo_4:
+ noCaps = 1
EbeneAktualisieren()
- if (Ebene = 1)
- {
- if !(CheckDeadUni("c1",0x2074)
+ if(Ebene = 1){
+ if!(CheckDeadUni("c1",0x2074)
or CheckDeadUni("c5",0x2084)
- or CheckCompUni("r",0x2173) ; rmisch iv
- or CheckCompUni("R",0x2163)) ; rmisch 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)
+ or CheckCompUni("r",0x2173) ; Rmisch iv
+ or CheckCompUni("R",0x2163)) ; Rmisch IV
+ outputChar(4,"")
+ checkComp(4)
+ }else if(Ebene = 2)
SendUnicodeChar(0x00BB) ; Double guillemot right
- else if (Ebene = 3)
- Send {blind} ; Single guillemot right
- else if (Ebene = 4)
+ else if(Ebene = 3)
+ Send {blind} ; Single guillemot right
+ else if(Ebene = 4)
Send {blind}{PgUp}
- else if (Ebene = 5)
+ else if(Ebene = 5)
SendUnicodeChar(0x2113) ; Script small L
- else if (Ebene = 6)
+ else if(Ebene = 6)
SendUnicodeChar(0x22A5) ; Senkrecht
return
neo_5:
+ noCaps = 1
EbeneAktualisieren()
- if (Ebene = 1)
- {
- if !(CheckDeadUni("c1",0x2075)
+ 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) ; rmisch v
- or CheckCompUni("R",0x2164)) ; rmisch 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)
+ 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) ; Rmisch v
+ or CheckCompUni("R",0x2164)) ; Rmisch V
+ outputChar(5,"")
+ checkComp(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)
+ else if(Ebene = 3)
+ Send {blind} ; Single guillemot left
+ else if(Ebene = 5)
SendUnicodeChar(0x2020) ; Kreuz (Dagger)
- else if (Ebene = 6)
+ else if(Ebene = 6)
SendUnicodeChar(0x2221) ; Winkel
return
neo_6:
+ noCaps = 1
EbeneAktualisieren()
- if (Ebene = 1)
- {
- if !(CheckDeadUni("c1",0x2076)
+ 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) ; rmisch vi
- or CheckCompUni("R",0x2165)) ; rmisch 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)
+ or CheckCompUni("1",0x2159) ; 1/6
+ or CheckCompUni("5",0x215A) ; 5/6
+ or CheckCompUni("r",0x2175) ; Rmisch vi
+ or CheckCompUni("R",0x2165)) ; Rmisch VI
+ outputChar(6,"")
+ checkComp(6)
+ }else if(Ebene = 2)
+ SendUnicodeChar(0x20AC)
+ else if(Ebene = 3)
send {blind}
- else if (Ebene = 4)
+ else if(Ebene = 4)
send {blind}
- else if (Ebene = 5)
- {
- CompKey := PriorCompKey
- DeadKey := PriorDeadKey
- } ; leer
- else if (Ebene = 6)
+ else if(Ebene = 6)
SendUnicodeChar(0x2225) ; parallel
return
neo_7:
+ noCaps = 1
EbeneAktualisieren()
- if (Ebene = 1)
- {
- if !(CheckDeadUni("c1",0x2077)
+ if Ebene12{
+ if!(CheckDeadUni("c1",0x2077)
or CheckDeadUni("c5",0x2087)
- or CheckCompUni("r",0x2176) ; rmisch vii
- or CheckCompUni("R",0x2166)) ; rmisch 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)
+ or CheckCompUni("r",0x2176) ; Rmisch vii
+ or CheckCompUni("R",0x2166)) ; Rmisch VII
+ outputChar(7,"$")
+ checkComp(7)
+ }else if(Ebene = 3)
send {blind}
- else if (Ebene = 4)
+ else if(Ebene = 4)
send {blind}
- else if (Ebene = 5)
+ else if(Ebene = 5)
SendUnicodeChar(0x03BA) ; greek small letter kappa
- else if (Ebene = 6)
+ else if(Ebene = 6)
SendUnicodeChar(0x2209) ; nicht Element von
return
neo_8:
+ noCaps = 1
EbeneAktualisieren()
- if (Ebene = 1)
- {
- if !(CheckDeadUni("c1",0x2078)
+ if Ebene12{
+ 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) ; rmisch viii
- or CheckCompUni("R",0x2167)) ; rmisch 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)
+ 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) ; Rmisch viii
+ or CheckCompUni("R",0x2167)) ; Rmisch VIII
+ outputChar(8,"")
+ checkComp(8)
+ }else if(Ebene = 3)
send {blind}
- else if (Ebene = 4)
+ else if(Ebene = 4)
Send {blind}{NumpadDiv}
- else if (Ebene = 5)
+ else if(Ebene = 5)
SendUnicodeChar(0x27E8) ; bra (ffnende spitze Klammer)
- else if (Ebene = 6)
+ else if(Ebene = 6)
SendUnicodeChar(0x2204) ; es existiert nicht
return
neo_9:
+ noCaps = 1
EbeneAktualisieren()
- if (Ebene = 1)
- {
- if !(CheckDeadUni("c1",0x2079)
+ if Ebene12{
+ if!(CheckDeadUni("c1",0x2079)
or CheckDeadUni("c5",0x2089)
- or CheckCompUni("r",0x2178) ; rmisch ix
- or CheckCompUni("R",0x2168)) ; rmisch 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)
+ or CheckCompUni("r",0x2178) ; Rmisch ix
+ or CheckCompUni("R",0x2168)) ; Rmisch IX
+ outputChar(9,"")
+ checkComp(9)
+ }else if(Ebene = 3)
send {blind}
- else if (Ebene = 4)
+ else if(Ebene = 4)
Send {blind}{NumpadMult}
- else if (Ebene = 5)
+ else if(Ebene = 5)
SendUnicodeChar(0x27E9) ; ket (schlieende spitze Klammer)
- else if (Ebene = 6)
+ else if(Ebene = 6)
SendUnicodeChar(0x2226) ; nicht parallel
return
neo_0:
+ noCaps = 1
EbeneAktualisieren()
- if (Ebene = 1)
- {
- if !(CheckDeadUni("c1",0x2070)
- or CheckDeadUni("c5",0x2080)
- or CheckComp3Uni("r_1",0x2179) ; rmisch x
- or CheckComp3Uni("R_1",0x2169)) ; rmisch 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"
- }
- else if (Ebene = 2)
- send
- else if (Ebene = 3)
+ if Ebene12{
+ if!(CheckDeadUni("c1",0x2070)
+ or CheckDeadUni("c5",0x2080) ; Rmisch x
+ or CheckComp3Uni("R_1",0x2169)) ; Rmisch X
+ outputChar(0,"")
+ checkComp(0)
+ }else if(Ebene = 3)
send {blind}
- else if (Ebene = 4)
+ else if(Ebene = 4)
Send {blind}{NumpadSub}
- else if (Ebene = 5)
- {
- CompKey := PriorCompKey
- DeadKey := PriorDeadKey
- } ; leer
- else if (Ebene = 6)
+ else if(Ebene = 6)
SendUnicodeChar(0x2205) ; leere Menge
return
neo_strich:
+ noCaps = 1
EbeneAktualisieren()
- if (Ebene = 1)
- if (GetKeyState("CapsLock","T"))
- send {blind}{Shift down}-{Shift up}
- else
- send {blind}- ; Bindestrich-Minus
- else if (Ebene = 2)
+ if(Ebene = 1)
+ outputChar("-","") ; Bindestrich-Minus
+ else if(Ebene = 2)
SendUnicodeChar(0x2013) ; Gedankenstrich
- else if (Ebene = 3)
+ else if(Ebene = 3)
SendUnicodeChar(0x2014) ; Englischer Gedankenstrich (Geviertstrich)
- else if (Ebene = 4) ; leer
- {
- CompKey := PriorCompKey
- DeadKey := PriorDeadKey
- }
- else if (Ebene = 5)
+ else if(Ebene = 5)
SendUnicodeChar(0x2011) ; geschtzter Bindestrich (Bindestrich ohne Zeilenumbruch)
- else if (Ebene = 6)
+ else if(Ebene = 6)
SendUnicodeChar(0x00AD) ; weicher Bindestrich
return
neo_tot2:
+ noCaps = 1
EbeneAktualisieren()
- if (Ebene = 1)
- {
+ if(Ebene = 1){
deadAsc("{}{space}") ; Akut, tot
DeadKey := "a1"
- }
- else if (Ebene = 2)
- {
- deadAsc("``{space}") ; Gravis, tot
+ }else if(Ebene = 2){
+ deadAsc("``{space}") ; Gravis, tot
DeadKey := "a2"
- }
- else if (Ebene = 3)
- {
- deadAsc("") ; Cedilla, tot
+ }else if(Ebene = 3){
+ deadAsc("") ; Cedilla, tot
DeadKey := "a3"
- }
- else if (Ebene = 4)
- {
- deadUni(0x02D9) ; Punkt obendrber
+ }else if(Ebene = 4){
+ deadUni(0x02D9) ; Punkt oben
DeadKey := "a4"
- }
- else if (Ebene = 5)
- {
- deadUni(0x02DB) ; Ogonek
+ }else if(Ebene = 5){
+ deadUni(0x02DB) ; Ogonek
DeadKey := "a5"
- }
- else if (Ebene = 6)
- {
- deadUni(0x02DA) ; Ring obendrauf
+ }else if(Ebene = 6){
+ deadUni(0x02DA) ; Ring oben
DeadKey := "a6"
- }
- CompKey := PriorCompKey
+ }CompKey := PriorCompKey
return
@@ -1412,34 +1287,29 @@ return
neo_x:
EbeneAktualisieren()
- if (Ebene12)
+ if(Ebene12)
OutputChar("x","X")
- else if (Ebene = 3)
- SendUnicodeChar(0x2026) ;Ellipse horizontal
- else if (Ebene = 4)
- SendUnicodeChar(0x22EE) ;Ellipse vertikal
- else if (Ebene = 5)
- SendUnicodeChar(0x03BE) ;xi
- else if (Ebene = 6)
- SendUnicodeChar(0x039E) ;Xi
+ else if(Ebene = 3)
+ SendUnicodeChar(0x2026) ; Ellipse horizontal
+ else if(Ebene = 4)
+ SendUnicodeChar(0x22EE) ; Ellipse vertikal
+ 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)))
+ if(Ebene12 and !(CheckDeadUni12("c6",0x1E7F,0x1E7E)))
OutputChar("v","V")
- else if (Ebene = 3)
+ else if(Ebene = 3)
send {blind}_
- else if (Ebene = 4)
- if (not(lernModus) or lernModus_neo_Backspace)
+ else if(Ebene = 4)
+ if(not(lernModus) or lernModus_neo_Backspace)
Send {blind}{Backspace}
- else ; leer
- {
- CompKey := PriorCompKey
- DeadKey := PriorDeadKey
- }
- else if (Ebene = 6)
+ else if(Ebene = 6)
SendUnicodeChar(0x2259) ; estimates
return
@@ -1447,209 +1317,205 @@ return
neo_l:
EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a1",0x013A,0x0139)
+ 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)
+ else if(Ebene = 3)
send {blind}[
- else if (Ebene = 4)
+ else if(Ebene = 4)
Send {Blind}{Up}
- else if (Ebene = 5)
+ else if(Ebene = 5)
SendUnicodeChar(0x03BB) ; lambda
- else if (Ebene = 6)
+ else if(Ebene = 6)
SendUnicodeChar(0x039B) ; Lambda
return
neo_c:
EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a1",0x0107,0x0106)
+ 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 CheckCompAsc("o","")))
OutputChar("c","C")
- else if (Ebene = 3)
+ else if(Ebene = 3)
send {blind}]
- else if (Ebene = 4)
- if (not(lernModus) or lernModus_neo_Entf)
+ else if(Ebene = 4)
+ if(not(lernModus) or lernModus_neo_Entf)
Send {blind}{Del}
- else ; leer
- {
- CompKey := PriorCompKey
- DeadKey := PriorDeadKey
- }
- else if (Ebene = 5)
+ else if(Ebene = 5)
SendUnicodeChar(0x03C7) ; chi
- else if (Ebene = 6)
+ else if(Ebene = 6)
SendUnicodeChar(0x2102) ; C (Komplexe Zahlen)
return
neo_w:
EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("c1",0x0175,0x0174)))
+ if(Ebene12 and !(CheckDeadUni12("c1",0x0175,0x0174)))
OutputChar("w","W")
- else if (Ebene = 3)
+ else if(Ebene = 3)
SendUnicodeChar(0x005E) ; Zirkumflex
- else if (Ebene = 4)
+ else if(Ebene = 4)
Send {blind}{Insert} ; Einfg
- else if (Ebene = 5)
+ else if(Ebene = 5)
SendUnicodeChar(0x03C9) ; omega
- else if (Ebene = 6)
+ else if(Ebene = 6)
SendUnicodeChar(0x03A9) ; Omega
return
neo_k:
EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a3",0x0137,0x0136)
+ if(Ebene12 and !(CheckDeadUni12("a3",0x0137,0x0136)
or CheckDeadUni12("c6",0x1E33,0x1E32)))
OutputChar("k","K")
- else if (Ebene = 3)
+ else if(Ebene = 3)
send {blind}{!}
- else if (Ebene = 4)
+ else if(Ebene = 4)
Send
- else if (Ebene = 5)
- SendUnicodeChar(0x03F0) ;kappa symbol (varkappa)
- else if (Ebene = 6)
+ 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)
+ 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
+ else if((Ebene = 3) and !(CheckDeadUni("c5",0x2264))) ; kleiner gleich
send {blind}<
- else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2077)
+ else if((Ebene = 4) and !(CheckDeadUni("c1",0x2077)
or CheckDeadUni("c5",0x2087)))
Send {blind}{NumPad7}
- else if (Ebene = 5)
+ else if(Ebene = 5)
SendUnicodeChar(0x03C8) ; psi
- else if (Ebene = 6)
+ else if(Ebene = 6)
SendUnicodeChar(0x03A8) ; Psi
return
neo_g:
EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a3",0x0123,0x0122)
+ 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)))
- send {blind}> ; grer gleich
- else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2078)
- or CheckDeadUni("c5",0x2088)))
+ else if((Ebene = 3) and !(CheckDeadUni("c5",0x2265))) ; grer gleich
+ send {blind}>
+ else if((Ebene = 4) and !(CheckDeadUni("c1",0x2078)
+ or CheckDeadUni("c5",0x2088)))
Send {blind}{NumPad8}
- else if (Ebene = 5)
+ else if(Ebene = 5)
SendUnicodeChar(0x03B3) ; gamma
- else if (Ebene = 6)
+ else if(Ebene = 6)
SendUnicodeChar(0x0393) ; Gamma
return
neo_f:
EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a4",0x1E1F,0x1E1E)
+ 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) ; ungefhr gleich
- or CheckDeadUni("t4",0x2260))) ; ungleich
+ 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) ; ungefhr gleich
+ or CheckDeadUni("t4",0x2260))) ; ungleich
send {blind}`=
- else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2079)
+ else if((Ebene = 4) and !(CheckDeadUni("c1",0x2079)
or CheckDeadUni("c5",0x2089)))
send {blind}{NumPad9}
- else if (Ebene = 5)
+ else if(Ebene = 5)
SendUnicodeChar(0x03C6) ; phi
- else if (Ebene = 6)
+ else if(Ebene = 6)
SendUnicodeChar(0x03A6) ; Phi
return
neo_q:
EbeneAktualisieren()
- if (Ebene12)
+ if(Ebene12)
OutputChar("q","Q")
- else if (Ebene = 3)
+ else if(Ebene = 3)
send {blind}{&}
- else if ((Ebene = 4) and !(CheckDeadUni("c1",0x207A)
+ else if((Ebene = 4) and !(CheckDeadUni("c1",0x207A)
or CheckDeadUni("c5",0x208A)))
Send {blind}{NumPadAdd}
- else if (Ebene = 5)
+ else if(Ebene = 5)
SendUnicodeChar(0x03D5) ; phi symbol (varphi)
- else if (Ebene = 6)
+ else if(Ebene = 6)
SendUnicodeChar(0x211A) ; Q (rationale Zahlen)
return
neo_sz:
EbeneAktualisieren()
- if (Ebene = 1)
- if (GetKeyState("CapsLock","T"))
+ if(Ebene = 1)
+ if(GetKeyState("CapsLock","T"))
SendUnicodeChar(0x1E9E) ; versal-
else if LangSTastatur
send {blind}s
else
send
- else if (Ebene = 2)
- if (GetKeyState("CapsLock","T"))
+ else if(Ebene = 2)
+ if(GetKeyState("CapsLock","T"))
if LangSTastatur
send {blind}s
else
send
else
SendUnicodeChar(0x1E9E) ; versal-
- else if (Ebene = 3)
+ else if(Ebene = 3)
if LangSTastatur
send
else
SendUnicodeChar(0x017F) ; langes s
- else if (Ebene = 5)
- SendUnicodeChar(0x03C2) ; varsigma
- else if (Ebene = 6)
- SendUnicodeChar(0x2218) ; Verknpfungsoperator
+ else if(Ebene = 5)
+ SendUnicodeChar(0x03C2) ; varsigma
+ else if(Ebene = 6)
+ SendUnicodeChar(0x2218) ; Verknpfungsoperator
return
neo_tot3:
+ noCaps = 1
EbeneAktualisieren()
- if (Ebene = 1)
+ if(Ebene = 1)
{
- deadUni(0x02DC) ; Tilde, tot
+ deadUni(0x02DC) ; Tilde, tot
DeadKey := "t1"
}
- else if (Ebene = 2)
+ else if(Ebene = 2)
{
- deadUni(0x00AF) ; Macron, tot
+ deadUni(0x00AF) ; Macron, tot
DeadKey := "t2"
}
- else if (Ebene = 3)
+ else if(Ebene = 3)
{
- deadUni(0x00A8) ; Direse
+ deadUni(0x00A8) ; Direse
DeadKey := "t3"
}
- else if (Ebene = 4)
+ else if(Ebene = 4)
{
- deadUni(0x002F) ; Schrgstrich, tot
+ deadUni(0x002F) ; Schrgstrich, tot
DeadKey := "t4"
}
- else if (Ebene = 5)
+ else if(Ebene = 5)
{
- deadUni(0x02DD) ; Doppelakut
+ deadUni(0x02DD) ; Doppelakut
DeadKey := "t5"
}
- else if (Ebene = 6)
+ else if(Ebene = 6)
{
- deadUni(0x02CF) ; Komma drunter, tot
+ deadUni(0x02CF) ; Komma drunter, tot
DeadKey := "t6"
}
@@ -1664,7 +1530,7 @@ return
neo_u:
EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a1",0x00FA,0x00DA)
+ if(Ebene12 and !(CheckDeadUni12("a1",0x00FA,0x00DA)
or CheckDeadUni12("a2",0x00F9,0x00D9)
or CheckDeadUni12("a5",0x0173,0x0172)
or CheckDeadUni12("a6",0x016F,0x016E)
@@ -1676,22 +1542,22 @@ neo_u:
or CheckDeadAsc12("t3","","")
or CheckDeadUni12("t5",0x0171,0x0170)))
OutputChar("u","U")
- else if (Ebene = 3)
+ else if(Ebene = 3)
send {blind}\
- else if (Ebene = 4)
+ else if(Ebene = 4)
Send {blind}{Home}
- else if (Ebene = 5) ; leer
+ else if(Ebene = 5) ; leer
{
CompKey := PriorCompKey
DeadKey := PriorDeadKey
}
- else if (Ebene = 6)
+ else if(Ebene = 6)
SendUnicodeChar(0x222E) ; contour integral
return
neo_i:
EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a1",0x00ED,0x00CD)
+ if(Ebene12 and !(CheckDeadUni12("a1",0x00ED,0x00CD)
or CheckDeadUni12("a2",0x00EC,0x00CC)
or CheckDeadUni12("a4",0x012F,0x012E)
or CheckDeadUni12("a5",0x0131,0x0130)
@@ -1702,42 +1568,42 @@ neo_i:
or CheckDeadUni12("t2",0x012B,0x012A)
or CheckDeadAsc12("t3","","")))
OutputChar("i","I")
- else if (Ebene = 3)
+ else if(Ebene = 3)
send {blind}`/
- else if (Ebene = 4)
+ else if(Ebene = 4)
Send {Blind}{Left}
- else if (Ebene = 5)
+ else if(Ebene = 5)
SendUnicodeChar(0x03B9) ; iota
- else if (Ebene = 6)
+ 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","","")))
+ 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)
+ else if(Ebene = 3)
send {blind}{{}
- else if (Ebene = 4)
+ else if(Ebene = 4)
Send {Blind}{Down}
- else if (Ebene = 5)
+ else if(Ebene = 5)
SendUnicodeChar(0x03B1) ; alpha
- else if (Ebene = 6)
+ else if(Ebene = 6)
SendUnicodeChar(0x2200) ; fr alle
return
neo_e:
EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a1",0x00E9,0x00C9)
+ if(Ebene12 and !(CheckDeadUni12("a1",0x00E9,0x00C9)
or CheckDeadUni12("a2",0x00E8,0x00C8)
or CheckDeadUni12("a4",0x0117,0x0116)
or CheckDeadUni12("a5",0x0119,0x0118)
@@ -1751,19 +1617,19 @@ neo_e:
or CheckCompAsc12("o","","")
or CheckCompAsc12("O","","")))
OutputChar("e","E")
- else if (Ebene = 3)
+ else if(Ebene = 3)
send {blind}{}}
- else if (Ebene = 4)
+ else if(Ebene = 4)
Send {Blind}{Right}
- else if (Ebene = 5)
+ else if(Ebene = 5)
SendUnicodeChar(0x03B5) ; epsilon
- else if (Ebene = 6)
+ else if(Ebene = 6)
SendUnicodeChar(0x2203) ; es existiert
return
neo_o:
EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a1",0x00F3,0x00D3)
+ if(Ebene12 and !(CheckDeadUni12("a1",0x00F3,0x00D3)
or CheckDeadUni12("a2",0x00F2,0x00D2)
or CheckDeadUni12("a5",0x01EB,0x01EA)
or CheckDeadUni12("c1",0x00F4,0x00D4)
@@ -1775,102 +1641,102 @@ neo_o:
or CheckDeadUni12("t4",0x00F8,0x00D8)
or CheckDeadUni12("t5",0x0151,0x0150)))
OutputChar("o","O")
- else if (Ebene = 3)
+ else if(Ebene = 3)
send {blind}*
- else if (Ebene = 4)
+ else if(Ebene = 4)
Send {blind}{End}
- else if (Ebene = 5)
+ else if(Ebene = 5)
SendUnicodeChar(0x03BF) ; omicron
- else if (Ebene = 6)
+ else if(Ebene = 6)
SendUnicodeChar(0x2208) ; element of
return
neo_s:
EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a1",0x015B,0x015A)
+ 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(Ebene = 1)
{
if LangSTastatur
- if (GetKeyState("CapsLock","T"))
+ if(GetKeyState("CapsLock","T"))
{
send {blind}s
- if (PriorDeadKey = "comp")
+ if(PriorDeadKey = "comp")
Compkey := "s"
}
else
{
SendUnicodeChar(0x017F) ;langes S
- if (PriorDeadKey = "comp")
+ if(PriorDeadKey = "comp")
CompKey := "lang_s"
}
else
{
send {blind}s
- if (PriorDeadKey = "comp")
+ if(PriorDeadKey = "comp")
CompKey := "s"
}
}
- else if (Ebene = 2)
+ else if(Ebene = 2)
{
if LangSTastatur
- if (GetKeyState("CapsLock","T"))
+ if(GetKeyState("CapsLock","T"))
{
SendUnicodeChar(0x017F) ;langes S
- if (PriorDeadKey = "comp")
+ if(PriorDeadKey = "comp")
CompKey := "lang_s"
}
else
{
send {blind}S
- if (PriorDeadKey = "comp")
+ if(PriorDeadKey = "comp")
CompKey := "s"
}
else
{
send {blind}S
- if (PriorDeadKey = "comp")
+ if(PriorDeadKey = "comp")
CompKey := "S"
}
}
}
- else if (Ebene = 3)
+ else if(Ebene = 3)
send {blind}?
- else if (Ebene = 4)
+ else if(Ebene = 4)
Send
- else if (Ebene = 5)
+ else if(Ebene = 5)
SendUnicodeChar(0x03C3) ;sigma
- else if (Ebene = 6)
+ else if(Ebene = 6)
SendUnicodeChar(0x03A3) ;Sigma
return
neo_n:
EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a1",0x0144,0x0143)
+ 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)
+ else if(Ebene = 3)
send {blind}(
- else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2074)
+ else if((Ebene = 4) and !(CheckDeadUni("c1",0x2074)
or CheckDeadUni("c5",0x2084)))
Send {blind}{NumPad4}
- else if (Ebene = 5)
+ else if(Ebene = 5)
SendUnicodeChar(0x03BD) ; nu
- else if (Ebene = 6)
+ else if(Ebene = 6)
SendUnicodeChar(0x2115) ; N (natrliche Zahlen)
return
neo_r:
EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a1",0x0155,0x0154)
+ if(Ebene12 and !(CheckDeadUni12("a1",0x0155,0x0154)
or CheckDeadUni12("a3",0x0157,0x0156)
or CheckDeadUni12("a4",0x0E59,0x0E58)
or CheckDeadUni12("c2",0x0159,0x0158)
@@ -1878,67 +1744,67 @@ neo_r:
or CheckCompAsc12("o","","")
or CheckCompAsc12("O","","")))
OutputChar("r","R")
- else if (Ebene = 3)
+ else if(Ebene = 3)
send {blind})
- else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2075)
+ else if((Ebene = 4) and !(CheckDeadUni("c1",0x2075)
or CheckDeadUni("c5",0x2085)))
Send {blind}{NumPad5}
- else if (Ebene = 5)
+ else if(Ebene = 5)
SendUnicodeChar(0x03F1) ; rho symbol (varrho)
- else if (Ebene = 6)
+ else if(Ebene = 6)
SendUnicodeChar(0x211D) ; R (reelle Zahlen)
return
neo_t:
EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a3",0x0163,0x0162)
+ 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)
+ else if(Ebene = 3)
send {blind}- ; Bisstrich
- else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2076)
+ else if((Ebene = 4) and !(CheckDeadUni("c1",0x2076)
or CheckDeadUni("c5",0x2086)))
Send {blind}{NumPad6}
- else if (Ebene = 5)
+ else if(Ebene = 5)
SendUnicodeChar(0x03C4) ; tau
- else if (Ebene = 6)
+ else if(Ebene = 6)
SendUnicodeChar(0x2202) ; partielle Ableitung
return
neo_d:
EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a4",0x1E0B,0x1E0A)
+ if(Ebene12 and !(CheckDeadUni12("a4",0x1E0B,0x1E0A)
or CheckDeadUni12("c2",0x010F,0x010E)
or CheckDeadUni12("c5",0x0111,0x0110)
or CheckDeadUni12("c6",0x1E0D,0x1E0C)
or CheckDeadUni12("t4",0x00F0,0x00D0)))
OutputChar("d","D")
- else if (Ebene = 3)
+ else if(Ebene = 3)
send {blind}:
- else if (Ebene = 4)
+ else if(Ebene = 4)
send `,
- else if (Ebene = 5)
+ else if(Ebene = 5)
SendUnicodeChar(0x03B4) ; delta
- else if (Ebene = 6)
+ else if(Ebene = 6)
SendUnicodeChar(0x0394) ; Delta
return
neo_y:
EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a1",0x00FD,0x00DD)
+ if(Ebene12 and !(CheckDeadUni12("a1",0x00FD,0x00DD)
or CheckDeadUni12("c1",0x0177,0x0176)
or CheckDeadAsc12("t3","","")))
OutputChar("y","Y")
- else if (Ebene = 3)
+ else if(Ebene = 3)
send {blind}@
- else if (Ebene = 4)
+ else if(Ebene = 4)
Send {blind}.
- else if (Ebene = 5)
+ else if(Ebene = 5)
SendUnicodeChar(0x03C5) ; upsilon
- else if (Ebene = 6)
+ else if(Ebene = 6)
SendUnicodeChar(0x2207) ; nabla
return
@@ -1950,165 +1816,167 @@ return
neo_:
EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a1",0x01D8,0x01D7)
+ 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)
+ else if(Ebene = 3)
send {#}
- else if (Ebene = 4)
+ else if(Ebene = 4)
Send {blind}{Esc}
- else if (Ebene = 5) ; leer
+ else if(Ebene = 5) ; leer
{
DeadKey := PriorDeadKey
CompKey := PriorCompKey
}
- else if (Ebene = 6)
+ else if(Ebene = 6)
SendUnicodeChar(0x221D) ; proportional
return
neo_:
EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("t2",0x022B,0x022A)))
+ if(Ebene12 and !(CheckDeadUni12("t2",0x022B,0x022A)))
OutputChar("","")
- else if (Ebene = 3)
+ else if(Ebene = 3)
send {blind}$
- else if (Ebene = 4)
+ else if(Ebene = 4)
send {blind}{Tab}
- else if (Ebene = 5)
+ else if(Ebene = 5)
{
DeadKey := PriorDeadKey
CompKey := PriorCompKey
} ; leer
- else if (Ebene = 6)
+ else if(Ebene = 6)
SendUnicodeChar(0x2111) ; Fraktur I
return
neo_:
EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("t2",0x01DF,0x01DE)))
+ if(Ebene12 and !(CheckDeadUni12("t2",0x01DF,0x01DE)))
OutputChar("","")
- else if (Ebene = 3)
+ else if(Ebene = 3)
send {blind}|
- else if (Ebene = 4)
- Send {blind}{PgDn} ; Next
- else if (Ebene = 5)
+ else if(Ebene = 4)
+ Send {blind}{PgDn} ; Next
+ else if(Ebene = 5)
SendUnicodeChar(0x03B7) ; eta
- else if (Ebene = 6)
+ else if(Ebene = 6)
SendUnicodeChar(0x211C) ; Fraktur R
return
neo_p:
EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a4",0x1E57,0x1E56)))
+ if(Ebene12 and !(CheckDeadUni12("a4",0x1E57,0x1E56)))
OutputChar("p","P")
- else if ((Ebene = 3) and !(CheckDeadUni("t1",0x2248)))
+ else if((Ebene = 3) and !(CheckDeadUni("t1",0x2248)))
send {blind}~
- else if (Ebene = 4)
+ else if(Ebene = 4)
Send {blind}{Enter}
- else if (Ebene = 5)
+ else if(Ebene = 5)
SendUnicodeChar(0x03C0) ; pi
- else if (Ebene = 6)
+ else if(Ebene = 6)
SendUnicodeChar(0x03A0) ; Pi
return
neo_z:
EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a1",0x017A,0x0179)
+ 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)
+ else if(Ebene = 3)
+ send ``{space} ; untot
+ else if(Ebene = 4)
{
DeadKey := PriorDeadKey
CompKey := PriorCompKey
} ; leer
- else if (Ebene = 5)
+ else if(Ebene = 5)
SendUnicodeChar(0x03B6) ; zeta
- else if (Ebene = 6)
+ else if(Ebene = 6)
SendUnicodeChar(0x2124) ; Z (ganze Zahlen)
return
neo_b:
EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a4",0x1E03,0x1E02)))
+ if(Ebene12 and !(CheckDeadUni12("a4",0x1E03,0x1E02)))
OutputChar("b","B")
- else if (Ebene = 3)
+ else if(Ebene = 3)
send {blind}{+}
- else if (Ebene = 4)
+ else if(Ebene = 4)
send {blind}:
- else if (Ebene = 5)
+ else if(Ebene = 5)
SendUnicodeChar(0x03B2) ; beta
- else if (Ebene = 6)
+ else if(Ebene = 6)
SendUnicodeChar(0x21D2) ; Doppel-Pfeil rechts
return
neo_m:
EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("a4",0x1E41,0x1E40)
+ if(Ebene12 and !(CheckDeadUni12("a4",0x1E41,0x1E40)
or CheckDeadUni12("c6",0x1E43,0x1E42)
or CheckCompUni12("t",0x2122,0x2122) ; TM
or CheckCompUni12("s",0x2120,0x2120))) ; SM
OutputChar("m","M")
- else if (Ebene = 3)
+ else if(Ebene = 3)
send {blind}`%
- else if ((Ebene = 4) and !(CheckDeadUni("c1",0x00B9)
+ else if((Ebene = 4) and !(CheckDeadUni("c1",0x00B9)
or CheckDeadUni("c5",0x2081)))
Send {blind}{NumPad1}
- else if (Ebene = 5)
+ else if(Ebene = 5)
SendUnicodeChar(0x03BC) ; griechisch mu, micro wre 0x00B5
- else if (Ebene = 6)
+ else if(Ebene = 6)
SendUnicodeChar(0x21D4) ; doppelter Doppelpfeil (genau dann wenn)
return
neo_komma:
+ noCaps = 1
EbeneAktualisieren()
- if (Ebene = 1)
- if (GetKeyState("CapsLock","T"))
+ 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)
+ else if(Ebene = 2)
+ SendUnicodeChar(0x22EE) ; vertikale ellipse
+ else if(Ebene = 3)
send {blind}"
- else if ((Ebene = 4) and !(CheckDeadUni("c1",0x00B2)
+ else if((Ebene = 4) and !(CheckDeadUni("c1",0x00B2)
or CheckDeadUni("c5",0x2082)))
Send {blind}{NumPad2}
- else if (Ebene = 5)
+ else if(Ebene = 5)
SendUnicodeChar(0x03C1) ; rho
- else if (Ebene = 6)
+ else if(Ebene = 6)
SendUnicodeChar(0x21D0) ; Doppelpfeil links
return
neo_punkt:
+ noCaps = 1
EbeneAktualisieren()
- if (Ebene = 1)
- if (GetKeyState("CapsLock","T"))
+ 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)
+ else if(Ebene = 2)
+ SendUnicodeChar(0x2026) ; ellipse
+ else if(Ebene = 3)
send {blind}'
- else if ((Ebene = 4) and !(CheckDeadUni("c1",0x00B3)
+ else if((Ebene = 4) and !(CheckDeadUni("c1",0x00B3)
or CheckDeadUni("c5",0x2083)))
Send {blind}{NumPad3}
- else if (Ebene = 5)
+ else if(Ebene = 5)
SendUnicodeChar(0x03D1) ; theta symbol (vartheta)
- else if (Ebene = 6)
+ else if(Ebene = 6)
SendUnicodeChar(0x0398) ; Theta
return
neo_j:
EbeneAktualisieren()
- if (Ebene12 and !(CheckDeadUni12("c1",0x0135,0x0134)
+ if(Ebene12 and !(CheckDeadUni12("c1",0x0135,0x0134)
or CheckDeadUni12("c2",0x01F0,"")
or CheckCompUni("i",0x0133) ; ij
or CheckCompUni("l",0x01C9) ; lj
@@ -2117,13 +1985,13 @@ neo_j:
or CheckCompUni12("L",0x01C8,0x01C7) ; Lj/LJ
or CheckCompUni12("N",0x01CB,0x01CA))) ; Nj/NJ
OutputChar("j","J")
- else if (Ebene = 3)
+ else if(Ebene = 3)
send {blind}`;
- else if (Ebene = 4)
+ else if(Ebene = 4)
Send {blind}`;
- else if (Ebene = 5)
+ else if(Ebene = 5)
SendUnicodeChar(0x03B8) ; theta
- else if (Ebene = 6)
+ else if(Ebene = 6)
SendUnicodeChar(0x2261) ; identisch
return
@@ -2135,16 +2003,16 @@ return
neo_NumLock:
EbeneAktualisieren()
- if (Ebene = 1)
+ if(Ebene = 1)
send `=
- if (Ebene = 2) ; Funktioniert nicht
+ if(Ebene = 2) ; Funktioniert nicht
{
SetNumLockState
send {NumLock}
}
- if (Ebene = 3)
+ if(Ebene = 3)
SendUnicodeChar(0x2248) ; Fast gleich
- if (Ebene = 4)
+ if(Ebene = 4)
SendUnicodeChar(0x2260) ; Ungleich zu
return
@@ -2152,9 +2020,9 @@ neo_NumpadDiv:
EbeneAktualisieren()
if Ebene14
send {blind}{NumpadDiv}
- else if (Ebene = 2)
- SendUnicodeChar(0x2215) ; Slash
- else if (Ebene = 3)
+ else if(Ebene = 2)
+ SendUnicodeChar(0x2215) ; Slash
+ else if(Ebene = 3)
send {blind}
return
@@ -2162,30 +2030,30 @@ neo_NumpadMult:
EbeneAktualisieren()
if Ebene14
send {blind}{NumpadMult}
- else if (Ebene = 2)
- SendUnicodeChar(0x22C5) ; Cdot
- else if (Ebene = 3)
+ else if(Ebene = 2)
+ SendUnicodeChar(0x22C5) ; Cdot
+ else if(Ebene = 3)
send {blind}
return
neo_NumpadSub:
EbeneAktualisieren()
- if (Ebene14 and !(CheckDeadUni("c1",0x207B)
+ if(Ebene14 and !(CheckDeadUni("c1",0x207B)
or CheckDeadUni("c5",0x208B)))
send {blind}{NumpadSub}
- else if (Ebene = 3)
+ else if(Ebene = 3)
SendUnicodeChar(0x2212) ; Echtes Minus
return
neo_NumpadAdd:
EbeneAktualisieren()
- if (Ebene14 and !(CheckDeadUni("c1",0x207A)
+ if(Ebene14 and !(CheckDeadUni("c1",0x207A)
or CheckDeadUni("c5",0x208A)))
send {blind}{NumpadAdd}
- else if (Ebene = 3)
+ else if(Ebene = 3)
send {blind}
- else if (Ebene = 2)
- SendUnicodeChar(0x2213) ; Inverses
+ else if(Ebene = 2)
+ SendUnicodeChar(0x2213) ; Inverses
return
neo_NumpadEnter:
@@ -2194,20 +2062,20 @@ return
neo_Numpad7:
EbeneAktualisieren()
- if (Ebene = 1)
+ if(Ebene = 1)
{
if NumLock
send {blind}{Numpad7}
else
send {blind){Shift up}{Numpad7}
- if (PriorDeadKey = "comp")
+ if(PriorDeadKey = "comp")
CompKey := "7"
}
- else if (Ebene = 2)
+ else if(Ebene = 2)
SendUnicodeChar(0x2020) ; Kreuz
- else if (Ebene = 3)
+ else if(Ebene = 3)
SendUnicodeChar(0x2195) ; Hoch-Runter-Pfeil
- else if (Ebene = 4)
+ else if(Ebene = 4)
if NumLock
send {blind}{Shift up}{NumpadHome}
else
@@ -2216,7 +2084,7 @@ return
neo_Numpad8:
EbeneAktualisieren()
- if ((Ebene = 1) and !(CheckCompUni("1",0x215B) ; 1/8
+ if((Ebene = 1) and !(CheckCompUni("1",0x215B) ; 1/8
or CheckCompUni("3",0x215C) ; 3/8
or CheckCompUni("5",0x215D) ; 5/8
or CheckCompUni("7",0x215E))) ; 7/8
@@ -2225,14 +2093,14 @@ neo_Numpad8:
send {blind}{Numpad8}
else
send {blind){Shift up}{Numpad8}
- if (PriorDeadKey = "comp")
+ if(PriorDeadKey = "comp")
CompKey := "8"
}
- else if (Ebene = 2)
+ else if(Ebene = 2)
SendUnicodeChar(0x2229) ; Durchschnitt
- else if (Ebene = 3)
+ else if(Ebene = 3)
SendUnicodeChar(0x2191) ; Hochpfeil
- else if (Ebene = 4)
+ else if(Ebene = 4)
if NumLock
send {blind}{Shift up}{NumpadUp}
else
@@ -2241,20 +2109,20 @@ return
neo_Numpad9:
EbeneAktualisieren()
- if (Ebene = 1)
+ if(Ebene = 1)
{
if NumLock
send {blind}{Numpad9}
else
send {blind){Shift up}{Numpad9}
- if (PriorDeadKey = "comp")
+ if(PriorDeadKey = "comp")
CompKey := "9"
}
- else if (Ebene = 2)
+ else if(Ebene = 2)
SendUnicodeChar(0x2297) ; Tensorprodukt / Vektor in die Ebene zeigend
- else if (Ebene = 3)
+ else if(Ebene = 3)
SendUnicodeChar(0x220D) ; Kleines umgekehrtes Elementzeichen
- else if (Ebene = 4)
+ else if(Ebene = 4)
if NumLock
send {blind}{Shift up}{NumpadPgUp}
else
@@ -2263,21 +2131,21 @@ return
neo_Numpad4:
EbeneAktualisieren()
- if ((Ebene = 1) and !(CheckCompUni("1",0x00BC) ; 1/4
+ if((Ebene = 1) and !(CheckCompUni("1",0x00BC) ; 1/4
or CheckCompUni("3",0x00BE))) ; 3/4
{
if NumLock
send {blind}{Numpad4}
else
send {blind){Shift up}{Numpad4}
- if (PriorDeadKey = "comp")
+ if(PriorDeadKey = "comp")
CompKey := "4"
}
- else if (Ebene = 2)
+ else if(Ebene = 2)
SendUnicodeChar(0x2282) ; Teilmenge
- else if (Ebene = 3)
+ else if(Ebene = 3)
SendUnicodeChar(0x2190) ; Linkspfeil
- else if (Ebene = 4)
+ else if(Ebene = 4)
if NumLock
send {blind}{Shift up}{NumpadLeft}
else
@@ -2286,7 +2154,7 @@ return
neo_Numpad5:
EbeneAktualisieren()
- if ((Ebene = 1) and !(CheckCompUni("1",0x2155) ; 1/5
+ if((Ebene = 1) and !(CheckCompUni("1",0x2155) ; 1/5
or CheckCompUni("2",0x2156) ; 2/5
or CheckCompUni("3",0x2157) ; 3/5
or CheckCompUni("4",0x2158))) ; 4/5
@@ -2295,14 +2163,14 @@ neo_Numpad5:
send {blind}{Numpad5}
else
send {blind){Shift up}{Numpad5}
- if (PriorDeadKey = "comp")
+ if(PriorDeadKey = "comp")
CompKey := "5"
}
- else if (Ebene = 3)
+ else if(Ebene = 3)
SendUnicodeChar(0x221E) ; Unendlich
- else if (Ebene = 2)
+ else if(Ebene = 2)
SendUnicodeChar(0x20AC) ; Euro
- else if (Ebene = 4) ; Beg
+ else if(Ebene = 4) ; Beg
if NumLock
send {NumPad5}
else
@@ -2311,21 +2179,21 @@ return
neo_Numpad6:
EbeneAktualisieren()
- if ((Ebene = 1) and !(CheckCompUni("1",0x2159) ; 1/6
+ if((Ebene = 1) and !(CheckCompUni("1",0x2159) ; 1/6
or CheckCompUni("5",0x215a))) ; 5/6
{
if NumLock
send {blind}{Numpad6}
else
send {blind){Shift up}{Numpad6}
- if (PriorDeadKey = "comp")
+ if(PriorDeadKey = "comp")
CompKey := "6"
}
- else if (Ebene = 2)
+ else if(Ebene = 2)
SendUnicodeChar(0x2283) ; Obermenge
- else if (Ebene = 3)
+ else if(Ebene = 3)
SendUnicodeChar(0x2192) ; Rechtspfeil
- else if (Ebene = 4)
+ else if(Ebene = 4)
if NumLock
send {blind}{Shift up}{NumpadRight}
else
@@ -2334,20 +2202,20 @@ return
neo_Numpad1:
EbeneAktualisieren()
- if (Ebene = 1)
+ if(Ebene = 1)
{
if NumLock
send {blind}{Numpad1}
else
send {blind){Shift up}{Numpad1}
- if (PriorDeadKey = "comp")
+ if(PriorDeadKey = "comp")
CompKey := "1"
}
- else if (Ebene = 2)
+ else if(Ebene = 2)
SendUnicodeChar(0x2714) ; Hkchen
- else if (Ebene = 3)
+ else if(Ebene = 3)
SendUnicodeChar(0x2194) ; Links-Rechts-Pfeil
- else if (Ebene = 4)
+ else if(Ebene = 4)
if NumLock
send {blind}{Shift up}{NumpadEnd}
else
@@ -2356,20 +2224,20 @@ return
neo_Numpad2:
EbeneAktualisieren()
- if ((Ebene = 1) and !(CheckCompUni("1",0x00BD))) ; 1/2
+ if((Ebene = 1) and !(CheckCompUni("1",0x00BD))) ; 1/2
{
if NumLock
send {blind}{Numpad2}
else
send {blind){Shift up}{Numpad2}
- if (PriorDeadKey = "comp")
+ if(PriorDeadKey = "comp")
CompKey := "2"
}
- else if (Ebene = 2)
+ else if(Ebene = 2)
SendUnicodeChar(0x222A) ; Vereinigung
- else if (Ebene = 3)
+ else if(Ebene = 3)
SendUnicodeChar(0x2192) ; Untenpfeil
- else if (Ebene = 4)
+ else if(Ebene = 4)
if NumLock
send {blind}{Shift up}{NumpadDown}
else
@@ -2378,21 +2246,21 @@ return
neo_Numpad3:
EbeneAktualisieren()
- if ((Ebene = 1) and !(CheckCompUni("1",0x2153) ; 1/3
+ if((Ebene = 1) and !(CheckCompUni("1",0x2153) ; 1/3
or CheckCompUni("5",0x2154))) ; 2/3
{
if NumLock
send {blind}{Numpad3}
else
send {blind){Shift up}{Numpad3}
- if (PriorDeadKey = "comp")
+ if(PriorDeadKey = "comp")
CompKey := "3"
}
- else if (Ebene = 2)
+ else if(Ebene = 2)
SendUnicodeChar(0x2718) ; Kreuzchen
- else if (Ebene = 3)
+ else if(Ebene = 3)
SendUnicodeChar(0x2192) ; Rechtspfeil
- else if (Ebene = 4)
+ else if(Ebene = 4)
if NumLock
send {blind}{Shift up}{NumpadPgDn}
else
@@ -2401,20 +2269,20 @@ return
neo_Numpad0:
EbeneAktualisieren()
- if (Ebene = 1)
+ if(Ebene = 1)
{
if NumLock
send {blind}{Numpad0}
else
send {blind){Shift up}{Numpad0}
- if (PriorDeadKey = "comp")
+ if(PriorDeadKey = "comp")
CompKey := "0"
}
- else if (Ebene = 2)
+ else if(Ebene = 2)
SendUnicodeChar(0x2030) ; Promille
- else if (Ebene = 3)
+ else if(Ebene = 3)
SendUnicodeChar(0x0025) ; Prozent
- else if (Ebene = 4)
+ else if(Ebene = 4)
if NumLock
send {blind}{Shift up}{NumpadIns}
else
@@ -2423,27 +2291,24 @@ return
neo_NumpadDot:
EbeneAktualisieren()
- if (Ebene = 1)
+ if(Ebene = 1)
{
if NumLock
send {blind}{NumpadDot}
else
send {blind){Shift up}{NumpadDot}
}
- else if (Ebene = 2)
+ else if(Ebene = 2)
send `,
- else if (Ebene = 3)
+ else if(Ebene = 3)
send {blind}.
- else if (Ebene = 4)
+ else if(Ebene = 4)
if NumLock
send {blind}{Shift up}{NumpadDel}
else
send {blind}{NumpadDel}
return
-
-
-
/*
Sondertasten
@@ -2451,16 +2316,16 @@ return
*/
*space::
- if ((einHandNeo))
+ if((einHandNeo))
spacepressed := 1
else
goto neo_SpaceUp
return
*space up::
- if ((einHandNeo))
+ if((einHandNeo))
{
- if ((keypressed))
+ if((keypressed))
{
keypressed := 0
spacepressed := 0
@@ -2476,18 +2341,18 @@ return
neo_SpaceUp:
EbeneAktualisieren()
- if ((Ebene = 1) and !(CheckComp3Uni("r_1",0x2170) ; rmisch i
- or CheckComp3Uni("R_1",0x2160))) ; rmisch I
+ if((Ebene = 1) and !(CheckComp3Uni("r_1",0x2170) ; Rmisch i
+ or CheckComp3Uni("R_1",0x2160))) ; Rmisch I
Send {blind}{Space}
else if ((Ebene = 2) or (Ebene = 3))
Send {blind}{Space}
- else if (Ebene = 4 and !(CheckDeadUni("c1",0x2070)
+ else if(Ebene = 4 and !(CheckDeadUni("c1",0x2070)
or CheckDeadUni("c5",0x2080)))
Send {blind}{NumPad0}
- else if (Ebene = 5)
+ else if(Ebene = 5)
SendUnicodeChar(0x00A0) ; geschtztes Leerzeichen
- else if (Ebene = 6)
- SendUnicodeChar(0x202F) ; schmales Leerzeichen
+ else if(Ebene = 6)
+ SendUnicodeChar(0x202F) ; schmales geschtztes Leerzeichen
DeadKey := "" CompKey := ""
spacepressed := 0
keypressed := 0
@@ -2500,7 +2365,7 @@ return
*/
*Enter::
- if (not(lernModus) or lernModus_std_Return)
+ if(not(lernModus) or lernModus_std_Return)
{
send {Blind}{Enter}
DeadKey := "" CompKey := ""
@@ -2508,31 +2373,29 @@ return
return
*Backspace::
- if (not(lernModus) or lernModus_std_Backspace)
+ if(not(lernModus) or lernModus_std_Backspace)
{
send {Blind}{Backspace}
DeadKey := "" CompKey := ""
}
return
-
*Del::
- if (not(lernModus) or lernModus_std_Entf)
+ if(not(lernModus) or lernModus_std_Entf)
send {Blind}{Del}
return
*Ins::
- if (not(lernModus) or lernModus_std_Einf)
+ if(not(lernModus) or lernModus_std_Einf)
send {Blind}{Ins}
return
-
/*
Auf Mod3+Tab liegt Compose.
*/
neo_tab:
- if (IsMod3Pressed()) ;#
+ if(IsMod3Pressed())
{
DeadKey := "comp"
CompKey := ""
@@ -2546,7 +2409,7 @@ neo_tab:
return
*Home::
- if (not(lernModus) or lernModus_std_Pos1)
+ if(not(lernModus) or lernModus_std_Pos1)
{
send {Blind}{Home}
DeadKey := "" CompKey := ""
@@ -2554,7 +2417,7 @@ return
return
*End::
- if (not(lernModus) or lernModus_std_Ende)
+ if(not(lernModus) or lernModus_std_Ende)
{
send {Blind}{End}
DeadKey := "" CompKey := ""
@@ -2562,7 +2425,7 @@ return
return
*PgUp::
- if (not(lernModus) or lernModus_std_PgUp)
+ if(not(lernModus) or lernModus_std_PgUp)
{
send {Blind}{PgUp}
DeadKey := "" CompKey := ""
@@ -2570,7 +2433,7 @@ return
return
*PgDn::
- if (not(lernModus) or lernModus_std_PgDn)
+ if(not(lernModus) or lernModus_std_PgDn)
{
send {Blind}{PgDn}
DeadKey := "" CompKey := ""
@@ -2578,7 +2441,7 @@ return
return
*Up::
- if (not(lernModus) or lernModus_std_Hoch)
+ if(not(lernModus) or lernModus_std_Hoch)
{
send {Blind}{Up}
DeadKey := "" CompKey := ""
@@ -2586,7 +2449,7 @@ return
return
*Down::
- if (not(lernModus) or lernModus_std_Runter)
+ if(not(lernModus) or lernModus_std_Runter)
{
send {Blind}{Down}
DeadKey := "" CompKey := ""
@@ -2594,7 +2457,7 @@ return
return
*Left::
- if (not(lernModus) or lernModus_std_Links)
+ if(not(lernModus) or lernModus_std_Links)
{
send {Blind}{Left}
DeadKey := "" CompKey := ""
@@ -2602,17 +2465,12 @@ return
return
*Right::
- if (not(lernModus) or lernModus_std_Rechts)
+ if(not(lernModus) or lernModus_std_Rechts)
{
send {Blind}{Right}
DeadKey := "" CompKey := ""
}
return
-
-
-
-
-
/*
------------------------------------------------------
Methode KeyboardLED zur Steuerung der Keyboard-LEDs
@@ -2635,55 +2493,49 @@ return
------------------------------------------------------
*/
-KeyboardLED(LEDvalue, Cmd) ; LEDvalue: ScrollLock=1, NumLock=2, CapsLock=4 ; Cmd = on/off/switch
-{
+KeyboardLED(LEDvalue, Cmd){ ; LEDvalue: ScrollLock=1, NumLock=2, CapsLock=4 ; Cmd = on/off/switch
Static h_device
If ! h_device ; initialise
- {
- device =\Device\KeyBoardClass0
+ {
+ device=\Device\KeyBoardClass0
SetUnicodeStrLED(fn,device)
h_device:=NtCreateFileLED(fn,0+0x00000100+0x00000080+0x00100000,1,1,0x00000040+0x00000020,0)
- }
-
- VarSetCapacity( output_actual, 4, 0 )
- input_size = 4
- VarSetCapacity( input, input_size, 0 )
-
- If Cmd= switch ;switches every LED according to LEDvalue
- KeyLED:= LEDvalue
- If Cmd= on ;forces all choosen LED's to ON (LEDvalue= 0 ->LED's according to keystate)
- KeyLED:= LEDvalue | (GetKeyState("ScrollLock", "T") + 2*GetKeyState("NumLock", "T") + 4*GetKeyState("CapsLock", "T"))
- If Cmd= off ;forces all choosen LED's to OFF (LEDvalue= 0 ->LED's according to keystate)
+ }
+ VarSetCapacity(output_actual,4,0)
+ input_size=4
+ VarSetCapacity(input,input_size,0)
+ If Cmd=switch ;switches every LED according to LEDvalue
+ KeyLED:=LEDvalue
+ If Cmd=on ;forces all choosen LED's to ON (LEDvalue= 0 ->LED's according to keystate)
+ KeyLED:=LEDvalue | (GetKeyState("ScrollLock", "T") + 2*GetKeyState("NumLock", "T") + 4*GetKeyState("CapsLock", "T"))
+ If Cmd=off ;forces all choosen LED's to OFF (LEDvalue= 0 ->LED's according to keystate)
{
- LEDvalue:= LEDvalue ^ 7
- KeyLED:= LEDvalue & (GetKeyState("ScrollLock", "T") + 2*GetKeyState("NumLock", "T") + 4*GetKeyState("CapsLock", "T"))
+ LEDvalue:=LEDvalue ^ 7
+ KeyLED:=LEDvalue & (GetKeyState("ScrollLock","T") + 2*GetKeyState("NumLock","T") + 4*GetKeyState("CapsLock","T"))
}
- ; EncodeIntegerLED( KeyLED, 1, &input, 2 ) ;input bit pattern (KeyLED): bit 0 = scrolllock ;bit 1 = numlock ;bit 2 = capslock
- input := Chr(1) Chr(1) Chr(KeyLED)
- input := Chr(1)
+ ; EncodeIntegerLED(KeyLED,1,&input,2) ;input bit pattern (KeyLED): bit 0 = scrolllock ;bit 1 = numlock ;bit 2 = capslock
+ input:=Chr(1) Chr(1) Chr(KeyLED)
+ input:=Chr(1)
input=
- success := DllCall( "DeviceIoControl"
- , "uint", h_device
- , "uint", CTL_CODE_LED( 0x0000000b ; FILE_DEVICE_KEYBOARD
- , 2
- , 0 ; METHOD_BUFFERED
- , 0 ) ; FILE_ANY_ACCESS
- , "uint", &input
- , "uint", input_size
- , "uint", 0
- , "uint", 0
- , "uint", &output_actual
- , "uint", 0 )
+ success:=DllCall("DeviceIoControl"
+ , "uint", h_device
+ , "uint", CTL_CODE_LED( 0x0000000b ; FILE_DEVICE_KEYBOARD
+ , 2
+ , 0 ; METHOD_BUFFERED
+ , 0 ) ; FILE_ANY_ACCESS
+ , "uint", &input
+ , "uint", input_size
+ , "uint", 0
+ , "uint", 0
+ , "uint", &output_actual
+ , "uint", 0 )
}
-CTL_CODE_LED( p_device_type, p_function, p_method, p_access )
-{
+CTL_CODE_LED(p_device_type,p_function,p_method,p_access ){
Return, ( p_device_type << 16 ) | ( p_access << 14 ) | ( p_function << 2 ) | p_method
}
-
-NtCreateFileLED(ByRef wfilename,desiredaccess,sharemode,createdist,flags,fattribs)
-{
+NtCreateFileLED(ByRef wfilename,desiredaccess,sharemode,createdist,flags,fattribs){
VarSetCapacity(fh,4,0)
VarSetCapacity(objattrib,24,0)
VarSetCapacity(io,8,0)
@@ -2699,23 +2551,19 @@ NtCreateFileLED(ByRef wfilename,desiredaccess,sharemode,createdist,flags,fattrib
return ExtractIntegerLED(fh)
}
-
-SetUnicodeStrLED(ByRef out, str_)
-{
+SetUnicodeStrLED(ByRef out, str_){
VarSetCapacity(st1, 8, 0)
InsertIntegerLED(0x530025, st1)
VarSetCapacity(out, (StrLen(str_)+1)*2, 0)
DllCall("wsprintfW", "str", out, "str", st1, "str", str_, "Cdecl UInt")
}
-
-ExtractIntegerLED(ByRef pSource, pOffset = 0, pIsSigned = false, pSize = 4)
+ExtractIntegerLED(ByRef pSource, pOffset = 0, pIsSigned = false, pSize = 4){
; pSource is a string (buffer) whose memory area contains a raw/binary integer at pOffset.
; The caller should pass true for pSigned to interpret the result as signed vs. unsigned.
; pSize is the size of PSource's integer in bytes (e.g. 4 bytes for a DWORD or Int).
; pSource must be ByRef to avoid corruption during the formal-to-actual copying process
; (since pSource might contain valid data beyond its first binary zero).
-{
Loop %pSize% ; Build the integer by adding up its bytes.
result += *(&pSource + pOffset + A_Index-1) << 8*(A_Index-1)
if (!pIsSigned OR pSize > 4 OR result < 0x80000000)
@@ -2724,11 +2572,9 @@ ExtractIntegerLED(ByRef pSource, pOffset = 0, pIsSigned = false, pSize = 4)
return -(0xFFFFFFFF - result + 1)
}
-
-InsertIntegerLED(pInteger, ByRef pDest, pOffset = 0, pSize = 4)
+InsertIntegerLED(pInteger, ByRef pDest, pOffset = 0, pSize = 4){
; The caller must ensure that pDest has sufficient capacity. To preserve any existing contents in pDest,
; only pSize number of bytes starting at pOffset are altered in it.
-{
Loop %pSize% ; Copy each byte in the integer into the structure as raw binary data.
DllCall("RtlFillMemory", "UInt", &pDest + pOffset + A_Index-1, "UInt", 1, "UChar", pInteger >> 8*(A_Index-1) & 0xFF)
}
@@ -2736,162 +2582,98 @@ InsertIntegerLED(pInteger, ByRef pDest, pOffset = 0, pSize = 4)
-BSSendUnicodeChar(charCode)
-{
- send {bs}
- SendUnicodeChar(charCode)
-}
-
-CompUnicodeChar(charCode)
-{
- send {bs}
- SendUnicodeChar(charCode)
-}
-
-Comp3UnicodeChar(charCode)
-{
- send {bs}{bs}
- SendUnicodeChar(charCode)
-}
-
-deadAsc(val)
-{
+deadAsc(val){
global
- if (DeadSilence)
- {} ; keine Ausgabe
- else
- send % "{blind}" . val
+ if!(DeadSilence)
+ send % val
}
-deadUni(val)
-{
+deadUni(val){
global
- if (DeadSilence)
- {} ; keine Ausgabe
- else
+ if!(DeadSilence)
SendUnicodeChar(val)
}
-undeadAsc(val)
-{
+undeadAsc(val){
global
- if (DeadSilence)
- send % "{blind}" . val
+ if(DeadSilence)
+ send % val
else
- send % "{blind}{bs}" . val
+ send % "{bs}" . val
}
-undeadUni(val)
-{
+undeadUni(val){
global
- if (DeadSilence)
- {} ; keine ausgabe
- else
+ if!(DeadSilence)
send {bs}
- SendUnicodeChar(val)
+ SendUnicodeChar(val)
}
-CheckDeadAsc(d,val)
-{
+CheckDeadAsc(d,val){
global
- if (PriorDeadKey == d)
- {
+ if(PriorDeadKey == d){
undeadAsc(val)
return 1
- }
- else
- return 0
+ }else return 0
}
-CheckDeadUni(d,val)
-{
+CheckDeadUni(d,val){
global
- if (PriorDeadKey == d)
- {
+ if(PriorDeadKey == d){
undeadUni(val)
return 1
- }
- else
- return 0
+ }else return 0
}
-CheckDeadAsc12(d,val1,val2)
-{
+CheckDeadAsc12(d,val1,val2){
global
- if (PriorDeadKey == d)
- {
- if ((Ebene = 1) and (val1 != ""))
- {
+ if(PriorDeadKey == d){
+ if((Ebene = 1) and (val1 != "")){
undeadAsc(val1)
return 1
- }
- else if ((Ebene = 2) and (val2 != ""))
- {
+ }else if((Ebene = 2) and (val2 != "")){
undeadAsc(val2)
return 1
- }
- else
- return 0
- }
- else
- return 0
+ }else return 0
+ }else return 0
}
-CheckDeadUni12(d,val1,val2)
-{
+CheckDeadUni12(d,val1,val2){
global
- if (PriorDeadKey == d)
- {
- if ((Ebene = 1) and (val1 != ""))
- {
+ if(PriorDeadKey == d){
+ if((Ebene = 1) and (val1 != "")){
undeadUni(val1)
return 1
- }
- else if ((Ebene = 2) and (val2 != ""))
- {
+ }else if((Ebene = 2) and (val2 != "")){
undeadUni(val2)
return 1
- }
- else
- return 0
- }
- else
- return 0
+ }else return 0
+ }else return 0
}
-compAsc(val)
-{
+compAsc(val){
global
- if (DeadCompose)
- {} ; keine Ausgabe
- else
- send % "{blind}" . val
+ if!(DeadCompose)
+ send % val
}
-compUni(val)
-{
+compUni(val){
global
- if (DeadCompose)
- {} ; keine Ausgabe
- else
+ if!(DeadCompose)
SendUnicodeChar(val)
}
-uncompAsc(val)
-{
+uncompAsc(val){
global
- if (DeadCompose)
- send % "{blind}" . val
- else
- send % "{blind}{bs}" . val
+ if(DeadCompose)
+ send % val
+ else send % "{bs}" . val
}
uncompUni(val)
{
global
- if (DeadCompose)
- {} ; keine ausgabe
- else
+ if!(DeadCompose)
send {bs}
SendUnicodeChar(val)
}
@@ -2899,192 +2681,125 @@ uncompUni(val)
uncomp3Uni(val)
{
global
- if (DeadCompose)
- {} ; keine ausgabe
- else
+ if!(DeadCompose)
send {bs}{bs}
SendUnicodeChar(val)
}
-CheckCompAsc(d,val)
-{
+CheckCompAsc(d,val){
global
- if (PriorCompKey == d)
- {
+ if(PriorCompKey == d){
uncompAsc(val)
return 1
- }
- else
- return 0
+ }else return 0
}
-CheckCompAsc12(d,val1,val2)
-{
+CheckCompAsc12(d,val1,val2){
global
- if (PriorCompKey == d)
- if ((Ebene = 1) and (val1 != ""))
- {
+ if(PriorCompKey == d)
+ if((Ebene = 1) and (val1 != "")){
uncompAsc(val1)
return 1
- }
- else if ((Ebene = 2) and (val2 != ""))
- {
+ }else if((Ebene = 2) and (val2 != "")){
uncompAsc(val2)
return 1
- }
- else
- return 0
- else
- return 0
+ }else return 0
+ else return 0
}
-CheckCompUni(d,val)
-{
+CheckCompUni(d,val){
global
- if (PriorCompKey == d)
- {
+ if(PriorCompKey == d){
uncompUni(val)
return 1
- }
- else
- return 0
+ }else return 0
}
-CheckCompUni12(d,val1,val2)
-{
+CheckCompUni12(d,val1,val2){
global
- if (PriorCompKey == d)
- {
- if ((Ebene = 1) and (val1 != ""))
- {
+ if(PriorCompKey == d){
+ if ((Ebene = 1) and (val1 != "")){
uncompUni(val1)
return 1
- }
- else if ((Ebene = 2) and (val2 != ""))
- {
+ }else if((Ebene = 2) and (val2 != "")){
uncompUni(val2)
return 1
- }
- else
- return 0
- }
- else
- return 0
+ }else return 0
+ }else return 0
}
-CheckComp3Uni(d,val)
-{
+CheckComp3Uni(d,val){
global
- if (PriorCompKey == d)
- {
+ if(PriorCompKey == d){
uncomp3Uni(val)
return 1
- }
- else
- return 0
+ }else return 0
}
-CheckComp3Uni12(d,val1,val2)
-{
+CheckComp3Uni12(d,val1,val2){
global
- if (PriorCompKey == d)
- {
- if ((Ebene = 1) and (val1 != ""))
- {
+ if(PriorCompKey == d){
+ if((Ebene = 1) and (val1 != "")){
uncomp3Uni(val1)
return 1
- }
- else if ((Ebene = 2) and (val2 != ""))
- {
+ }else if((Ebene = 2) and (val2 != "")){
uncomp3Uni(val2)
return 1
- }
- else
- return 0
- }
- else
- return 0
+ }else return 0
+ }else return 0
}
-outputChar(val1,val2)
-{
+outputChar(val1,val2){
global
- if (Ebene = 1)
+ if(Ebene = 1)
c := val1
else
c := val2
- if GetKeyState("Shift","P") and isMod2Locked
+ if GetKeyState("Shift","P") and isMod2Locked
send % "{blind}{Shift Up}" . c . "{Shift Down}"
else
send % "{blind}" . c
- if (PriorDeadKey = "comp")
+ if(PriorDeadKey = "comp")
CompKey := c
}
+checkComp(d){
+ if(PriorDeadKey = "comp"){
+ CompKey := d
+ return 1
+ }
+}
+
/*
------------------------------------------------------
Methoden zum Senden von Unicode-Zeichen
------------------------------------------------------
-*/
-
-/************************************************************
- Alter Weg Copy/Paste ber die Zwischenablage
-************************************************************/
-
-/*
-Unicode(code)
-{
- saved_clipboard := ClipboardAll
- Transform, Clipboard, Unicode, %code%
- sendplay ^v
- Clipboard := saved_clipboard
-}
-
-BSUnicode(code)
-{
- saved_clipboard := ClipboardAll
- Transform, Clipboard, Unicode, %code%
- sendplay {bs}^v
- Clipboard := saved_clipboard
-}
-*/
-
-
-/************************************************************
- Neuer Weg Benutzung der entsprechenden Win32-API-Methode
-************************************************************/
-
-/*
ber den GTK-Workaround:
Dieser basiert auf http://www.autohotkey.com/forum/topic32947.html
Der Aufruf von SubStr(charCode,3) geht davon aus, dass alle charCodes in Hex mit fhrendem 0x angegeben sind. Die abenteuerliche ^+u-Konstruktion bentigt im brigen den Hex-Wert in Kleinschrift, was derzeit nicht bei den Zeichendefinitionen umgesetzt ist, daher zentral und weniger fehlertrchtig an dieser Stelle. Auerdem ein abschlieend gesendetes Space, sonst bleibt der eingetippte Unicode-Wert noch kurz sichtbar stehen, bevor er sich GTK-sei-dank in das gewnschte Zeichen verwandelt.
*/
-SendUnicodeChar(charCode)
-{
- IfWinActive, ahk_class gdkWindowToplevel
- {
- StringLower, charCode, charCode
- send % "^+u" . SubStr(charCode,3) . " "
- } else {
- VarSetCapacity(ki, 28 * 2, 0)
-
- EncodeInteger(&ki + 0, 1)
- EncodeInteger(&ki + 6, charCode)
- EncodeInteger(&ki + 8, 4)
- EncodeInteger(&ki +28, 1)
- EncodeInteger(&ki +34, charCode)
- EncodeInteger(&ki +36, 4|2)
-
- DllCall("SendInput", "UInt", 2, "UInt", &ki, "Int", 28)
- }
+SendUnicodeChar(charCode){
+ IfWinActive,ahk_class gdkWindowToplevel
+ {
+ StringLower,charCode,charCode
+ send % "^+u" . SubStr(charCode,3) . " "
+ }else{
+ VarSetCapacity(ki,28*2,0)
+ EncodeInteger(&ki+0,1)
+ EncodeInteger(&ki+6,charCode)
+ EncodeInteger(&ki+8,4)
+ EncodeInteger(&ki+28,1)
+ EncodeInteger(&ki+34,charCode)
+ EncodeInteger(&ki+36,4|2)
+ DllCall("SendInput","UInt",2,"UInt",&ki,"Int",28)
+ }
}
-EncodeInteger(ref, val)
-{
- DllCall("ntdll\RtlFillMemoryUlong", "Uint", ref, "Uint", 4, "Uint", val)
+EncodeInteger(ref,val){
+ DllCall("ntdll\RtlFillMemoryUlong","Uint",ref,"Uint",4,"Uint",val)
}
/*
@@ -3092,67 +2807,60 @@ EncodeInteger(ref, val)
BildschirmTastatur
------------------------------------------------------
*/
+
guiErstellt = 0
alwaysOnTop = 1
*F1::
- if (isMod4Pressed() and zeigeBildschirmTastatur)
+ if(isMod4Pressed()&&zeigeBildschirmTastatur)
goto Switch1
- else
- send {blind}{F1}
+ else send {blind}{F1}
return
*F2::
- if (isMod4Pressed() and zeigeBildschirmTastatur)
+ if(isMod4Pressed()&&zeigeBildschirmTastatur)
goto Switch2
- else
- send {blind}{F2}
+ else send {blind}{F2}
return
*F3::
- if (isMod4Pressed() and zeigeBildschirmTastatur)
+ if(isMod4Pressed()&&zeigeBildschirmTastatur)
goto Switch3
- else
- send {blind}{F3}
+ else send {blind}{F3}
return
*F4::
- if (isMod4Pressed() and zeigeBildschirmTastatur)
+ if(isMod4Pressed()&&zeigeBildschirmTastatur)
goto Switch4
- else
- send {blind}{F4}
+ else send {blind}{F4}
return
*F5::
- if (isMod4Pressed() and zeigeBildschirmTastatur)
+ if(isMod4Pressed()&&zeigeBildschirmTastatur)
goto Switch5
- else
- send {blind}{F5}
+ else send {blind}{F5}
return
*F6::
- if (isMod4Pressed() and zeigeBildschirmTastatur)
+ if(isMod4Pressed()&&zeigeBildschirmTastatur)
goto Switch6
- else
- send {blind}{F6}
+ else send {blind}{F6}
return
*F7::
- if (isMod4Pressed() and zeigeBildschirmTastatur)
+ if(isMod4Pressed()&&zeigeBildschirmTastatur)
goto Show
- else
- send {blind}{F7}
+ else send {blind}{F7}
return
*F8::
- if (isMod4Pressed() and zeigeBildschirmTastatur)
+ if(isMod4Pressed()&&zeigeBildschirmTastatur)
goto ToggleAlwaysOnTop
- else
- send {blind}{F8}
+ else send {blind}{F8}
return
Switch1:
- tImage := ResourceFolder . "\ebene1.png"
+ tImage:=ResourceFolder . "\ebene1.png"
goto Switch
Return
diff --git a/windows/autohotkey/neo20.exe b/windows/autohotkey/neo20.exe
index a9941d1..db66de3 100644
--- a/windows/autohotkey/neo20.exe
+++ b/windows/autohotkey/neo20.exe
Binary files differ