summaryrefslogtreecommitdiff
path: root/windows/autohotkey/neo20.ahk
diff options
context:
space:
mode:
Diffstat (limited to 'windows/autohotkey/neo20.ahk')
-rw-r--r--windows/autohotkey/neo20.ahk2002
1 files changed, 855 insertions, 1147 deletions
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 eingerückt 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 für die Bildschirmtastatur in die compilierte EXE-Datei miteingebunden werden? (Nachteil: grössere Dateigrösse, Vorteil: Referenz für Anfänger stets einfach verfügbar)
bildschirmTastaturEinbinden := 1
+; 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 möglicherweise in die EXE eingebundenen Dateien zu extrahieren
- FileInstall, neo.ico, %ResourceFolder%\neo.ico, 1
- FileInstall, neo_disabled.ico, %ResourceFolder%\neo_disabled.ico, 1
- iconBenutzen = 1
- if (bildschirmTastaturEinbinden==1) {
- FileInstall, ebene1.png, %ResourceFolder%\ebene1.png, 1
- FileInstall, ebene2.png, %ResourceFolder%\ebene2.png, 1
- FileInstall, ebene3.png, %ResourceFolder%\ebene3.png, 1
- FileInstall, ebene4.png, %ResourceFolder%\ebene4.png, 1
- FileInstall, ebene5.png, %ResourceFolder%\ebene5.png, 1
- FileInstall, ebene6.png, %ResourceFolder%\ebene6.png, 1
- zeigeBildschirmTastatur = 1
- }
-} else {
- MsgBox, "Das Verzeichnis %ResourceFolder% konnte nicht angelegt werden!" ; Diese Zeile dient nur der eventuellen Fehlersuche und sollte eigentlich niemals auftauchen.
+ 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
+
+/*******************************************
+* Überprüfung auf deutsches Tastaturlayout *
+********************************************
*/
-; 0 = aus, 1 = an
-
-; die Nachfolgenden sind nützlich um sich die Qwertz-Tasten abzugewöhnen, da alle auf der 4. Ebene vorhanden.
-lernModus_std_Return = 0
-lernModus_std_Backspace = 0
-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
-; nützlich 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 eingerückt werden,
- ; msgbox ist trotzdem linksbündig
-SetTitleMatchMode 2
-SendMode Input
-name = Neo 2.0
-enable = Aktiviere %name%
-disable = Deaktiviere %name%
-
-; Überprüfung 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
-
-
-
+/*****************
+* Menüfunktionen *
+******************
+*/
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 nötig.
- `nWenn Autohotkey aktiviert ist, werden alle Tastendrucke
- abgefangen und statt dessen eine Übersetzung weitergeschickt.
- `nDies geschieht transparent für den Anwender,
- es muss nichts installiert werden.
- `nDie Zeichenübersetzung 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 nötig.
+ `nWenn Autohotkey aktiviert ist, werden alle Tastendrucke
+ abgefangen und statt dessen eine Übersetzung weitergeschickt.
+ `nDies geschieht transparent für den Anwender,
+ es muss nichts installiert werden.
+ `nDie Zeichenübersetzung 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 nützlich um sich die Qwertz-Tasten abzugewöhnen, 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
+; nützlich 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) ; römisch xi
- or CheckComp3Uni("R_1",0x216A)) ; römisch XI
- if (GetKeyState("CapsLock","T"))
- send {blind}{Shift down}1{Shift up}
- else if (not(lernModus) or lernModus_std_ZahlenReihe)
- send {blind}1
-
- if (PriorDeadKey = "comp")
- CompKey := "1"
- 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) ; Römisch xi
+ or CheckComp3Uni("R_1",0x216A)) ; Römisch 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) ; römisch ii
- or CheckCompUni("R",0x2161) ; römisch II
- or CheckComp3Uni("r_1",0x217B) ; römisch xii
- or CheckComp3Uni("R_1",0x216B)) ; römisch XII
- if (GetKeyState("CapsLock","T"))
- send {blind}{Shift down}2{Shift up}
- else if (not(lernModus) or lernModus_std_ZahlenReihe)
- send {blind}2
-
- if (PriorDeadKey = "comp")
- CompKey := "2"
- }
- else if (Ebene = 2)
+ if(Ebene = 1){
+ if!(CheckDeadUni("c1",0x00B2) ; Hochgestellte 2
+ or CheckDeadUni("c5",0x2082) ; Tiefgestellte 2
+ or CheckCompUni("r",0x2171) ; Römisch ii
+ or CheckCompUni("R",0x2161) ; Römisch II
+ or CheckComp3Uni("r_1",0x217B) ; Römisch xii
+ or CheckComp3Uni("R_1",0x216B)) ; Römisch XII
+ 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) ; Aufzählungspfeil
- 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) ; römisch iii
- or CheckCompUni("R",0x2162)) ; römisch III
- if (GetKeyState("CapsLock","T"))
- send {blind}{Shift down}3{Shift up}
- else if (not(lernModus) or lernModus_std_ZahlenReihe)
- send {blind}3
-
- if (PriorDeadKey = "comp")
- CompKey := "3"
- }
- else if (Ebene = 2)
- send §
- else if (Ebene = 3)
+ or CheckCompUni("1",0x2153) ; 1/3
+ or CheckCompUni("2",0x2154) ; 2/3
+ or CheckCompUni("r",0x2172) ; Römisch iii
+ or CheckCompUni("R",0x2162)) ; Römisch III
+ 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) ; römisch iv
- or CheckCompUni("R",0x2163)) ; römisch IV
- if (GetKeyState("CapsLock","T"))
- send {blind}{Shift down}4{Shift up}
- else if (not(lernModus) or lernModus_std_ZahlenReihe)
- send {blind}4
-
- if (PriorDeadKey = "comp")
- CompKey := "4"
- }
- else if (Ebene = 2)
+ or CheckCompUni("r",0x2173) ; Römisch iv
+ or CheckCompUni("R",0x2163)) ; Römisch 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) ; römisch v
- or CheckCompUni("R",0x2164)) ; römisch V
- if (GetKeyState("CapsLock","T"))
- send {blind}{Shift down}5{Shift up}
- else if (not(lernModus) or lernModus_std_ZahlenReihe)
- send {blind}5
-
- if (PriorDeadKey = "comp")
- CompKey := "5"
- }
- else if (Ebene = 2)
+ or CheckCompUni("1",0x2155) ; 1/5
+ or CheckCompUni("2",0x2156) ; 2/5
+ or CheckCompUni("3",0x2157) ; 3/5
+ or CheckCompUni("4",0x2158) ; 4/5
+ or CheckCompUni("r",0x2174) ; Römisch v
+ or CheckCompUni("R",0x2164)) ; Römisch V
+ 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) ; römisch vi
- or CheckCompUni("R",0x2165)) ; römisch VI
- if (GetKeyState("CapsLock","T"))
- send {blind}{Shift down}6{Shift up}
- else if (not(lernModus) or lernModus_std_ZahlenReihe)
- send {blind}6
-
- if (PriorDeadKey = "comp")
- CompKey := "6"
- }
- else if (Ebene = 2)
- send €
- else if (Ebene = 3)
+ or CheckCompUni("1",0x2159) ; 1/6
+ or CheckCompUni("5",0x215A) ; 5/6
+ or CheckCompUni("r",0x2175) ; Römisch vi
+ or CheckCompUni("R",0x2165)) ; Römisch VI
+ 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) ; römisch vii
- or CheckCompUni("R",0x2166)) ; römisch VII
- if (GetKeyState("CapsLock","T"))
- send {blind}{Shift down}7{Shift up}
- else if (not(lernModus) or lernModus_std_ZahlenReihe)
- send {blind}7
-
- if (PriorDeadKey = "comp")
- CompKey := "7"
- }
- else if (Ebene = 2)
- send $
- else if (Ebene = 3)
+ or CheckCompUni("r",0x2176) ; Römisch vii
+ or CheckCompUni("R",0x2166)) ; Römisch 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) ; römisch viii
- or CheckCompUni("R",0x2167)) ; römisch VIII
- if (GetKeyState("CapsLock","T"))
- send {blind}{Shift down}8{Shift up}
- else if (not(lernModus) or lernModus_std_ZahlenReihe)
- send {blind}8
-
- if (PriorDeadKey = "comp")
- CompKey := "8"
- }
- else if (Ebene = 2)
- send „
- else if (Ebene = 3)
+ or CheckCompUni("1",0x215B) ; 1/8
+ or CheckCompUni("3",0x215C) ; 3/8
+ or CheckCompUni("5",0x215D) ; 5/8
+ or CheckCompUni("7",0x215E) ; 7/8
+ or CheckCompUni("r",0x2177) ; Römisch viii
+ or CheckCompUni("R",0x2167)) ; Römisch VIII
+ 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) ; römisch ix
- or CheckCompUni("R",0x2168)) ; römisch IX
- if (GetKeyState("CapsLock","T"))
- send {blind}{Shift down}9{Shift up}
- else if (not(lernModus) or lernModus_std_ZahlenReihe)
- send {blind}9
-
- if (PriorDeadKey = "comp")
- CompKey := "9"
- }
- else if (Ebene = 2)
- send “
- else if (Ebene = 3)
+ or CheckCompUni("r",0x2178) ; Römisch ix
+ or CheckCompUni("R",0x2168)) ; Römisch 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 (schließende 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) ; römisch x
- or CheckComp3Uni("R_1",0x2169)) ; römisch X
- if (GetKeyState("CapsLock","T"))
- send {blind}{Shift down}0{Shift up}
- else if (not(lernModus) or lernModus_std_ZahlenReihe)
- send {blind}0
-
- if (PriorDeadKey = "comp")
- CompKey := "0"
- }
- else if (Ebene = 2)
- send ”
- else if (Ebene = 3)
+ if Ebene12{
+ if!(CheckDeadUni("c1",0x2070)
+ or CheckDeadUni("c5",0x2080) ; Römisch x
+ or CheckComp3Uni("R_1",0x2169)) ; Römisch 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) ; geschützter 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 obendrüber
+ }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}> ; größer gleich
- else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2078)
- or CheckDeadUni("c5",0x2088)))
+ else if((Ebene = 3) and !(CheckDeadUni("c5",0x2265))) ; größer gleich
+ send {blind}>
+ else if((Ebene = 4) and !(CheckDeadUni("c1",0x2078)
+ or CheckDeadUni("c5",0x2088)))
Send {blind}{NumPad8}
- else if (Ebene = 5)
+ 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) ; ungefähr 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) ; ungefähr 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) ; Verknüpfungsoperator
+ else if(Ebene = 5)
+ SendUnicodeChar(0x03C2) ; varsigma
+ else if(Ebene = 6)
+ SendUnicodeChar(0x2218) ; Verknüpfungsoperator
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) ; Diärese
+ deadUni(0x00A8) ; Diärese
DeadKey := "t3"
}
- else if (Ebene = 4)
+ else if(Ebene = 4)
{
- deadUni(0x002F) ; Schrägstrich, tot
+ deadUni(0x002F) ; Schrägstrich, 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) ; für 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 (natürliche 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 wäre 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) ; Häkchen
- 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) ; römisch i
- or CheckComp3Uni("R_1",0x2160))) ; römisch I
+ if((Ebene = 1) and !(CheckComp3Uni("r_1",0x2170) ; Römisch i
+ or CheckComp3Uni("R_1",0x2160))) ; Römisch I
Send {blind}{Space}
else if ((Ebene = 2) or (Ebene = 3))
Send {blind}{Space}
- else if (Ebene = 4 and !(CheckDeadUni("c1",0x2070)
+ 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) ; geschütztes Leerzeichen
- else if (Ebene = 6)
- SendUnicodeChar(0x202F) ; schmales Leerzeichen
+ else if(Ebene = 6)
+ SendUnicodeChar(0x202F) ; schmales geschütztes 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 führendem „0x“ angegeben sind. Die abenteuerliche „^+u“-Konstruktion benötigt im Übrigen den Hex-Wert in Kleinschrift, was derzeit nicht bei den Zeichendefinitionen umgesetzt ist, daher zentral und weniger fehlerträchtig an dieser Stelle. Außerdem ein abschließend gesendetes Space, sonst bleibt der „eingetippte“ Unicode-Wert noch kurz sichtbar stehen, bevor er sich GTK-sei-dank in das gewünschte 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