2008-07-02 11:52:30 +00:00
|
|
|
|
/*
|
|
|
|
|
*******************************************
|
2008-07-08 02:16:23 +00:00
|
|
|
|
WICHTIGE WARNUNG:
|
2008-07-02 11:52:30 +00:00
|
|
|
|
|
2008-07-08 02:16:23 +00:00
|
|
|
|
Dies ist inzwischen eine automatisch generierte
|
|
|
|
|
Datei! Sie wird regelm<EFBFBD><EFBFBD>ig <EFBFBD>berschrieben und
|
|
|
|
|
sollte deshalb nicht mehr direkt bearbeitet werden!
|
|
|
|
|
|
|
|
|
|
DIE AUSF<EFBFBD>HRBARE DATEI AKTUALISIEREN:
|
|
|
|
|
|
|
|
|
|
Um die neo20-all-in-one.exe auf den neuesten Stand zu
|
|
|
|
|
bringen, reicht (wenn Autohotkey im Standardverzeichnis
|
|
|
|
|
installiert wurde) ein Doppelklick auf die Batch-Datei
|
|
|
|
|
Build-Update.bat
|
|
|
|
|
|
|
|
|
|
HINWEISE F<EFBFBD>R AHK-ENTWICKLER:
|
|
|
|
|
|
|
|
|
|
Anstatt dieser Datei m<EFBFBD>ssen die Dateien/Module im
|
2008-07-02 11:52:30 +00:00
|
|
|
|
Source-Unterverzeichnis bearbeitet werden, etwa:
|
2008-07-08 02:16:23 +00:00
|
|
|
|
Source\Changelog-and-Todo.ahk
|
|
|
|
|
Source\Keys-Neo.ahk
|
|
|
|
|
Source\Keys-Qwert-to-Neo.ahk
|
|
|
|
|
Source\Methods-Layers.ahk
|
|
|
|
|
Source\Methods-Lights.ahk
|
|
|
|
|
|
|
|
|
|
Um die gemachten <EFBFBD>nderungen zu testen, sollte die Datei
|
|
|
|
|
Source\All.ahk
|
|
|
|
|
verwendet werden, die alle Module einbindet und
|
|
|
|
|
regul<EFBFBD>r durch einen Doppelklick mit dem AHK-Interpreter
|
|
|
|
|
gestartet werden kann.
|
|
|
|
|
|
|
|
|
|
Der grosse Vorteil dieser Methode liegt daran, dass sich die
|
|
|
|
|
Zeilennummern eventueller Fehlermeldungen nicht mehr auf
|
|
|
|
|
die grosse "vereinigte" AHK-Datei, sondern auf die tats<EFBFBD>ch-
|
|
|
|
|
lich relevanten Module beziehen, z.B.:
|
|
|
|
|
|
|
|
|
|
Error at line 64 in #include file "C:\...\autohotkey\Source\Methods-Lights.ahk"
|
|
|
|
|
Line Text: CTL_CODE_LED(p_device_type, p_function, p_method, p_access)
|
|
|
|
|
Error: Functions cannot contain functions.
|
|
|
|
|
The programm will exit.
|
|
|
|
|
|
|
|
|
|
AHK-LINKS
|
|
|
|
|
|
|
|
|
|
Eine kurze Einf<EFBFBD>hrung (Installation und Beispielscipt) findet man etwa auf
|
|
|
|
|
http://www.kikizas.net/en/usbapps.ahk.html
|
|
|
|
|
|
|
|
|
|
Eine alphabetische Liste aller erlaubten Kommandos findet man online unter
|
|
|
|
|
http://www.autohotkey.com/docs/commands.htm
|
|
|
|
|
|
2008-07-02 11:52:30 +00:00
|
|
|
|
|
|
|
|
|
*******************************************
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
/*
|
2008-07-25 06:46:11 +00:00
|
|
|
|
*************************************
|
|
|
|
|
* NEO 2.0 (beta) Autohotkey-Treiber *
|
|
|
|
|
*************************************
|
|
|
|
|
Autoren:
|
|
|
|
|
Stefan Mayer <stm (at) neo-layout. o r g>
|
|
|
|
|
Nora Geissler <nora_geissler (at) yahoo. d e>
|
|
|
|
|
Matthias Berg <neo (at) matthias-berg. e u>
|
|
|
|
|
...
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
*********
|
|
|
|
|
* TODO: *
|
|
|
|
|
*********
|
|
|
|
|
- Die Bildschirmtastatur mit Mod4 hat den Mod4-Lock deaktiviert!
|
|
|
|
|
- Auf der 6. Ebene von 2 und 3 werden noch immer Delta und Nabla gesendet, aber nicht die logischen Symbole UND und ODER (wie in der Referenz); siehe hierzu auch http://de.autohotkey.com/forum/post-26040.html
|
|
|
|
|
- send und send{blind} durch SendUnicodeChar ersetzen (aus Performance-Gr<EFBFBD>nden jedoch nicht a-z, A-Z, 0-9)
|
|
|
|
|
- Compose vollst<EFBFBD>ndig implementieren (Welche Methode ist hierzu am besten geeignet?)
|
|
|
|
|
- ausgiebig testen... (besonders Vollst<EFBFBD>ndigkeit bei Deadkeys)
|
|
|
|
|
- Bessere L<EFBFBD>sung f<EFBFBD>r das Leeren von PriorDeadKey finden, damit die Sondertasten nicht mehr abgefangen werden m<EFBFBD>ssen.
|
|
|
|
|
- Testen, ob die Capslockl<EFBFBD>sung (siehe *1:: ebene 1) auch f<EFBFBD>r Numpad gebraucht wird
|
|
|
|
|
- Die Ebenen vom Tastenblock an die neue Referenz anpassen (wenn da ein Konsens gefunden wurde)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
**********
|
|
|
|
|
* IDEEN: *
|
|
|
|
|
**********
|
|
|
|
|
- Tastatur-Reset: mod4+escape (oder ev. ein anderer Hotkey) soll die Tastatur wieder in den Normalzustand versetzen (d.h. alle Ebenen unlocken und Einhand, Lang-s oder Sonstwelche-Modi deaktivieren)
|
|
|
|
|
- Die Varianten (lernModus, einHandNeo, Lang-s-Tastatur, Qwertz/pausieren) sollten einheitlich (de-)aktiviert werden, etwa <EFBFBD>ber Mod4 F9-F12
|
|
|
|
|
- bei Ebene 4 rechte Hand (Numpad) z.B. Numpad5 statt 5 senden
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
******************
|
|
|
|
|
* CHANGEHISTORY: *
|
|
|
|
|
******************
|
|
|
|
|
Revision 687 (von Dennis Heidsiek):
|
|
|
|
|
- Die SendUnicodeChar-Methode um den GDK-Workarround von Matthias W<EFBFBD>chter erg<EFBFBD>nzt
|
|
|
|
|
- (An/Aus) Icons an Favicon der neuen Homepage angepasst
|
|
|
|
|
Revision 645 (von Martin Roppelt):
|
|
|
|
|
- Ellipse zus<EFBFBD>tzlich auf M3+x;
|
|
|
|
|
- Lang-s-Tastatur probeweise auf M4+Esc
|
|
|
|
|
Revision 640 (von Dennis Heidsiek):
|
|
|
|
|
- Der untote Zirkumflex (^) auf Ebene 3 funktioniert jetzt auch in Java-Programmen
|
|
|
|
|
Revision 639 (von Martin Roppelt):
|
|
|
|
|
- Lang-s-Tastatur kann nicht mehr durch einen Hotkey aktiviert werden
|
|
|
|
|
Revision 629 (von Martin Roppelt):
|
|
|
|
|
- Spitze Klammern (bra und ket) testweise auf M5+8/9
|
|
|
|
|
Revision 624 (von Martin Roppelt):
|
|
|
|
|
- Lang-s-Tastatur (ein- und auszuschalten durch Mod4+<EFBFBD>)
|
|
|
|
|
Revision 616 (von Dennis Heidsiek):
|
|
|
|
|
- Der nicht funktionierende Mod5-Lock-Fix wurde wieder entfernt, da er sogar neue Fehler produzierte.
|
|
|
|
|
Revision 615 (von Dennis Heidsiek):
|
|
|
|
|
- Erfolgloser Versuch, den Mod4-Lock wiederherzustellen (durch eine Tilde vor den Scancodes der Bildschirmtastatur).
|
|
|
|
|
- Rechtschreibfehler korrigiert.
|
|
|
|
|
- Zwei AHK-Links eingef<EFBFBD>gt.
|
|
|
|
|
Revision 609 (von Dennis Heidsiek):
|
|
|
|
|
- Vorl<EFBFBD>ufiger Abschluss der AHK-Modularisierung.
|
|
|
|
|
- Bessere Testm<EFBFBD>glichkeit <EFBFBD>All.ahk<EFBFBD> f<EFBFBD>r AHK-Entwickler hinzugef<EFBFBD>gt, bei der sich die Zeilenangaben in Fehlermeldungen auf die tats<EFBFBD>chlichen Module und nicht auf das gro<EFBFBD>e <EFBFBD>vereinigte<EFBFBD> Skript beziehen.
|
|
|
|
|
Revision 608 (von Martin Roppelt):
|
|
|
|
|
- Rechtschreibfehler korrigiert und Dateinamen aktualisiert und sortiert.
|
|
|
|
|
Revision 590 (von Dennis Heidsiek):
|
|
|
|
|
- Erste technische Vorarbeiten zur logischen Modularisierung des viel zu lange gewordenen AHK-Quellcodes.
|
|
|
|
|
- Neue Batch-Datei Build-Update.bat zur einfachen Aktualisierung der EXE-Datei
|
|
|
|
|
Revision 583 (von Dennis Heidsiek):
|
|
|
|
|
- Kleinere Korrekturen (Mod3+Numpad5, Mod5+Numpad5 und Mod3+Numpad9 stimmen wieder mit der Referenz <EFBFBD>berein).
|
|
|
|
|
Revision 580 (von Matthias Berg):
|
|
|
|
|
- Bildschirmtastatur jetzt mit Mod4+F* statt Strg+F*, dies deaktiviert jedoch leider den Mod4-Lock
|
|
|
|
|
Revision 570 (von Matthias Berg):
|
|
|
|
|
- Hotkeys f<EFBFBD>r einHandNeo und lernModus durch entsprechende ScanCodes ersetzt
|
|
|
|
|
Revision 568 (von Matthias Berg):
|
|
|
|
|
- Sonderzeichen, Umlaute, z und y durch ScanCodes ersetzt
|
|
|
|
|
* jetzt wird auch bei eingestelltem US Layout Neo verwendet. (z.B. f<EFBFBD>r Chinesische InputMethodEditors)
|
|
|
|
|
* rechter Mod3 geht noch nicht bei US Layout (weder ScanCode noch "\")
|
|
|
|
|
Revision 567 (von Dennis Heidsiek):
|
|
|
|
|
- Aktivierter Mod4 Lock wird jetzt <EFBFBD>ber die Rollen-LED des Keybord angezeigt (analog zu CapsLock), die NUM-LED beh<EFBFBD>lt ihr bisheriges Verhalten
|
|
|
|
|
- Neue Option im Skript: UseMod4Light
|
|
|
|
|
Revision 561 (von Matthias Berg):
|
|
|
|
|
- Ebene 4 Tab verh<EFBFBD>lt sich jetzt wie das andere Tab dank "goto neo_tab"
|
|
|
|
|
Revision 560 (von Dennis Heidsiek):
|
|
|
|
|
- Neue Option im Skript: bildschirmTastaturEinbinden bindet die PNG-Bilder der Bildschirmtastur mit in die exe-Datei ein, so dass sich der Benutzer nur eine Datei herunterladen muss
|
|
|
|
|
Revision 559 (von Matthias Berg):
|
|
|
|
|
- Shift+Alt+Tab Problem gel<EFBFBD>st (muss noch mehr auf Nebeneffekte getestet werden)
|
|
|
|
|
Revision 558 (von Matthias Berg):
|
|
|
|
|
- Icon-Bug behoben
|
|
|
|
|
* Hotkeys d<EFBFBD>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<EFBFBD>lle eingebaut (Verst<EFBFBD>ndlichkeit, m<EFBFBD>gliche Compilerprobleme vermeiden)
|
|
|
|
|
Revision 556 (von Matthias Berg):
|
|
|
|
|
- lernModus (an/aus mit Strg+Komma)
|
|
|
|
|
* im Skript konfigurierbar
|
|
|
|
|
* Schaltet z.B. Qwertz Tasten aus, die es auf der 4. Ebene gibt (Return, Backspace,...)
|
|
|
|
|
* Kann auch Backspace und/oder Entfernen der 4. Ebene ausschalten (gut zum Lernen richtig zu schreiben)
|
|
|
|
|
- Bug aufgetaucht: Icons werden nicht mehr angezeigt
|
|
|
|
|
Revision 544 (von Stefan Mayer):
|
|
|
|
|
- ,.:; auf dem Mod4-Ziffernblock an die aktuelle Referenz angepasst
|
|
|
|
|
- Versionen von rho, theta, kappa und phi an die aktuelle Referenz angepasst
|
|
|
|
|
Revision 542 (von Matthias Berg):
|
|
|
|
|
- bei EinHandNeo ist jetzt Space+y auch Mod4
|
|
|
|
|
- AltGr-Bug hoffentlich wieder behoben. Diesmal mit extra altGrPressed Variable
|
|
|
|
|
- nurEbenenFuenfUndSechs umbenannt in ahkTreiberKombi und auf Ebene 4 statt 5 und 6 ge<EFBFBD>ndert
|
|
|
|
|
Revision 540 (von Matthias Berg):
|
|
|
|
|
- stark <EFBFBD>berarbeitet um Wartbarkeit zu erh<EFBFBD>hen und Redundanz zu veringern
|
|
|
|
|
- nurEbenenFuenfUndSechs sollte nun auch auf Neo Treiber statt Qwertz laufen
|
|
|
|
|
* aber es muss noch jemand testen
|
|
|
|
|
* Problem: was kann man abfangen, wenn eine tote Taste gedr<EFBFBD>ckt wird
|
|
|
|
|
- einHandNeo:
|
|
|
|
|
* An-/Ausschalten mit STRG+Punkt
|
|
|
|
|
* Buchstaben der rechten Hand werden mit Space zur linken Hand
|
|
|
|
|
* Nebeneffekt: es gibt beim Festhalten von Space keine wiederholten Leerzeichen mehr
|
|
|
|
|
Revision 532 (von Matthias Berg):
|
|
|
|
|
- BildschirmTastatur
|
|
|
|
|
* aktiviert mit strg+F1 bis 7 schaltet Keyboard ein oder aus
|
|
|
|
|
* strg+F7 zeigt die zuletzt angezeigte Ebene an (und wieder aus).
|
|
|
|
|
* strg+F8 schaltet AlwaysOnTop um
|
|
|
|
|
Revision 529 (von Stefan Mayer):
|
|
|
|
|
- Icon wird automatisch geladen, falls .ico-Dateien im selbem Ordner
|
|
|
|
|
- in der .exe sind die .ico mitgespeichert und werden geladen
|
|
|
|
|
Revision 528 (von Matthias Berg):
|
|
|
|
|
- Neo-Icon
|
|
|
|
|
- Neo-Prozess jetzt automatisch auf hoher Prioritaet
|
|
|
|
|
(siehe globale Schalter)
|
|
|
|
|
- Mod3-Lock (nur wenn rechtes Mod3 zuerst gedr<EFBFBD>ckt wird, andere L<EFBFBD>sung f<EFBFBD>hrte zum Caps-Bug)
|
|
|
|
|
- Mod4-Lock (nur wenn das linke Mod4 zuerst gedr<EFBFBD>ckt wird, andere L<EFBFBD>sung f<EFBFBD>hte zum AltGr-Bug)
|
|
|
|
|
- Ein paar falsche Zeichen korrigiert
|
|
|
|
|
Revision 527 (von Matthias Berg):
|
|
|
|
|
- AltGr Problem hoffentlich behoben
|
|
|
|
|
- Umschalt+Mod4 Bug behoben
|
|
|
|
|
Revision 526 (von Matthias Berg):
|
|
|
|
|
- Ebenen 1 bis 4 ausschalten per Umschalter siehe erste Codezeile nurEbenenFuenfUndSechs = 0
|
|
|
|
|
- Mod4-Lock durch Mod4+Mod4
|
|
|
|
|
- EbenenAktualisierung neu geschrieben
|
|
|
|
|
- Ebene 6 <EFBFBD>ber Mod3+Mod4
|
|
|
|
|
- Ebenen (besonders Matheebene) an Referenz angepasst (allerdings kaum um Ebenen 1&2 gek<EFBFBD>mmert, besonders Compose k<EFBFBD>nnte noch <EFBFBD>berholt werden)
|
|
|
|
|
Revision 525 (von Matthias Berg):
|
|
|
|
|
- Capslock bei Zahlen und Sonderzeichen ber<EFBFBD>cksichtigt
|
|
|
|
|
Revision 524 (von Matthias Berg):
|
|
|
|
|
- umgekehrtes ^ f<EFBFBD>r o, a, <EFBFBD>,i sowie f<EFBFBD>r die grossen vokale ( 3. ton chinesisch)
|
|
|
|
|
<EFBFBD> damit wird jetzt PinYin vollst<EFBFBD>ndig unterst<EFBFBD>tzt caron, macron, akut, grave auf uiaeo<EFBFBD>
|
|
|
|
|
- Sonderzeichen senden wieder blind -> Shortcuts funktionieren, Capslock ist leider Shiftlock
|
|
|
|
|
Revision 523 (von Matthias Berg):
|
|
|
|
|
- CapsLock geht jetzt auch bei allen Zeichen ('send Zeichen' statt 'send {blind} Zeichen')
|
|
|
|
|
- vertikale Ellipse eingebaut
|
|
|
|
|
- Umschalt+Umschalt f<EFBFBD>r Capslock statt Mod3+Mod3
|
|
|
|
|
- bei Suspend wird jetzt wirklich togglesuspend aufgerufen (auch beim aktivieren per shift+pause)
|
|
|
|
|
Revsion 490 (von Stefan Mayer):
|
|
|
|
|
- SUBSCRIPT von 0 bis 9 sowie (auf Ziffernblock) + und -
|
|
|
|
|
<EFBFBD> auch bei Ziffernblock auf der 5. Ebene
|
|
|
|
|
- Kein Parsen <EFBFBD>ber die Zwischenablage mehr
|
|
|
|
|
- Vista-kompatibel
|
|
|
|
|
- Compose-Taste
|
|
|
|
|
<EFBFBD> Br<EFBFBD>che (auf Zahlenreihe und Hardware-Ziffernblock)
|
|
|
|
|
<EFBFBD> r<EFBFBD>mische Zahlen
|
|
|
|
|
<EFBFBD> Ligaturen und Copyright
|
2008-07-02 11:52:30 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-06 11:41:19 +00:00
|
|
|
|
*/
|
|
|
|
|
|
2008-06-14 11:43:05 +00:00
|
|
|
|
|
2008-07-02 14:06:46 +00:00
|
|
|
|
|
2008-07-25 06:46:11 +00:00
|
|
|
|
|
2008-06-14 11:43:05 +00:00
|
|
|
|
/******************
|
|
|
|
|
Globale Schalter *
|
2008-06-22 01:27:36 +00:00
|
|
|
|
*******************
|
2008-06-14 12:48:46 +00:00
|
|
|
|
*/
|
2008-06-22 01:27:36 +00:00
|
|
|
|
|
|
|
|
|
; Im folgenden gilt (soweit nicht anders angegeben) Ja = 1, Nein = 0:
|
2008-07-25 06:46:11 +00:00
|
|
|
|
|
|
|
|
|
ahkTreiberKombi := 0 ; Sollen Ebenen 1-4 ignoriert werden (kann z.B. vom dll Treiber <20>bernommen werden)?
|
2008-07-08 21:22:57 +00:00
|
|
|
|
einHandNeo := 0 ; Soll der Treiber im Einhandmodus betrieben werden?
|
|
|
|
|
lernModus := 0 ; Soll der Lernmodus aktiviert werden?
|
2008-07-25 06:46:11 +00:00
|
|
|
|
bildschirmTastaturEinbinden := 1 ; Sollen die Bilder f<>r die Bildschirmtastatur in die EXE-Datei miteingebunden werden?
|
|
|
|
|
; (Nachteil: gr<67>ssere Dateigr<67>sse, Vorteil: Referenz f<>r Anf<6E>nger stets einfach verf<72>gbar)
|
|
|
|
|
UseMod4Light := 1 ; Aktivierter Mod4-Lock wird <20>ber die Rollen-LED des Keybord angezeigt (analog zu CapsLock)
|
|
|
|
|
LangSTastatur := 0 ; Sollen Lang-s auf s, s auf <20> und <20> auf <20>(3) gelegt werden?
|
|
|
|
|
#Include *i %a_scriptdir%\LangSTastaturStandardm<EFBFBD><EFBFBD>igEingeschaltet.ahk
|
|
|
|
|
#Include *i %a_scriptdir%\source\LangSTastaturStandardm<EFBFBD><EFBFBD>igEingeschaltet.ahk
|
|
|
|
|
; Wenn diese Datei vorhanden ist und die Zeichenfolge <20>LangSTastatur := 1<> enth<74>lt,
|
|
|
|
|
; ist die LangSTastatur beim Starten der ahk/exe-Datei automatisch eingeschaltet.
|
2008-06-18 23:26:43 +00:00
|
|
|
|
|
2008-07-25 06:46:11 +00:00
|
|
|
|
Process,Priority,,High
|
2008-06-18 23:26:43 +00:00
|
|
|
|
|
2008-06-22 01:27:36 +00:00
|
|
|
|
|
|
|
|
|
/*************************
|
|
|
|
|
Recourcen-Verwaltung *
|
|
|
|
|
**************************
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
; Versuche zuerst, eventuell in die EXE eingebundenen Dateien zu extrahieren
|
|
|
|
|
FileInstall, neo.ico, neo.ico, 1
|
|
|
|
|
FileInstall, neo_disabled.ico, neo_disabled.ico, 1
|
|
|
|
|
|
2008-07-25 06:46:11 +00:00
|
|
|
|
if (bildschirmTastaturEinbinden==1) {
|
2008-06-22 01:27:36 +00:00
|
|
|
|
FileInstall, ebene1.png, ebene1.png, 1
|
|
|
|
|
FileInstall, ebene2.png, ebene2.png, 1
|
|
|
|
|
FileInstall, ebene3.png, ebene3.png, 1
|
|
|
|
|
FileInstall, ebene4.png, ebene4.png, 1
|
|
|
|
|
FileInstall, ebene5.png, ebene5.png, 1
|
|
|
|
|
FileInstall, ebene6.png, ebene6.png, 1
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
; Benutze die Dateien (soweit sie vorhanden sind)
|
2008-06-16 17:29:58 +00:00
|
|
|
|
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") )
|
2008-06-14 21:24:20 +00:00
|
|
|
|
iconBenutzen = 1
|
2008-06-14 20:31:51 +00:00
|
|
|
|
|
2008-06-21 19:27:39 +00:00
|
|
|
|
|
|
|
|
|
/*************************
|
|
|
|
|
lernModus Konfiguration *
|
|
|
|
|
nur relevant wenn *
|
|
|
|
|
lernModus = 1 *
|
2008-06-24 12:12:18 +00:00
|
|
|
|
Strg+Komma schaltet um *
|
2008-06-21 19:27:39 +00:00
|
|
|
|
**************************
|
|
|
|
|
*/
|
|
|
|
|
; 0 = aus, 1 = an
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
; die Nachfolgenden sind n<>tzlich um sich die Qwertz-Tasten abzugew<65>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
|
2008-06-22 00:21:54 +00:00
|
|
|
|
lernModus_std_Pos0 = 0
|
2008-06-21 19:27:39 +00:00
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
|
2008-06-14 21:24:20 +00:00
|
|
|
|
|
2008-06-14 11:43:05 +00:00
|
|
|
|
|
2008-05-06 11:41:19 +00:00
|
|
|
|
; aus Noras script kopiert:
|
|
|
|
|
#usehook on
|
|
|
|
|
#singleinstance force
|
|
|
|
|
#LTrim
|
|
|
|
|
; Quelltext kann einger<65>ckt werden,
|
|
|
|
|
; msgbox ist trotzdem linksb<73>ndig
|
|
|
|
|
|
|
|
|
|
SetTitleMatchMode 2
|
2008-07-02 14:06:46 +00:00
|
|
|
|
SendMode Input
|
2008-05-06 11:41:19 +00:00
|
|
|
|
|
|
|
|
|
name = Neo 2.0
|
|
|
|
|
enable = Aktiviere %name%
|
|
|
|
|
disable = Deaktiviere %name%
|
|
|
|
|
|
|
|
|
|
; <20>berpr<70>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
|
|
|
|
|
{
|
|
|
|
|
suspend
|
|
|
|
|
regread, inputlocale, HKEY_LOCAL_MACHINE
|
|
|
|
|
, SYSTEM\CurrentControlSet\Control\Keyboard Layouts\%inputlocale%
|
|
|
|
|
, Layout Text
|
|
|
|
|
msgbox, 48, Warnung!,
|
|
|
|
|
(
|
|
|
|
|
Nicht kompatibles Tastaturlayout:
|
|
|
|
|
`t%inputlocale%
|
|
|
|
|
`nDas deutsche QWERTZ muss als Standardlayout eingestellt
|
|
|
|
|
sein, damit %name% wie erwartet funktioniert.
|
|
|
|
|
`n<EFBFBD>ndern Sie die Tastatureinstellung unter
|
|
|
|
|
`tSystemsteuerung
|
|
|
|
|
`t-> Regions- und Sprachoptionen
|
|
|
|
|
`t-> Sprachen
|
|
|
|
|
`t-> Details... `n
|
|
|
|
|
)
|
|
|
|
|
exitapp
|
|
|
|
|
}
|
|
|
|
|
|
2008-07-02 14:06:46 +00:00
|
|
|
|
|
|
|
|
|
|
2008-05-06 11:41:19 +00:00
|
|
|
|
; Men<65> des Systray-Icons
|
|
|
|
|
; ----------------------
|
|
|
|
|
|
2008-06-14 20:31:51 +00:00
|
|
|
|
if (iconBenutzen)
|
|
|
|
|
menu, tray, icon, neo.ico,,1
|
2008-05-06 11:41:19 +00:00
|
|
|
|
menu, tray, nostandard
|
|
|
|
|
menu, tray, add, <EFBFBD>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
|
2008-06-10 20:35:23 +00:00
|
|
|
|
menu, tray, add, Hilfe, :helpmenu
|
2008-05-06 11:41:19 +00:00
|
|
|
|
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
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
Ebene = 1
|
|
|
|
|
PriorDeadKey := ""
|
|
|
|
|
|
|
|
|
|
|
2008-06-18 23:26:43 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
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_<EFBFBD>
|
|
|
|
|
gespiegelt_punkt = neo_<EFBFBD>
|
|
|
|
|
gespiegelt_j = neo_<EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-07-02 14:06:46 +00:00
|
|
|
|
|
2008-05-06 11:41:19 +00:00
|
|
|
|
/*
|
|
|
|
|
------------------------------------------------------
|
|
|
|
|
Modifier
|
|
|
|
|
------------------------------------------------------
|
|
|
|
|
*/
|
|
|
|
|
|
2008-06-10 20:35:23 +00:00
|
|
|
|
|
|
|
|
|
; CapsLock durch Umschalt+Umschalt
|
2008-06-14 20:31:51 +00:00
|
|
|
|
;*CapsLock::return ; Nichts machen beim Capslock release event (weil es Mod3 ist)
|
2008-06-11 17:08:16 +00:00
|
|
|
|
|
2008-06-25 02:33:50 +00:00
|
|
|
|
*#::return ; Nichts machen beim # release event (weil es Mod3 ist) ; # = SC02B
|
2008-06-10 20:35:23 +00:00
|
|
|
|
|
|
|
|
|
;RShift wenn vorher LShift gedr<64>ckt wurde
|
2008-07-02 14:06:46 +00:00
|
|
|
|
LShift & ~RShift::
|
2008-06-10 20:35:23 +00:00
|
|
|
|
if GetKeyState("CapsLock","T")
|
|
|
|
|
{
|
|
|
|
|
setcapslockstate, off
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
setcapslockstate, on
|
|
|
|
|
}
|
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
;LShift wenn vorher RShift gedr<64>ckt wurde
|
|
|
|
|
RShift & ~LShift::
|
2008-05-06 11:41:19 +00:00
|
|
|
|
if GetKeyState("CapsLock","T")
|
|
|
|
|
{
|
|
|
|
|
setcapslockstate, off
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
setcapslockstate, on
|
|
|
|
|
}
|
|
|
|
|
return
|
|
|
|
|
|
2008-06-14 11:43:05 +00:00
|
|
|
|
; Mod4-Lock durch Mod4+Mod4
|
|
|
|
|
IsMod4Locked := 0
|
|
|
|
|
< & *SC138::
|
|
|
|
|
if (IsMod4Locked)
|
|
|
|
|
{
|
2008-07-08 21:22:57 +00:00
|
|
|
|
MsgBox Mod4-Feststellung aufgebehoben
|
2008-06-14 11:43:05 +00:00
|
|
|
|
IsMod4Locked = 0
|
2008-07-08 21:22:57 +00:00
|
|
|
|
if (UseMod4Light==1)
|
|
|
|
|
{
|
2008-06-24 12:12:18 +00:00
|
|
|
|
KeyboardLED(1,"off")
|
|
|
|
|
}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
2008-07-08 21:22:57 +00:00
|
|
|
|
MsgBox Mod4 festgestellt: Um Mod4 wieder zu l<EFBFBD>sen dr<EFBFBD>cke beide Mod4 Tasten gleichzeitig
|
2008-06-14 11:43:05 +00:00
|
|
|
|
IsMod4Locked = 1
|
2008-07-08 21:22:57 +00:00
|
|
|
|
if (UseMod4Light==1)
|
|
|
|
|
{
|
2008-06-24 12:12:18 +00:00
|
|
|
|
KeyboardLED(1,"on")
|
|
|
|
|
}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
}
|
|
|
|
|
return
|
2008-07-08 21:22:57 +00:00
|
|
|
|
|
2008-06-19 09:24:55 +00:00
|
|
|
|
*SC138::
|
|
|
|
|
altGrPressed := 1
|
|
|
|
|
return ; Damit AltGr nicht extra etwas schickt und als stiller Modifier geht.
|
|
|
|
|
*SC138 up::
|
|
|
|
|
altGrPressed := 0
|
|
|
|
|
return
|
2008-06-14 12:48:46 +00:00
|
|
|
|
|
2008-07-08 21:22:57 +00:00
|
|
|
|
; das folgende wird seltsamerweise nicht gebraucht :) oder f<>hrt zum AltGr Bug; Umschalt+<2B> (Mod4) Zeigt <20>
|
2008-06-14 11:43:05 +00:00
|
|
|
|
SC138 & *<::
|
|
|
|
|
if (IsMod4Locked)
|
|
|
|
|
{
|
|
|
|
|
MsgBox Mod4-Feststellung aufgebehoben
|
|
|
|
|
IsMod4Locked = 0
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
MsgBox Mod4 festgestellt: Um Mod4 wieder zu l<EFBFBD>sen dr<EFBFBD>cke beide Mod4 Tasten gleichzeitig
|
|
|
|
|
IsMod4Locked = 1
|
|
|
|
|
}
|
|
|
|
|
return
|
2008-07-08 21:22:57 +00:00
|
|
|
|
|
2008-06-14 20:31:51 +00:00
|
|
|
|
|
|
|
|
|
; Mod3-Lock durch Mod3+Mod3
|
|
|
|
|
IsMod3Locked := 0
|
2008-06-25 02:33:50 +00:00
|
|
|
|
SC02B & *Capslock:: ; #
|
2008-06-14 20:31:51 +00:00
|
|
|
|
if (IsMod3Locked)
|
|
|
|
|
{
|
|
|
|
|
MsgBox Mod3-Feststellung aufgebehoben
|
|
|
|
|
IsMod3Locked = 0
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
MsgBox Mod3 festgestellt: Um Mod3 wieder zu l<EFBFBD>sen dr<EFBFBD>cke beide Mod3 Tasten gleichzeitig
|
|
|
|
|
IsMod3Locked = 1
|
|
|
|
|
}
|
|
|
|
|
return
|
|
|
|
|
|
2008-06-24 12:12:18 +00:00
|
|
|
|
|
2008-06-14 20:31:51 +00:00
|
|
|
|
*Capslock:: return
|
2008-06-24 12:12:18 +00:00
|
|
|
|
;Capslock::MsgBox hallo
|
2008-06-14 20:31:51 +00:00
|
|
|
|
/*
|
2008-06-25 02:33:50 +00:00
|
|
|
|
Capslock & *:
|
2008-06-14 20:31:51 +00:00
|
|
|
|
if (IsMod3Locked)
|
|
|
|
|
{
|
|
|
|
|
MsgBox Mod3-Feststellung aufgebehoben
|
|
|
|
|
IsMod3Locked = 0
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
MsgBox Mod3 festgestellt: Um Mod3 wieder zu l<EFBFBD>sen dr<EFBFBD>cke beide Mod3 Tasten gleichzeitig
|
|
|
|
|
IsMod3Locked = 1
|
|
|
|
|
}
|
|
|
|
|
return
|
2008-06-14 11:43:05 +00:00
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
; Wird nicht mehr gebraucht weil jetzt auf b (bzw. *n::)
|
2008-05-06 11:41:19 +00:00
|
|
|
|
; KP_Decimal durch Mod4+Mod4
|
|
|
|
|
*<::
|
|
|
|
|
*SC138::
|
|
|
|
|
if GetKeyState("<","P") and GetKeyState("SC138","P")
|
|
|
|
|
{
|
|
|
|
|
send {numpaddot}
|
|
|
|
|
}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
*/
|
2008-06-18 23:26:43 +00:00
|
|
|
|
|
2008-07-02 14:06:46 +00:00
|
|
|
|
|
|
|
|
|
|
2008-06-18 23:26:43 +00:00
|
|
|
|
/*
|
|
|
|
|
------------------------------------------------------
|
|
|
|
|
QWERTZ->Neo umwandlung
|
|
|
|
|
------------------------------------------------------
|
|
|
|
|
*/
|
|
|
|
|
; Reihe 1
|
2008-06-25 02:33:50 +00:00
|
|
|
|
*SC029::goto neo_tot1 ; Zirkumflex ^
|
2008-06-18 23:26:43 +00:00
|
|
|
|
*1::goto neo_1
|
|
|
|
|
*2::goto neo_2
|
|
|
|
|
*3::goto neo_3
|
|
|
|
|
*4::goto neo_4
|
|
|
|
|
*5::goto neo_5
|
|
|
|
|
*6::goto neo_6
|
|
|
|
|
*7::
|
|
|
|
|
if( not(einHandNeo) or not(spacepressed) )
|
|
|
|
|
goto neo_7
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
keypressed := 1
|
|
|
|
|
goto %gespiegelt_7%
|
|
|
|
|
}
|
|
|
|
|
return
|
|
|
|
|
*8::
|
|
|
|
|
if( not(einHandNeo) or not(spacepressed) )
|
|
|
|
|
goto neo_8
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
keypressed := 1
|
|
|
|
|
goto %gespiegelt_8%
|
|
|
|
|
}
|
|
|
|
|
return
|
|
|
|
|
*9::
|
|
|
|
|
if( not(einHandNeo) or not(spacepressed) )
|
|
|
|
|
goto neo_9
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
keypressed := 1
|
|
|
|
|
goto %gespiegelt_9%
|
|
|
|
|
}
|
|
|
|
|
return
|
|
|
|
|
*0::
|
|
|
|
|
if( not(einHandNeo) or not(spacepressed) )
|
|
|
|
|
goto neo_0
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
keypressed := 1
|
|
|
|
|
goto %gespiegelt_0%
|
|
|
|
|
}
|
|
|
|
|
return
|
2008-06-25 02:33:50 +00:00
|
|
|
|
*SC00C:: ; <20>
|
2008-06-19 09:24:55 +00:00
|
|
|
|
if ( not(ahkTreiberKombi) )
|
2008-06-18 23:26:43 +00:00
|
|
|
|
{
|
|
|
|
|
if( not(einHandNeo) or not(spacepressed) )
|
|
|
|
|
goto neo_strich
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
keypressed := 1
|
|
|
|
|
goto %gespiegelt_strich%
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
goto neo_sz
|
|
|
|
|
}
|
2008-07-08 21:22:57 +00:00
|
|
|
|
*SC00D::goto neo_tot2 ; Akut
|
2008-06-18 23:26:43 +00:00
|
|
|
|
; Reihe 2
|
|
|
|
|
*Tab::goto neo_tab
|
|
|
|
|
*q::
|
2008-06-19 09:24:55 +00:00
|
|
|
|
if ( not(ahkTreiberKombi) )
|
2008-06-18 23:26:43 +00:00
|
|
|
|
{
|
|
|
|
|
goto neo_x
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
goto neo_q
|
|
|
|
|
}
|
|
|
|
|
*w::
|
2008-06-19 09:24:55 +00:00
|
|
|
|
if ( not(ahkTreiberKombi) )
|
2008-06-18 23:26:43 +00:00
|
|
|
|
{
|
2008-07-02 14:06:46 +00:00
|
|
|
|
goto neo_v
|
2008-06-18 23:26:43 +00:00
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
goto neo_w
|
|
|
|
|
}
|
|
|
|
|
*e::
|
2008-06-19 09:24:55 +00:00
|
|
|
|
if ( not(ahkTreiberKombi) )
|
2008-06-18 23:26:43 +00:00
|
|
|
|
{
|
2008-07-02 14:06:46 +00:00
|
|
|
|
goto neo_l
|
2008-06-18 23:26:43 +00:00
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
goto neo_e
|
|
|
|
|
}
|
|
|
|
|
*r::
|
2008-06-19 09:24:55 +00:00
|
|
|
|
if ( not(ahkTreiberKombi) )
|
2008-06-18 23:26:43 +00:00
|
|
|
|
{
|
|
|
|
|
goto neo_c
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
goto neo_r
|
|
|
|
|
}
|
|
|
|
|
*t::
|
2008-06-19 09:24:55 +00:00
|
|
|
|
if ( not(ahkTreiberKombi) )
|
2008-06-18 23:26:43 +00:00
|
|
|
|
{
|
|
|
|
|
goto neo_w
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
goto neo_t
|
|
|
|
|
}
|
2008-06-25 02:33:50 +00:00
|
|
|
|
*SC015:: ; z
|
2008-06-19 09:24:55 +00:00
|
|
|
|
if ( not(ahkTreiberKombi) )
|
2008-06-18 23:26:43 +00:00
|
|
|
|
{
|
|
|
|
|
if( not(einHandNeo) or not(spacepressed) )
|
|
|
|
|
goto neo_k
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
keypressed := 1
|
|
|
|
|
goto %gespiegelt_k%
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
goto neo_z
|
|
|
|
|
}
|
|
|
|
|
*u::
|
2008-06-19 09:24:55 +00:00
|
|
|
|
if ( not(ahkTreiberKombi) )
|
2008-06-18 23:26:43 +00:00
|
|
|
|
{
|
|
|
|
|
if( not(einHandNeo) or not(spacepressed) )
|
|
|
|
|
goto neo_h
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
keypressed := 1
|
|
|
|
|
goto %gespiegelt_h%
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
goto neo_u
|
|
|
|
|
}
|
|
|
|
|
*i::
|
2008-06-19 09:24:55 +00:00
|
|
|
|
if ( not(ahkTreiberKombi) )
|
2008-06-18 23:26:43 +00:00
|
|
|
|
{
|
|
|
|
|
if( not(einHandNeo) or not(spacepressed) )
|
|
|
|
|
goto neo_g
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
keypressed := 1
|
|
|
|
|
goto %gespiegelt_g%
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
goto neo_i
|
|
|
|
|
}
|
|
|
|
|
*o::
|
2008-06-19 09:24:55 +00:00
|
|
|
|
if ( not(ahkTreiberKombi) )
|
2008-06-18 23:26:43 +00:00
|
|
|
|
{
|
|
|
|
|
if( not(einHandNeo) or not(spacepressed) )
|
|
|
|
|
goto neo_f
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
keypressed := 1
|
|
|
|
|
goto %gespiegelt_f%
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
goto neo_o
|
|
|
|
|
}
|
|
|
|
|
*p::
|
2008-06-19 09:24:55 +00:00
|
|
|
|
if ( not(ahkTreiberKombi) )
|
2008-06-18 23:26:43 +00:00
|
|
|
|
{
|
|
|
|
|
if( not(einHandNeo) or not(spacepressed) )
|
|
|
|
|
goto neo_q
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
keypressed := 1
|
|
|
|
|
goto %gespiegelt_q%
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
goto neo_p
|
|
|
|
|
}
|
2008-06-25 02:33:50 +00:00
|
|
|
|
*SC01A:: ; <20>
|
2008-06-19 09:24:55 +00:00
|
|
|
|
if ( not(ahkTreiberKombi) )
|
2008-06-18 23:26:43 +00:00
|
|
|
|
{
|
|
|
|
|
if( not(einHandNeo) or not(spacepressed) )
|
|
|
|
|
goto neo_sz
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
keypressed := 1
|
|
|
|
|
goto %gespiegelt_sz%
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
goto neo_<EFBFBD>
|
|
|
|
|
}
|
2008-06-25 02:33:50 +00:00
|
|
|
|
*SC01B:: ; +
|
2008-06-19 09:24:55 +00:00
|
|
|
|
if ( not(ahkTreiberKombi) )
|
2008-06-18 23:26:43 +00:00
|
|
|
|
{
|
|
|
|
|
if( not(einHandNeo) or not(spacepressed) )
|
|
|
|
|
goto neo_tot3
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
keypressed := 1
|
|
|
|
|
goto %gespiegelt_tot3%
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{ } ; this should never happen
|
|
|
|
|
; Reihe 3
|
|
|
|
|
*a::
|
2008-06-19 09:24:55 +00:00
|
|
|
|
if ( not(ahkTreiberKombi) )
|
2008-06-18 23:26:43 +00:00
|
|
|
|
{
|
|
|
|
|
goto neo_u
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
goto neo_a
|
|
|
|
|
}
|
|
|
|
|
*s::
|
2008-06-19 09:24:55 +00:00
|
|
|
|
if ( not(ahkTreiberKombi) )
|
2008-06-18 23:26:43 +00:00
|
|
|
|
{
|
|
|
|
|
goto neo_i
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
goto neo_s
|
|
|
|
|
}
|
|
|
|
|
*d::goto neo_a
|
2008-06-19 09:24:55 +00:00
|
|
|
|
if ( not(ahkTreiberKombi) )
|
2008-06-18 23:26:43 +00:00
|
|
|
|
{
|
|
|
|
|
goto neo_a
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
goto neo_d
|
|
|
|
|
}
|
|
|
|
|
*f::
|
2008-06-19 09:24:55 +00:00
|
|
|
|
if ( not(ahkTreiberKombi) )
|
2008-06-18 23:26:43 +00:00
|
|
|
|
{
|
|
|
|
|
goto neo_e
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
goto neo_f
|
|
|
|
|
}
|
|
|
|
|
*g::
|
2008-06-19 09:24:55 +00:00
|
|
|
|
if ( not(ahkTreiberKombi) )
|
2008-06-18 23:26:43 +00:00
|
|
|
|
{
|
|
|
|
|
goto neo_o
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
goto neo_g
|
|
|
|
|
}
|
|
|
|
|
*h::
|
2008-06-19 09:24:55 +00:00
|
|
|
|
if ( not(ahkTreiberKombi) )
|
2008-06-18 23:26:43 +00:00
|
|
|
|
{
|
|
|
|
|
if( not(einHandNeo) or not(spacepressed) )
|
|
|
|
|
goto neo_s
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
keypressed := 1
|
|
|
|
|
goto %gespiegelt_s%
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
goto neo_h
|
|
|
|
|
}
|
|
|
|
|
*j::
|
2008-06-19 09:24:55 +00:00
|
|
|
|
if ( not(ahkTreiberKombi) )
|
2008-06-18 23:26:43 +00:00
|
|
|
|
{
|
|
|
|
|
if( not(einHandNeo) or not(spacepressed) )
|
|
|
|
|
goto neo_n
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
keypressed := 1
|
|
|
|
|
goto %gespiegelt_n%
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
goto neo_j
|
|
|
|
|
}
|
|
|
|
|
*k::
|
2008-06-19 09:24:55 +00:00
|
|
|
|
if ( not(ahkTreiberKombi) )
|
2008-06-18 23:26:43 +00:00
|
|
|
|
{
|
|
|
|
|
if( not(einHandNeo) or not(spacepressed) )
|
|
|
|
|
goto neo_r
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
keypressed := 1
|
|
|
|
|
goto %gespiegelt_r%
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
goto neo_k
|
|
|
|
|
}
|
|
|
|
|
*l::
|
2008-06-19 09:24:55 +00:00
|
|
|
|
if ( not(ahkTreiberKombi) )
|
2008-06-18 23:26:43 +00:00
|
|
|
|
{
|
|
|
|
|
if( not(einHandNeo) or not(spacepressed) )
|
|
|
|
|
goto neo_t
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
keypressed := 1
|
|
|
|
|
goto %gespiegelt_t%
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
goto neo_l
|
|
|
|
|
}
|
2008-06-25 02:33:50 +00:00
|
|
|
|
*SC027:: ; <20>
|
2008-06-19 09:24:55 +00:00
|
|
|
|
if ( not(ahkTreiberKombi) )
|
2008-06-18 23:26:43 +00:00
|
|
|
|
{
|
|
|
|
|
if( not(einHandNeo) or not(spacepressed) )
|
|
|
|
|
goto neo_d
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
keypressed := 1
|
|
|
|
|
goto %gespiegelt_d%
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
goto neo_<EFBFBD>
|
|
|
|
|
}
|
2008-06-25 02:33:50 +00:00
|
|
|
|
*SC028:: ; <20>
|
2008-06-19 09:24:55 +00:00
|
|
|
|
if ( not(ahkTreiberKombi) )
|
2008-06-18 23:26:43 +00:00
|
|
|
|
{
|
|
|
|
|
goto neo_y
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
goto neo_<EFBFBD>
|
|
|
|
|
}
|
|
|
|
|
; Reihe 4
|
2008-06-25 02:33:50 +00:00
|
|
|
|
*SC02C:: ; y
|
2008-06-19 09:24:55 +00:00
|
|
|
|
if ( not(ahkTreiberKombi) )
|
2008-06-18 23:26:43 +00:00
|
|
|
|
{
|
|
|
|
|
goto neo_<EFBFBD>
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
goto neo_y
|
|
|
|
|
}
|
|
|
|
|
*x::
|
2008-06-19 09:24:55 +00:00
|
|
|
|
if ( not(ahkTreiberKombi) )
|
2008-06-18 23:26:43 +00:00
|
|
|
|
{
|
|
|
|
|
goto neo_<EFBFBD>
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
goto neo_x
|
|
|
|
|
}
|
|
|
|
|
*c::
|
2008-06-19 09:24:55 +00:00
|
|
|
|
if ( not(ahkTreiberKombi) )
|
2008-06-18 23:26:43 +00:00
|
|
|
|
{
|
|
|
|
|
goto neo_<EFBFBD>
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
goto neo_c
|
|
|
|
|
}
|
|
|
|
|
*v::
|
2008-06-19 09:24:55 +00:00
|
|
|
|
if ( not(ahkTreiberKombi) )
|
2008-06-18 23:26:43 +00:00
|
|
|
|
{
|
|
|
|
|
goto neo_p
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
goto neo_v
|
|
|
|
|
}
|
|
|
|
|
*b::
|
2008-06-19 09:24:55 +00:00
|
|
|
|
if ( not(ahkTreiberKombi) )
|
2008-06-18 23:26:43 +00:00
|
|
|
|
{
|
|
|
|
|
goto neo_z
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
goto neo_b
|
|
|
|
|
}
|
|
|
|
|
*n::
|
2008-06-19 09:24:55 +00:00
|
|
|
|
if ( not(ahkTreiberKombi) )
|
2008-06-18 23:26:43 +00:00
|
|
|
|
{
|
|
|
|
|
if( not(einHandNeo) or not(spacepressed) )
|
|
|
|
|
goto neo_b
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
keypressed := 1
|
|
|
|
|
goto %gespiegelt_b%
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
goto neo_n
|
|
|
|
|
}
|
|
|
|
|
*m::
|
|
|
|
|
if( not(einHandNeo) or not(spacepressed) )
|
|
|
|
|
goto neo_m
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
keypressed := 1
|
|
|
|
|
goto %gespiegelt_m%
|
|
|
|
|
}
|
|
|
|
|
return
|
2008-06-25 02:33:50 +00:00
|
|
|
|
*SC033:: ; Komma ,
|
2008-06-18 23:26:43 +00:00
|
|
|
|
if( not(einHandNeo) or not(spacepressed) )
|
|
|
|
|
goto neo_komma
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
keypressed := 1
|
|
|
|
|
goto %gespiegelt_komma%
|
|
|
|
|
}
|
|
|
|
|
return
|
2008-06-25 02:33:50 +00:00
|
|
|
|
*SC034:: ; Punkt .
|
2008-06-18 23:26:43 +00:00
|
|
|
|
if( not(einHandNeo) or not(spacepressed) )
|
|
|
|
|
goto neo_punkt
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
keypressed := 1
|
|
|
|
|
goto %gespiegelt_punkt%
|
|
|
|
|
}
|
|
|
|
|
return
|
2008-06-25 02:33:50 +00:00
|
|
|
|
*SC035:: ; Minus -
|
2008-06-19 09:24:55 +00:00
|
|
|
|
if ( not(ahkTreiberKombi) )
|
2008-06-18 23:26:43 +00:00
|
|
|
|
{
|
|
|
|
|
if( not(einHandNeo) or not(spacepressed) )
|
|
|
|
|
goto neo_j
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
keypressed := 1
|
|
|
|
|
goto %gespiegelt_j%
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
goto neo_strich
|
|
|
|
|
}
|
|
|
|
|
; Numpad
|
|
|
|
|
*NumpadDiv::goto neo_NumpadDiv
|
|
|
|
|
*NumpadMult::goto neo_NumpadMult
|
|
|
|
|
*NumpadSub::goto neo_NumpadSub
|
|
|
|
|
*NumpadAdd::goto neo_NumpadAdd
|
|
|
|
|
*NumpadEnter::goto neo_NumpadEnter
|
|
|
|
|
*Numpad7::goto neo_Numpad7
|
|
|
|
|
*Numpad8::goto neo_Numpad8
|
|
|
|
|
*Numpad9::goto neo_Numpad9
|
|
|
|
|
*Numpad4::goto neo_Numpad4
|
|
|
|
|
*Numpad5::goto neo_Numpad5
|
|
|
|
|
*Numpad6::goto neo_Numpad6
|
|
|
|
|
*Numpad1::goto neo_Numpad1
|
|
|
|
|
*Numpad2::goto neo_Numpad2
|
|
|
|
|
*Numpad3::goto neo_Numpad3
|
|
|
|
|
*Numpad0::goto neo_Numpad0
|
|
|
|
|
*NumpadDot::goto neo_NumpadDot
|
|
|
|
|
*NumpadHome::goto neo_NumpadHome
|
|
|
|
|
*NumpadUp::goto neo_NumpadUp
|
|
|
|
|
*NumpadPgUp::goto neo_NumpadPgUp
|
|
|
|
|
*NumpadLeft::goto neo_NumpadLeft
|
|
|
|
|
*NumpadClear::goto neo_NumpadClear
|
|
|
|
|
*NumpadRight::goto neo_NumpadRight
|
|
|
|
|
*NumpadEnd::goto neo_NumpadEnd
|
|
|
|
|
*NumpadDown::goto neo_NumpadDown
|
|
|
|
|
*NumpadPgDn::goto neo_NumpadPgDn
|
|
|
|
|
*NumpadIns::goto neo_NumpadIns
|
|
|
|
|
*NumpadDel::goto neo_NumpadDel
|
|
|
|
|
|
2008-07-02 14:06:46 +00:00
|
|
|
|
|
|
|
|
|
|
2008-05-06 11:41:19 +00:00
|
|
|
|
/*
|
2008-07-02 14:06:46 +00:00
|
|
|
|
Die eigentliche NEO-Belegung und der Hauptteil des AHK-Treibers.
|
|
|
|
|
|
|
|
|
|
|
2008-05-06 11:41:19 +00:00
|
|
|
|
Ablauf bei toten Tasten:
|
|
|
|
|
1. Ebene Aktualisieren
|
|
|
|
|
2. Abh<EFBFBD>ngig von der Variablen "Ebene" Zeichen ausgeben und die Variable "PriorDeadKey" setzen
|
|
|
|
|
|
2008-07-08 21:22:57 +00:00
|
|
|
|
Ablauf bei "untoten" Tasten:
|
2008-05-06 11:41:19 +00:00
|
|
|
|
1. Ebene Aktualisieren
|
|
|
|
|
2. Abh<EFBFBD>ngig von den Variablen "Ebene" und "PriorDeadKey" Zeichen ausgeben
|
|
|
|
|
3. "PriorDeadKey" mit leerem String <EFBFBD>berschreiben
|
|
|
|
|
|
|
|
|
|
------------------------------------------------------
|
|
|
|
|
Reihe 1
|
|
|
|
|
------------------------------------------------------
|
|
|
|
|
*/
|
2008-06-18 23:26:43 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
neo_tot1:
|
2008-05-06 11:41:19 +00:00
|
|
|
|
EbeneAktualisieren()
|
|
|
|
|
if Ebene = 1
|
|
|
|
|
{
|
|
|
|
|
SendUnicodeChar(0x02C6) ; circumflex, tot
|
|
|
|
|
PriorDeadKey := "c1"
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 2
|
|
|
|
|
{
|
2008-07-08 21:22:57 +00:00
|
|
|
|
SendUnicodeChar(0x02C7) ; caron, tot
|
2008-05-06 11:41:19 +00:00
|
|
|
|
PriorDeadKey := "c2"
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 3
|
|
|
|
|
{
|
2008-07-08 21:22:57 +00:00
|
|
|
|
SendUnicodeChar(0x02D8) ; brevis
|
2008-05-06 11:41:19 +00:00
|
|
|
|
PriorDeadKey := "c3"
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 4
|
|
|
|
|
{
|
2008-07-08 21:22:57 +00:00
|
|
|
|
SendUnicodeChar(0x00B7) ; Mittenpunkt, tot
|
2008-07-25 06:46:11 +00:00
|
|
|
|
PriorDeadKey := "c4"
|
2008-05-06 11:41:19 +00:00
|
|
|
|
}
|
|
|
|
|
else if Ebene = 5
|
|
|
|
|
{
|
2008-07-08 21:22:57 +00:00
|
|
|
|
send - ; querstrich, tot
|
2008-07-25 06:46:11 +00:00
|
|
|
|
PriorDeadKey := "c5"
|
2008-05-06 11:41:19 +00:00
|
|
|
|
}
|
|
|
|
|
else if Ebene = 6
|
|
|
|
|
{
|
2008-07-08 21:22:57 +00:00
|
|
|
|
Send . ; punkt darunter (colon)
|
2008-05-06 11:41:19 +00:00
|
|
|
|
PriorDeadKey := "c6"
|
|
|
|
|
}
|
|
|
|
|
return
|
|
|
|
|
|
2008-06-18 23:26:43 +00:00
|
|
|
|
neo_1:
|
2008-05-06 11:41:19 +00:00
|
|
|
|
EbeneAktualisieren()
|
|
|
|
|
if Ebene = 1
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "c1") ; circumflex 1
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x00B9)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "c5") ; toter -
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x2081)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (CompKey = "r_small_1")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
Comp3UnicodeChar(0x217A) ; r<>misch xi
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (CompKey = "r_capital_1")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
Comp3UnicodeChar(0x216A) ; r<>misch XI
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-06-11 17:08:16 +00:00
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if GetKeyState("CapsLock","T")
|
2008-06-11 17:08:16 +00:00
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (IsModifierPressed())
|
2008-06-11 17:08:16 +00:00
|
|
|
|
{
|
|
|
|
|
send {blind}1
|
|
|
|
|
}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-06-11 17:08:16 +00:00
|
|
|
|
{
|
|
|
|
|
send 1
|
2008-06-14 11:43:05 +00:00
|
|
|
|
}
|
2008-06-11 17:08:16 +00:00
|
|
|
|
}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else {
|
2008-06-22 00:21:54 +00:00
|
|
|
|
if ( not(lernModus) or (lernModus_std_ZahlenReihe) )
|
2008-06-21 19:27:39 +00:00
|
|
|
|
{
|
|
|
|
|
send {blind}1
|
|
|
|
|
}
|
2008-06-11 17:08:16 +00:00
|
|
|
|
}
|
|
|
|
|
}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "comp")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := "1"
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (CompKey = "r_small")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := "r_small_1"
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (CompKey = "r_capital")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := "r_capital_1"
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 2
|
|
|
|
|
{
|
|
|
|
|
send <EFBFBD>
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if Ebene = 3
|
|
|
|
|
{
|
|
|
|
|
SendUnicodeChar(0x00B9) ; 2 Hochgestellte
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
2008-05-06 11:41:19 +00:00
|
|
|
|
else if Ebene = 4
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
SendUnicodeChar(0x2022) ; bullet
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 5
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
SendUnicodeChar(0x2640) ; Piktogramm weiblich
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 6
|
|
|
|
|
{
|
|
|
|
|
SendUnicodeChar(0x00AC) ; Nicht-Symbol
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
PriorDeadKey := ""
|
|
|
|
|
return
|
|
|
|
|
|
2008-06-18 23:26:43 +00:00
|
|
|
|
neo_2:
|
2008-05-06 11:41:19 +00:00
|
|
|
|
EbeneAktualisieren()
|
|
|
|
|
if Ebene = 1
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "c1") ; circumflex
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x00B2)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "c5") ; toter -
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x2082)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (CompKey = "r_small")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompUnicodeChar(0x2171) ; r<>misch ii
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (CompKey = "r_capital")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompUnicodeChar(0x2161) ; r<>misch II
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (CompKey = "r_small_1")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
Comp3UnicodeChar(0x217B) ; r<>misch xii
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (CompKey = "r_capital_1")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
Comp3UnicodeChar(0x216B) ; r<>misch XII
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-06-11 17:08:16 +00:00
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if GetKeyState("CapsLock","T")
|
2008-06-11 17:08:16 +00:00
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (IsModifierPressed())
|
2008-06-11 17:08:16 +00:00
|
|
|
|
{
|
|
|
|
|
send {blind}2
|
|
|
|
|
}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-06-11 17:08:16 +00:00
|
|
|
|
{
|
|
|
|
|
send 2
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else {
|
2008-06-22 00:21:54 +00:00
|
|
|
|
if ( not(lernModus) or (lernModus_std_ZahlenReihe) )
|
2008-06-21 19:27:39 +00:00
|
|
|
|
{
|
|
|
|
|
send {blind}2
|
|
|
|
|
}
|
2008-06-11 17:08:16 +00:00
|
|
|
|
}
|
|
|
|
|
}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "comp")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := "2"
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 2
|
|
|
|
|
{
|
|
|
|
|
SendUnicodeChar(0x2116) ; numero
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if Ebene = 3
|
2008-07-02 14:06:46 +00:00
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
SendUnicodeChar(0x00B2) ; 2 Hochgestellte
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
2008-05-06 11:41:19 +00:00
|
|
|
|
else if Ebene = 4
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
SendUnicodeChar(0x2023) ; aufzaehlungspfeil
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 5
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
SendUnicodeChar(0x26A5) ; Piktogramm Zwitter
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 6
|
|
|
|
|
{
|
|
|
|
|
SendUnicodeChar(0x2228) ; Logisches Oder
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
PriorDeadKey := ""
|
|
|
|
|
return
|
|
|
|
|
|
2008-06-18 23:26:43 +00:00
|
|
|
|
neo_3:
|
2008-05-06 11:41:19 +00:00
|
|
|
|
EbeneAktualisieren()
|
|
|
|
|
if Ebene = 1
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "c1") ; circumflex
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x00B3)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "c5") ; toter -
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x2083)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (CompKey = "1")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompUnicodeChar(0x2153) ; 1/3
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (CompKey = "2")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompUnicodeChar(0x2154) ; 2/3
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (CompKey = "r_small")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompUnicodeChar(0x2172) ; r<>misch iii
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (CompKey = "r_capital")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompUnicodeChar(0x2162) ; r<>misch III
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-06-11 17:08:16 +00:00
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if GetKeyState("CapsLock","T")
|
2008-06-11 17:08:16 +00:00
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (IsModifierPressed())
|
2008-06-11 17:08:16 +00:00
|
|
|
|
{
|
|
|
|
|
send {blind}3
|
|
|
|
|
}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-06-11 17:08:16 +00:00
|
|
|
|
{
|
2008-06-21 19:27:39 +00:00
|
|
|
|
send 3
|
|
|
|
|
}
|
2008-06-11 17:08:16 +00:00
|
|
|
|
}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else {
|
2008-06-22 00:21:54 +00:00
|
|
|
|
if ( not(lernModus) or (lernModus_std_ZahlenReihe) )
|
2008-06-21 19:27:39 +00:00
|
|
|
|
{
|
|
|
|
|
send {blind}3
|
|
|
|
|
}
|
2008-06-11 17:08:16 +00:00
|
|
|
|
}
|
|
|
|
|
}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "comp")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := "3"
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 2
|
|
|
|
|
{
|
|
|
|
|
send <EFBFBD>
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if Ebene = 3
|
|
|
|
|
{
|
|
|
|
|
SendUnicodeChar(0x00B3) ; 3 Hochgestellte
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
2008-05-06 11:41:19 +00:00
|
|
|
|
else if Ebene = 4
|
2008-06-14 11:43:05 +00:00
|
|
|
|
{ } ; leer
|
|
|
|
|
else if Ebene = 5
|
2008-05-06 11:41:19 +00:00
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
SendUnicodeChar(0x2642) ; Piktogramm Mann
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if Ebene = 6
|
|
|
|
|
{
|
|
|
|
|
SendUnicodeChar(0x2227) ; Logisches Und
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
2008-05-06 11:41:19 +00:00
|
|
|
|
PriorDeadKey := ""
|
|
|
|
|
return
|
|
|
|
|
|
2008-06-18 23:26:43 +00:00
|
|
|
|
neo_4:
|
2008-05-06 11:41:19 +00:00
|
|
|
|
EbeneAktualisieren()
|
|
|
|
|
if Ebene = 1
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "c1") ; circumflex
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x2074)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "c5") ; toter -
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x2084)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (CompKey = "r_small")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompUnicodeChar(0x2173) ; r<>misch iv
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (CompKey = "r_capital")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompUnicodeChar(0x2163) ; r<>misch IV
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-06-11 17:08:16 +00:00
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if GetKeyState("CapsLock","T")
|
2008-06-11 17:08:16 +00:00
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (IsModifierPressed())
|
2008-06-11 17:08:16 +00:00
|
|
|
|
{
|
|
|
|
|
send {blind}4
|
|
|
|
|
}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-06-11 17:08:16 +00:00
|
|
|
|
{
|
|
|
|
|
send 4
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
2008-06-21 19:27:39 +00:00
|
|
|
|
else
|
|
|
|
|
{
|
2008-06-22 00:21:54 +00:00
|
|
|
|
if ( not(lernModus) or (lernModus_std_ZahlenReihe) )
|
2008-06-21 19:27:39 +00:00
|
|
|
|
{
|
|
|
|
|
send {blind}4
|
|
|
|
|
}
|
2008-06-11 17:08:16 +00:00
|
|
|
|
}
|
|
|
|
|
}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "comp")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := "4"
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := ""
|
2008-07-02 14:06:46 +00:00
|
|
|
|
}
|
2008-05-06 11:41:19 +00:00
|
|
|
|
else if Ebene = 2
|
|
|
|
|
{
|
|
|
|
|
send <EFBFBD>
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if Ebene = 3
|
2008-05-06 11:41:19 +00:00
|
|
|
|
{
|
|
|
|
|
send <EFBFBD>
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if Ebene = 4
|
2008-05-06 11:41:19 +00:00
|
|
|
|
{
|
|
|
|
|
Send {PgUp} ; Prev
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if Ebene = 5
|
2008-05-06 11:41:19 +00:00
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
SendUnicodeChar(0x2113) ; Script small L
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if Ebene = 6
|
|
|
|
|
{
|
|
|
|
|
SendUnicodeChar(0x22A5) ; Senkrecht
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
2008-05-06 11:41:19 +00:00
|
|
|
|
PriorDeadKey := ""
|
|
|
|
|
return
|
|
|
|
|
|
2008-06-18 23:26:43 +00:00
|
|
|
|
neo_5:
|
2008-05-06 11:41:19 +00:00
|
|
|
|
EbeneAktualisieren()
|
|
|
|
|
if Ebene = 1
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "c1") ; circumflex
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x2075)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "c5") ; toter -
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x2085)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (CompKey = "1")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompUnicodeChar(0x2155) ; 1/5
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (CompKey = "2")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompUnicodeChar(0x2156) ; 2/5
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (CompKey = "3")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompUnicodeChar(0x2157) ; 3/5
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (CompKey = "4")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompUnicodeChar(0x2158) ; 4/5
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (CompKey = "r_small")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompUnicodeChar(0x2174) ; r<>misch v
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (CompKey = "r_capital")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompUnicodeChar(0x2164) ; r<>misch V
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-06-11 17:08:16 +00:00
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if GetKeyState("CapsLock","T")
|
2008-06-11 17:08:16 +00:00
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (IsModifierPressed())
|
2008-06-11 17:08:16 +00:00
|
|
|
|
{
|
|
|
|
|
send {blind}5
|
|
|
|
|
}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-06-11 17:08:16 +00:00
|
|
|
|
{
|
|
|
|
|
send 5
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else {
|
2008-06-22 00:21:54 +00:00
|
|
|
|
if ( not(lernModus) or (lernModus_std_ZahlenReihe) )
|
2008-06-21 19:27:39 +00:00
|
|
|
|
{
|
|
|
|
|
send {blind}5
|
|
|
|
|
}
|
2008-06-11 17:08:16 +00:00
|
|
|
|
}
|
|
|
|
|
}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "comp")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := "5"
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := ""
|
2008-07-02 14:06:46 +00:00
|
|
|
|
}
|
2008-05-06 11:41:19 +00:00
|
|
|
|
else if Ebene = 2
|
|
|
|
|
{
|
|
|
|
|
send <EFBFBD>
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 3
|
|
|
|
|
{
|
|
|
|
|
send <EFBFBD>
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if Ebene = 4
|
|
|
|
|
{ } ; leer
|
|
|
|
|
else if Ebene = 5
|
2008-05-06 11:41:19 +00:00
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
SendUnicodeChar(0x2020) ; Kreuz (Dagger)
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if Ebene = 6
|
|
|
|
|
{
|
|
|
|
|
SendUnicodeChar(0x2221) ; Winkel
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
2008-05-06 11:41:19 +00:00
|
|
|
|
PriorDeadKey := ""
|
|
|
|
|
return
|
|
|
|
|
|
2008-06-18 23:26:43 +00:00
|
|
|
|
neo_6:
|
2008-05-06 11:41:19 +00:00
|
|
|
|
EbeneAktualisieren()
|
|
|
|
|
if Ebene = 1
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "c1") ; circumflex
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x2076)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "c5") ; toter -
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x2086)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (CompKey = "1")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompUnicodeChar(0x2159) ; 1/6
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (CompKey = "5")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompUnicodeChar(0x215A) ; 5/6
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (CompKey = "r_small")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompUnicodeChar(0x2175) ; r<>misch vi
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (CompKey = "r_capital")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompUnicodeChar(0x2165) ; r<>misch VI
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-06-11 17:08:16 +00:00
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if GetKeyState("CapsLock","T")
|
2008-06-11 17:08:16 +00:00
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (IsModifierPressed())
|
2008-06-11 17:08:16 +00:00
|
|
|
|
{
|
|
|
|
|
send {blind}6
|
|
|
|
|
}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-06-11 17:08:16 +00:00
|
|
|
|
{
|
|
|
|
|
send 6
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else {
|
2008-06-22 00:21:54 +00:00
|
|
|
|
if ( not(lernModus) or (lernModus_std_ZahlenReihe) )
|
2008-06-21 19:27:39 +00:00
|
|
|
|
{
|
|
|
|
|
send {blind}6
|
|
|
|
|
}
|
2008-06-11 17:08:16 +00:00
|
|
|
|
}
|
|
|
|
|
}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "comp")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := "6"
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := ""
|
2008-07-02 14:06:46 +00:00
|
|
|
|
}
|
2008-05-06 11:41:19 +00:00
|
|
|
|
else if Ebene = 2
|
|
|
|
|
{
|
|
|
|
|
send <EFBFBD>
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 3
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
send <EFBFBD>
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 4
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
send <EFBFBD>
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if Ebene = 5
|
|
|
|
|
{ } ; leer
|
2008-05-06 11:41:19 +00:00
|
|
|
|
else if Ebene = 6
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
SendUnicodeChar(0x2225) ; parallel
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
PriorDeadKey := ""
|
|
|
|
|
return
|
|
|
|
|
|
2008-06-18 23:26:43 +00:00
|
|
|
|
neo_7:
|
2008-05-06 11:41:19 +00:00
|
|
|
|
EbeneAktualisieren()
|
|
|
|
|
if Ebene = 1
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "c1") ; circumflex
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x2077)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "c5") ; toter -
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x2087)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (CompKey = "r_small")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompUnicodeChar(0x2176) ; r<>misch vii
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (CompKey = "r_capital")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompUnicodeChar(0x2166) ; r<>misch VII
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-06-11 17:08:16 +00:00
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if GetKeyState("CapsLock","T")
|
2008-06-11 17:08:16 +00:00
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (IsModifierPressed())
|
2008-06-11 17:08:16 +00:00
|
|
|
|
{
|
|
|
|
|
send {blind}7
|
|
|
|
|
}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-06-11 17:08:16 +00:00
|
|
|
|
{
|
|
|
|
|
send 7
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else {
|
2008-06-22 00:21:54 +00:00
|
|
|
|
if ( not(lernModus) or (lernModus_std_ZahlenReihe) )
|
2008-06-21 19:27:39 +00:00
|
|
|
|
{
|
|
|
|
|
send {blind}7
|
|
|
|
|
}
|
2008-06-11 17:08:16 +00:00
|
|
|
|
}
|
|
|
|
|
}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "comp")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := "7"
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := ""
|
2008-07-02 14:06:46 +00:00
|
|
|
|
}
|
2008-05-06 11:41:19 +00:00
|
|
|
|
else if Ebene = 2
|
|
|
|
|
{
|
|
|
|
|
send $
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 3
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
send <EFBFBD>
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 4
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
send <EFBFBD>
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 5
|
|
|
|
|
{
|
2008-06-21 16:18:44 +00:00
|
|
|
|
SendUnicodeChar(0x03BA) ; greek small letter kappa
|
2008-06-14 11:43:05 +00:00
|
|
|
|
CompKey := ""
|
2008-05-06 11:41:19 +00:00
|
|
|
|
}
|
|
|
|
|
else if Ebene = 6
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
SendUnicodeChar(0x2209) ; nicht Element von
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
PriorDeadKey := ""
|
|
|
|
|
return
|
|
|
|
|
|
2008-06-18 23:26:43 +00:00
|
|
|
|
neo_8:
|
2008-05-06 11:41:19 +00:00
|
|
|
|
EbeneAktualisieren()
|
|
|
|
|
if Ebene = 1
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "c1") ; circumflex
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x2078)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "c5") ; toter -
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x2088)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (CompKey = "1")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompUnicodeChar(0x215B) ; 1/8
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (CompKey = "3")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompUnicodeChar(0x215C) ; 3/8
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (CompKey = "5")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompUnicodeChar(0x215D) ; 5/8
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (CompKey = "7")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompUnicodeChar(0x215E) ; 7/8
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (CompKey = "r_small")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompUnicodeChar(0x2177) ; r<>misch viii
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (CompKey = "r_capital")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompUnicodeChar(0x2167) ; r<>misch VIII
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-06-11 17:08:16 +00:00
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if GetKeyState("CapsLock","T")
|
2008-06-11 17:08:16 +00:00
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (IsModifierPressed())
|
2008-06-11 17:08:16 +00:00
|
|
|
|
{
|
|
|
|
|
send {blind}8
|
|
|
|
|
}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-06-11 17:08:16 +00:00
|
|
|
|
{
|
|
|
|
|
send 8
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else {
|
2008-06-22 00:21:54 +00:00
|
|
|
|
if ( not(lernModus) or (lernModus_std_ZahlenReihe) )
|
2008-06-21 19:27:39 +00:00
|
|
|
|
{
|
|
|
|
|
send {blind}8
|
|
|
|
|
}
|
2008-06-11 17:08:16 +00:00
|
|
|
|
}
|
|
|
|
|
}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "comp")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := "8"
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := ""
|
2008-07-02 14:06:46 +00:00
|
|
|
|
}
|
2008-05-06 11:41:19 +00:00
|
|
|
|
else if Ebene = 2
|
|
|
|
|
{
|
|
|
|
|
send <EFBFBD>
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 3
|
|
|
|
|
{
|
|
|
|
|
send <EFBFBD>
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if Ebene = 4
|
2008-05-06 11:41:19 +00:00
|
|
|
|
{
|
|
|
|
|
Send /
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if Ebene = 5
|
2008-07-09 00:36:54 +00:00
|
|
|
|
{
|
|
|
|
|
SendUnicodeChar(0x27E8) ;bra (<28>ffnende spitze klammer)
|
|
|
|
|
}
|
2008-05-06 11:41:19 +00:00
|
|
|
|
else if Ebene = 6
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
SendUnicodeChar(0x2204) ; es existiert nicht
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
PriorDeadKey := ""
|
|
|
|
|
return
|
|
|
|
|
|
2008-06-18 23:26:43 +00:00
|
|
|
|
neo_9:
|
2008-05-06 11:41:19 +00:00
|
|
|
|
EbeneAktualisieren()
|
|
|
|
|
if Ebene = 1
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "c1") ; circumflex
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x2079)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "c5") ; toter -
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x2089)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (CompKey = "r_small")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompUnicodeChar(0x2178) ; r<>misch ix
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (CompKey = "r_capital")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompUnicodeChar(0x2168) ; r<>misch IX
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-06-11 17:08:16 +00:00
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if GetKeyState("CapsLock","T")
|
2008-06-11 17:08:16 +00:00
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (IsModifierPressed())
|
2008-06-11 17:08:16 +00:00
|
|
|
|
{
|
|
|
|
|
send {blind}9
|
|
|
|
|
}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-06-11 17:08:16 +00:00
|
|
|
|
{
|
|
|
|
|
send 9
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else {
|
2008-06-22 00:21:54 +00:00
|
|
|
|
if ( not(lernModus) or (lernModus_std_ZahlenReihe) )
|
2008-06-21 19:27:39 +00:00
|
|
|
|
{
|
|
|
|
|
send {blind}9
|
|
|
|
|
}
|
2008-06-11 17:08:16 +00:00
|
|
|
|
}
|
|
|
|
|
}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "comp")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := "9"
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := ""
|
2008-07-02 14:06:46 +00:00
|
|
|
|
}
|
2008-05-06 11:41:19 +00:00
|
|
|
|
else if Ebene = 2
|
|
|
|
|
{
|
|
|
|
|
send <EFBFBD>
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 3
|
|
|
|
|
{
|
|
|
|
|
send <EFBFBD>
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if Ebene = 4
|
2008-05-06 11:41:19 +00:00
|
|
|
|
{
|
|
|
|
|
Send *
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if Ebene = 5
|
2008-07-09 00:36:54 +00:00
|
|
|
|
{
|
|
|
|
|
SendUnicodeChar(0x27E9) ;ket (schlie<69>ende spitze klammer)
|
|
|
|
|
}
|
2008-05-06 11:41:19 +00:00
|
|
|
|
else if Ebene = 6
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
SendUnicodeChar(0x2226) ; nicht parallel
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
PriorDeadKey := ""
|
|
|
|
|
return
|
|
|
|
|
|
2008-06-18 23:26:43 +00:00
|
|
|
|
neo_0:
|
2008-05-06 11:41:19 +00:00
|
|
|
|
EbeneAktualisieren()
|
|
|
|
|
if Ebene = 1
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "c1") ; circumflex
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x2070)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "c5") ; toter -
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x2080)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (CompKey = "r_small_1")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
Comp3UnicodeChar(0x2179) ; r<>misch x
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (CompKey = "r_capital_1")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
Comp3UnicodeChar(0x2169) ; r<>misch X
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-06-11 17:08:16 +00:00
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if GetKeyState("CapsLock","T")
|
2008-06-11 17:08:16 +00:00
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (IsModifierPressed())
|
2008-06-11 17:08:16 +00:00
|
|
|
|
{
|
|
|
|
|
send {blind}0
|
|
|
|
|
}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-06-11 17:08:16 +00:00
|
|
|
|
{
|
|
|
|
|
send 0
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else {
|
2008-06-22 00:21:54 +00:00
|
|
|
|
if ( not(lernModus) or (lernModus_std_ZahlenReihe) )
|
2008-06-21 19:27:39 +00:00
|
|
|
|
{
|
|
|
|
|
send {blind}0
|
|
|
|
|
}
|
2008-06-11 17:08:16 +00:00
|
|
|
|
}
|
|
|
|
|
}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "comp")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := "0"
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := ""
|
2008-07-02 14:06:46 +00:00
|
|
|
|
}
|
2008-05-06 11:41:19 +00:00
|
|
|
|
else if Ebene = 2
|
|
|
|
|
{
|
|
|
|
|
send <EFBFBD>
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 3
|
|
|
|
|
{
|
|
|
|
|
send <EFBFBD>
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if Ebene = 4
|
2008-05-06 11:41:19 +00:00
|
|
|
|
{
|
|
|
|
|
Send -
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if Ebene = 5
|
|
|
|
|
{ } ; leer
|
2008-05-06 11:41:19 +00:00
|
|
|
|
else if Ebene = 6
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
SendUnicodeChar(0x2205) ; leere Menge
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
PriorDeadKey := ""
|
|
|
|
|
return
|
|
|
|
|
|
2008-06-18 23:26:43 +00:00
|
|
|
|
neo_strich:
|
2008-05-06 11:41:19 +00:00
|
|
|
|
EbeneAktualisieren()
|
|
|
|
|
if Ebene = 1
|
2008-06-11 17:08:16 +00:00
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if GetKeyState("CapsLock","T")
|
2008-06-11 17:08:16 +00:00
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (IsModifierPressed())
|
2008-06-11 17:08:16 +00:00
|
|
|
|
{
|
|
|
|
|
send {blind}-
|
|
|
|
|
}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-06-11 17:08:16 +00:00
|
|
|
|
{
|
|
|
|
|
send -
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else {
|
2008-06-11 17:08:16 +00:00
|
|
|
|
send {blind}- ;Bindestrich
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 2
|
|
|
|
|
SendUnicodeChar(0x2013) ; Gedankenstrich
|
2008-05-06 11:41:19 +00:00
|
|
|
|
else if Ebene = 3
|
2008-06-14 11:43:05 +00:00
|
|
|
|
SendUnicodeChar(0x2014) ; Englische Gedankenstrich
|
2008-05-06 11:41:19 +00:00
|
|
|
|
else if Ebene = 4
|
2008-06-14 11:43:05 +00:00
|
|
|
|
{ } ; leer ... SendUnicodeChar(0x254C)
|
2008-05-06 11:41:19 +00:00
|
|
|
|
else if Ebene = 5
|
2008-06-14 11:43:05 +00:00
|
|
|
|
SendUnicodeChar(0x2011) ; gesch<63>tzter Bindestrich
|
2008-05-06 11:41:19 +00:00
|
|
|
|
else if Ebene = 6
|
2008-06-14 11:43:05 +00:00
|
|
|
|
SendUnicodeChar(0x00AD) ; weicher Trennstrich
|
2008-05-06 11:41:19 +00:00
|
|
|
|
PriorDeadKey := "" CompKey := ""
|
|
|
|
|
return
|
|
|
|
|
|
2008-06-18 23:26:43 +00:00
|
|
|
|
neo_tot2:
|
2008-05-06 11:41:19 +00:00
|
|
|
|
EbeneAktualisieren()
|
|
|
|
|
if Ebene = 1
|
|
|
|
|
{
|
|
|
|
|
send {<EFBFBD>}{space} ; akut, tot
|
|
|
|
|
PriorDeadKey := "a1"
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 2
|
|
|
|
|
{
|
|
|
|
|
send ``{space}
|
|
|
|
|
PriorDeadKey := "a2"
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 3
|
|
|
|
|
{
|
|
|
|
|
send <EFBFBD> ; cedilla
|
|
|
|
|
PriorDeadKey := "a3"
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 4
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
SendUnicodeChar(0x02D9) ; punkt oben dr<64>ber
|
2008-07-25 06:46:11 +00:00
|
|
|
|
PriorDeadKey := "a4"
|
2008-05-06 11:41:19 +00:00
|
|
|
|
}
|
|
|
|
|
else if Ebene = 5
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
SendUnicodeChar(0x02DB) ; ogonek
|
2008-07-25 06:46:11 +00:00
|
|
|
|
PriorDeadKey := "a5"
|
2008-05-06 11:41:19 +00:00
|
|
|
|
}
|
|
|
|
|
else if Ebene = 6
|
|
|
|
|
{
|
|
|
|
|
SendUnicodeChar(0x02DA) ; ring obendrauf
|
|
|
|
|
PriorDeadKey := "a6"
|
|
|
|
|
}
|
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
------------------------------------------------------
|
|
|
|
|
Reihe 2
|
|
|
|
|
------------------------------------------------------
|
|
|
|
|
*/
|
|
|
|
|
|
2008-06-18 23:26:43 +00:00
|
|
|
|
neo_x:
|
2008-05-06 11:41:19 +00:00
|
|
|
|
EbeneAktualisieren()
|
|
|
|
|
if Ebene = 1
|
|
|
|
|
sendinput {blind}x
|
|
|
|
|
else if Ebene = 2
|
|
|
|
|
sendinput {blind}X
|
2008-07-13 01:08:31 +00:00
|
|
|
|
else if Ebene = 3
|
|
|
|
|
SendUnicodeChar(0x2026) ;Ellipse
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if Ebene = 5
|
2008-05-06 11:41:19 +00:00
|
|
|
|
SendUnicodeChar(0x03BE) ;xi
|
|
|
|
|
else if Ebene = 6
|
|
|
|
|
SendUnicodeChar(0x039E) ; Xi
|
|
|
|
|
PriorDeadKey := "" CompKey := ""
|
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
|
2008-06-18 23:26:43 +00:00
|
|
|
|
neo_v:
|
2008-05-06 11:41:19 +00:00
|
|
|
|
EbeneAktualisieren()
|
|
|
|
|
if Ebene = 1
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "c6") ; punkt darunter
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x1E7F)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
sendinput {blind}v
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 2
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "c6") ; punkt darunter
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x1E7E)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
sendinput {blind}V
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 3
|
|
|
|
|
send _
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if Ebene = 4
|
2008-06-22 00:21:54 +00:00
|
|
|
|
if ( not(lernModus) or (lernModus_neo_Backspace) )
|
2008-06-21 19:27:39 +00:00
|
|
|
|
{
|
|
|
|
|
Send {Backspace}
|
|
|
|
|
}
|
2008-06-22 00:21:54 +00:00
|
|
|
|
else
|
|
|
|
|
{} ; leer
|
2008-05-06 11:41:19 +00:00
|
|
|
|
else if Ebene = 6
|
2008-06-14 11:43:05 +00:00
|
|
|
|
SendUnicodeChar(0x2259) ; estimates
|
2008-05-06 11:41:19 +00:00
|
|
|
|
PriorDeadKey := "" CompKey := ""
|
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-06-18 23:26:43 +00:00
|
|
|
|
neo_l:
|
2008-05-06 11:41:19 +00:00
|
|
|
|
EbeneAktualisieren()
|
|
|
|
|
if Ebene = 1
|
|
|
|
|
{
|
2008-07-25 06:46:11 +00:00
|
|
|
|
if (PriorDeadKey = "t4") ; Schr<68>gstrich
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x0142)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "a1") ; akut
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x013A)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "c2") ; caron
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x013E)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "a3") ; cedilla
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x013C)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "c4") ; Mittenpunkt
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x0140)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "c6") ; punkt darunter
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x1E37)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
sendinput {blind}l
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "comp") ; compose
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := "l_small"
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 2
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "a1") ; akut
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x0139)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "c2") ; caron
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x013D)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "a3") ; cedilla
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x013B)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "t4") ; Schr<68>gstrich
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x0141)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "c4") ; Mittenpunkt
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x013F)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "c6") ; punkt darunter
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x1E36)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
sendinput {blind}L
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "comp") ; compose
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := "l_capital"
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else CompKey := ""
|
2008-05-06 11:41:19 +00:00
|
|
|
|
}
|
|
|
|
|
else if Ebene = 3
|
|
|
|
|
{
|
|
|
|
|
send [
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 4
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
Sendinput {Blind}{Up}
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 5
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
SendUnicodeChar(0x03BB) ; lambda
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 6
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
SendUnicodeChar(0x039B) ; Lambda
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
PriorDeadKey := ""
|
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
|
2008-06-18 23:26:43 +00:00
|
|
|
|
neo_c:
|
2008-05-06 11:41:19 +00:00
|
|
|
|
EbeneAktualisieren()
|
|
|
|
|
if Ebene = 1
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "c1") ; circumflex
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x0109)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "c2") ; caron
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x010D)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "a1") ; akut
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x0107)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "a3") ; cedilla
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x00E7)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "a4") ; punkt dar<61>ber
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x010B)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if ( (CompKey = "o_small") or (CompKey = "o_capital") )
|
2008-05-06 11:41:19 +00:00
|
|
|
|
Send {bs}<EFBFBD>
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-06-19 09:24:55 +00:00
|
|
|
|
{
|
|
|
|
|
sendinput {blind}c
|
|
|
|
|
}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "comp")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := "c_small"
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 2
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "c1") ; circumflex
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x0108)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "c2") ; caron
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x010C)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "a1") ; akut
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x0106)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "a3") ; cedilla
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x00E6)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "a4") ; punkt dar<61>ber
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x010A)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if ( (CompKey = "o_small") or (CompKey = "o_capital") )
|
2008-05-06 11:41:19 +00:00
|
|
|
|
Send {bs}<EFBFBD>
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
sendinput {blind}C
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "comp")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey = "c_capital"
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 3
|
|
|
|
|
{
|
|
|
|
|
send ]
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 4
|
|
|
|
|
{
|
2008-06-22 00:21:54 +00:00
|
|
|
|
if ( not(lernModus) or (lernModus_neo_Entf) )
|
2008-06-21 19:27:39 +00:00
|
|
|
|
{
|
|
|
|
|
Send {Del}
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
2008-06-22 00:21:54 +00:00
|
|
|
|
else
|
|
|
|
|
{} ; leer
|
2008-05-06 11:41:19 +00:00
|
|
|
|
}
|
|
|
|
|
else if Ebene = 5
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
SendUnicodeChar(0x03C7) ;chi
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 6
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
SendUnicodeChar(0x2102) ; C (Komplexe Zahlen)
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
PriorDeadKey := ""
|
|
|
|
|
return
|
|
|
|
|
|
2008-06-18 23:26:43 +00:00
|
|
|
|
neo_w:
|
2008-05-06 11:41:19 +00:00
|
|
|
|
EbeneAktualisieren()
|
|
|
|
|
if Ebene = 1
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "c1") ; circumflex
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x0175)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
sendinput {blind}w
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 2
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "c1") ; circumflex
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x0174)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
sendinput {blind}W
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 3
|
2008-07-22 01:31:13 +00:00
|
|
|
|
SendUnicodeChar(0x005E) ; untotes ^ - Unicode-Name: CIRCUMFLEX ACCENT
|
|
|
|
|
;send {^}{space} ; Funktioniert nicht unter Java-Programmen
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if Ebene = 4
|
2008-05-06 11:41:19 +00:00
|
|
|
|
Send {Insert}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if Ebene = 5
|
|
|
|
|
SendUnicodeChar(0x03C9) ; omega
|
2008-05-06 11:41:19 +00:00
|
|
|
|
else if Ebene = 6
|
2008-06-14 11:43:05 +00:00
|
|
|
|
SendUnicodeChar(0x03A9) ; Omega
|
2008-05-06 11:41:19 +00:00
|
|
|
|
PriorDeadKey := "" CompKey := ""
|
|
|
|
|
return
|
|
|
|
|
|
2008-06-18 23:26:43 +00:00
|
|
|
|
neo_k:
|
2008-05-06 11:41:19 +00:00
|
|
|
|
EbeneAktualisieren()
|
|
|
|
|
if Ebene = 1
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "a3") ; cedilla
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x0137)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "c6") ; punkt darunter
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x1E33)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
sendinput {blind}k
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 2
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "a3") ; cedilla
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x0136)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "c6") ; punkt darunter
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x1E32)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
sendinput {blind}K
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 3
|
|
|
|
|
sendraw !
|
|
|
|
|
else if Ebene = 4
|
|
|
|
|
Send <EFBFBD>
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if Ebene = 5
|
2008-06-21 16:18:44 +00:00
|
|
|
|
SendUnicodeChar(0x03F0) ;kappa symbol (varkappa)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if Ebene = 6
|
|
|
|
|
SendUnicodeChar(0x221A) ; Wurzel
|
2008-05-06 11:41:19 +00:00
|
|
|
|
PriorDeadKey := "" CompKey := ""
|
|
|
|
|
return
|
|
|
|
|
|
2008-06-18 23:26:43 +00:00
|
|
|
|
neo_h:
|
2008-05-06 11:41:19 +00:00
|
|
|
|
EbeneAktualisieren()
|
|
|
|
|
if Ebene = 1
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "c1") ; circumflex
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x0125)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "c5") ; Querstrich
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x0127)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "a4") ; punkt dar<61>ber
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x1E23)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "c6") ; punkt darunter
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x1E25)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else sendinput {blind}h
|
2008-05-06 11:41:19 +00:00
|
|
|
|
}
|
|
|
|
|
else if Ebene = 2
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "c1") ; circumflex
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x0124)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "c5") ; Querstrich
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x0126)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "a4") ; punkt dar<61>ber
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x1E22)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "c6") ; punkt darunter
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x1E24)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else sendinput {blind}H
|
2008-05-06 11:41:19 +00:00
|
|
|
|
}
|
|
|
|
|
else if Ebene = 3
|
|
|
|
|
{
|
2008-07-25 06:46:11 +00:00
|
|
|
|
if (PriorDeadKey = "c5") ; Querstrich
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x2264) ; kleiner gleich
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-06-11 17:08:16 +00:00
|
|
|
|
send {blind}<
|
2008-05-06 11:41:19 +00:00
|
|
|
|
}
|
|
|
|
|
else if Ebene = 4
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "c1") ; circumflex
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x2077)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "c5") ; toter -
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x2087)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
Send 7
|
|
|
|
|
}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if Ebene = 5
|
|
|
|
|
SendUnicodeChar(0x03C8) ;psi
|
2008-05-06 11:41:19 +00:00
|
|
|
|
else if Ebene = 6
|
|
|
|
|
SendUnicodeChar(0x03A8) ; Psi
|
|
|
|
|
PriorDeadKey := "" CompKey := ""
|
|
|
|
|
return
|
|
|
|
|
|
2008-06-18 23:26:43 +00:00
|
|
|
|
neo_g:
|
2008-05-06 11:41:19 +00:00
|
|
|
|
EbeneAktualisieren()
|
|
|
|
|
if Ebene = 1
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "c1") ; circumflex
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x011D)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "c3") ; brevis
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x011F)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "a3") ; cedilla
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x0123)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "a4") ; punkt dar<61>ber
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x0121)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else sendinput {blind}g
|
2008-05-06 11:41:19 +00:00
|
|
|
|
}
|
|
|
|
|
else if Ebene = 2
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "c1") ; circumflex
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x011C)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "c3") ; brevis
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x011E)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "a3") ; cedilla
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x0122)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "a4") ; punkt dar<61>ber
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x0120)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else sendinput {blind}G
|
2008-05-06 11:41:19 +00:00
|
|
|
|
}
|
|
|
|
|
else if Ebene = 3
|
|
|
|
|
{
|
2008-07-25 06:46:11 +00:00
|
|
|
|
if (PriorDeadKey = "c5") ; Querstrich
|
2008-05-06 11:41:19 +00:00
|
|
|
|
SendUnicodeChar(0x2265) ; gr<67><72>er gleich
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
send >
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 4
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "c1") ; circumflex
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x2078)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "c5") ; toter -
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x2088)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
Send 8
|
|
|
|
|
}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if Ebene = 5
|
|
|
|
|
SendUnicodeChar(0x03B3) ;gamma
|
2008-05-06 11:41:19 +00:00
|
|
|
|
else if Ebene = 6
|
|
|
|
|
SendUnicodeChar(0x0393) ; Gamma
|
|
|
|
|
PriorDeadKey := "" CompKey := ""
|
|
|
|
|
return
|
|
|
|
|
|
2008-06-18 23:26:43 +00:00
|
|
|
|
neo_f:
|
2008-05-06 11:41:19 +00:00
|
|
|
|
EbeneAktualisieren()
|
|
|
|
|
if Ebene = 1
|
|
|
|
|
{
|
2008-07-25 06:46:11 +00:00
|
|
|
|
if (PriorDeadKey = "t4") ; durchgestrichen
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x0192)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "a4") ; punkt dar<61>ber
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x1E1F)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else sendinput {blind}f
|
2008-05-06 11:41:19 +00:00
|
|
|
|
}
|
|
|
|
|
else if Ebene = 2
|
|
|
|
|
{
|
2008-07-25 06:46:11 +00:00
|
|
|
|
if (PriorDeadKey = "t4") ; durchgestrichen
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x0191)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "a4") ; punkt dar<61>ber
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x1E1E)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else sendinput {blind}F
|
2008-05-06 11:41:19 +00:00
|
|
|
|
}
|
|
|
|
|
else if Ebene = 3
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "c1") ; circumflex
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x2259) ; entspricht
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "t1") ; tilde
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x2245) ; ungef<65>hr gleich
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "t4") ; Schr<68>gstrich
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x2260) ; ungleich
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "c5") ; Querstrich
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x2261) ; identisch
|
2008-07-08 21:22:57 +00:00
|
|
|
|
else if (PriorDeadKey = "c2") ; caron
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x225A) ; EQUIANGULAR TO
|
2008-07-08 21:22:57 +00:00
|
|
|
|
else if (PriorDeadKey = "a6") ; ring dr<64>ber
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x2257) ; ring equal to
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
send `=
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 4
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "c1") ; circumflex
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x2079)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "c5") ; toter -
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x2089)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
Send 9
|
|
|
|
|
}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if Ebene = 5
|
2008-06-21 16:18:44 +00:00
|
|
|
|
SendUnicodeChar(0x03C6) ; phi
|
2008-05-06 11:41:19 +00:00
|
|
|
|
else if Ebene = 6
|
|
|
|
|
SendUnicodeChar(0x03A6) ; Phi
|
|
|
|
|
PriorDeadKey := "" CompKey := ""
|
|
|
|
|
return
|
|
|
|
|
|
2008-06-18 23:26:43 +00:00
|
|
|
|
neo_q:
|
2008-05-06 11:41:19 +00:00
|
|
|
|
EbeneAktualisieren()
|
|
|
|
|
if Ebene = 1
|
|
|
|
|
sendinput {blind}q
|
|
|
|
|
else if Ebene = 2
|
|
|
|
|
sendinput {blind}Q
|
|
|
|
|
else if Ebene = 3
|
|
|
|
|
send {&}
|
|
|
|
|
else if Ebene = 4
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "c1") ; circumflex
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x207A)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "c5") ; toter -
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x208A)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
Send {+}
|
|
|
|
|
}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if Ebene = 5
|
2008-07-08 21:22:57 +00:00
|
|
|
|
SendUnicodeChar(0x03D5) ; phi symbol (varphi)
|
2008-05-06 11:41:19 +00:00
|
|
|
|
else if Ebene = 6
|
2008-06-14 11:43:05 +00:00
|
|
|
|
SendUnicodeChar(0x211A) ; Q (rationale Zahlen)
|
2008-05-06 11:41:19 +00:00
|
|
|
|
PriorDeadKey := "" CompKey := ""
|
|
|
|
|
return
|
|
|
|
|
|
2008-06-18 23:26:43 +00:00
|
|
|
|
neo_sz:
|
2008-05-06 11:41:19 +00:00
|
|
|
|
EbeneAktualisieren()
|
|
|
|
|
if Ebene = 1
|
|
|
|
|
if GetKeyState("CapsLock","T")
|
|
|
|
|
{
|
2008-07-08 21:22:57 +00:00
|
|
|
|
SendUnicodeChar(0x1E9E) ; verssal-<2D>
|
2008-05-06 11:41:19 +00:00
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
2008-07-08 21:22:57 +00:00
|
|
|
|
if (LangSTastatur = 1)
|
|
|
|
|
{
|
|
|
|
|
sendinput {blind}s
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
send <EFBFBD>
|
|
|
|
|
}
|
|
|
|
|
}
|
2008-05-06 11:41:19 +00:00
|
|
|
|
else if Ebene = 2
|
|
|
|
|
if GetKeyState("CapsLock","T")
|
|
|
|
|
{
|
2008-07-08 21:22:57 +00:00
|
|
|
|
if (LangSTastatur = 1)
|
|
|
|
|
{
|
|
|
|
|
sendinput {blind}s
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
send <EFBFBD>
|
|
|
|
|
}
|
2008-05-06 11:41:19 +00:00
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
SendUnicodeChar(0x1E9E) ; versal-<2D>
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 3
|
2008-07-08 21:22:57 +00:00
|
|
|
|
{
|
|
|
|
|
if (LangSTastatur = 1)
|
|
|
|
|
send <EFBFBD>
|
|
|
|
|
else
|
|
|
|
|
SendUnicodeChar(0x017F) ; langes s
|
|
|
|
|
}
|
2008-05-06 11:41:19 +00:00
|
|
|
|
else if Ebene = 5
|
2008-06-14 11:43:05 +00:00
|
|
|
|
SendUnicodeChar(0x03C2) ; varsigma
|
2008-05-06 11:41:19 +00:00
|
|
|
|
else if Ebene = 6
|
2008-07-08 21:22:57 +00:00
|
|
|
|
SendUnicodeChar(0x2218) ; Verkn<6B>pfungsoperator
|
2008-05-06 11:41:19 +00:00
|
|
|
|
PriorDeadKey := "" CompKey := ""
|
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
|
2008-06-18 23:26:43 +00:00
|
|
|
|
neo_tot3:
|
2008-05-06 11:41:19 +00:00
|
|
|
|
EbeneAktualisieren()
|
|
|
|
|
if Ebene = 1
|
|
|
|
|
{
|
2008-07-22 01:31:13 +00:00
|
|
|
|
SendUnicodeChar(0x02DC) ; tilde, tot
|
2008-05-06 11:41:19 +00:00
|
|
|
|
PriorDeadKey := "t1"
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 2
|
|
|
|
|
{
|
|
|
|
|
SendUnicodeChar(0x00AF) ; macron, tot
|
|
|
|
|
PriorDeadKey := "t2"
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 3
|
|
|
|
|
{
|
2008-07-25 06:46:11 +00:00
|
|
|
|
SendUnicodeChar(0x00A8) ; diaerese
|
2008-05-06 11:41:19 +00:00
|
|
|
|
PriorDeadKey := "t3"
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 4
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
SendUnicodeChar(0x002F) ; Schr<68>gstrich, tot
|
2008-07-25 06:46:11 +00:00
|
|
|
|
PriorDeadKey := "t4"
|
2008-05-06 11:41:19 +00:00
|
|
|
|
}
|
|
|
|
|
else if Ebene = 5
|
|
|
|
|
{
|
2008-07-22 01:31:13 +00:00
|
|
|
|
sendUnicodeChar(0x02DD) ;doppelakut
|
2008-07-25 06:46:11 +00:00
|
|
|
|
PriorDeadKey := "t5"
|
2008-05-06 11:41:19 +00:00
|
|
|
|
}
|
|
|
|
|
else if Ebene = 6
|
|
|
|
|
{
|
|
|
|
|
SendUnicodeChar(0x02CF) ; komma drunter, tot
|
|
|
|
|
PriorDeadKey := "t6"
|
|
|
|
|
}
|
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
------------------------------------------------------
|
|
|
|
|
Reihe 3
|
|
|
|
|
------------------------------------------------------
|
|
|
|
|
*/
|
|
|
|
|
|
2008-06-18 23:26:43 +00:00
|
|
|
|
neo_u:
|
2008-05-06 11:41:19 +00:00
|
|
|
|
EbeneAktualisieren()
|
|
|
|
|
if Ebene = 1
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "c1") ; circumflex
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x00FB)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "a1") ; akut
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x00FA)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "a2") ; grave
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x00F9)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "t3") ; diaerese
|
2008-05-06 11:41:19 +00:00
|
|
|
|
Send, {bs}<EFBFBD>
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "t5") ; doppelakut
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x0171)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "c3") ; brevis
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x016D)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "t2") ; macron
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x016B)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "a5") ; ogonek
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x0173)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "a6") ; Ring
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x016F)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "t1") ; tilde
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x0169)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "c2") ; caron
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x01D4)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
sendinput {blind}u
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 2
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "c1") ; circumflex
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x00DB)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "a1") ; akut
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x00DA)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "a2") ; grave
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x00D9)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "t3") ; diaerese
|
2008-05-06 11:41:19 +00:00
|
|
|
|
Send, {bs}<EFBFBD>
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "a6") ; Ring
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x016E)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "c3") ; brevis
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x016C)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "t5") ; doppelakut
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x0170)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "c2") ; caron
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x01D3)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "t2") ; macron
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x016A)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "a5") ; ogonek
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x0172)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "t1") ; tilde
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x0168)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
sendinput {blind}U
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 3
|
|
|
|
|
send \
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if Ebene = 4
|
2008-05-06 11:41:19 +00:00
|
|
|
|
Send {blind}{Home}
|
2008-07-02 14:06:46 +00:00
|
|
|
|
else if Ebene = 5
|
2008-06-14 20:31:51 +00:00
|
|
|
|
{ } ; leer
|
2008-05-06 11:41:19 +00:00
|
|
|
|
else if Ebene = 6
|
2008-06-14 11:43:05 +00:00
|
|
|
|
SendUnicodeChar(0x222E) ; contour integral
|
2008-05-06 11:41:19 +00:00
|
|
|
|
PriorDeadKey := "" CompKey := ""
|
|
|
|
|
return
|
|
|
|
|
|
2008-06-18 23:26:43 +00:00
|
|
|
|
neo_i:
|
2008-05-06 11:41:19 +00:00
|
|
|
|
EbeneAktualisieren()
|
|
|
|
|
if Ebene = 1
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "c1") ; circumflex
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x00EE)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "a1") ; akut
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x00ED)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "a2") ; grave
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x00EC)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "t3") ; diaerese
|
2008-05-06 11:41:19 +00:00
|
|
|
|
Send, {bs}<EFBFBD>
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "t2") ; macron - defekt
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x012B)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "c3") ; brevis
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x012D)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "a4") ; ogonek
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x012F)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "t1") ; tilde
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x0129)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "a5") ; punkt dar<61>ber
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x0131)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "c2") ; caron
|
2008-06-11 17:08:16 +00:00
|
|
|
|
BSSendUnicodeChar(0x01D0)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
sendinput {blind}i
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "comp") ; compose
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := "i_small"
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 2
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "c1") ; circumflex
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x00CE)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "a1") ; akut
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x00CD)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "a2") ; grave
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x00CC)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "t3") ; diaerese
|
2008-05-06 11:41:19 +00:00
|
|
|
|
Send, {bs}<EFBFBD>
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "t2") ; macron
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x012A)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "c3") ; brevis
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x012C)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "a5") ; ogonek
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x012E)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "t1") ; tilde
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x0128)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "a4") ; punkt dar<61>ber
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x0130)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "c2") ; caron
|
2008-06-11 17:08:16 +00:00
|
|
|
|
BSSendUnicodeChar(0x01CF)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
sendinput {blind}I
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "comp") ; compose
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := "i_capital"
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 3
|
|
|
|
|
{
|
|
|
|
|
send `/
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 4
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
Sendinput {Blind}{Left}
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
2008-07-02 14:06:46 +00:00
|
|
|
|
else if Ebene = 5
|
2008-05-06 11:41:19 +00:00
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
SendUnicodeChar(0x03B9) ; iota
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 6
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
SendUnicodeChar(0x222B) ; integral
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
PriorDeadKey := ""
|
|
|
|
|
return
|
|
|
|
|
|
2008-06-18 23:26:43 +00:00
|
|
|
|
neo_a:
|
2008-05-06 11:41:19 +00:00
|
|
|
|
EbeneAktualisieren()
|
|
|
|
|
if Ebene = 1
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "c1") ; circumflex
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x00E2)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "a1") ; akut
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x00E1)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "a2") ; grave
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x00E0)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "t3") ; diaerese
|
2008-05-06 11:41:19 +00:00
|
|
|
|
send {bs}<EFBFBD>
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "a6") ; Ring
|
2008-05-06 11:41:19 +00:00
|
|
|
|
Send {bs}<EFBFBD>
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "t1") ; tilde
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x00E3)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "a5") ; ogonek
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x0105)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "t2") ; macron
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x0101)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "c3") ; brevis
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x0103)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "c2") ; caron
|
2008-06-11 17:08:16 +00:00
|
|
|
|
BSSendUnicodeChar(0x01CE)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
sendinput {blind}a
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "comp") ; compose
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := "a_small"
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 2
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "c1") ; circumflex
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x00C2)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "a1") ; akut
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x00C1)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "a2") ; grave
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x00C0)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "t3") ; diaerese
|
2008-05-06 11:41:19 +00:00
|
|
|
|
send {bs}<EFBFBD>
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "t1") ; tilde
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x00C3)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "a6") ; Ring
|
2008-05-06 11:41:19 +00:00
|
|
|
|
Send {bs}<EFBFBD>
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "t2") ; macron
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x0100)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "c3") ; brevis
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x0102)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "a5") ; ogonek
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x0104)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "c2") ; caron
|
2008-06-11 17:08:16 +00:00
|
|
|
|
BSSendUnicodeChar(0x01CD)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
sendinput {blind}A
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "comp") ; compose
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := "a_capital"
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 3
|
|
|
|
|
{
|
|
|
|
|
sendraw {
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 4
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
Sendinput {Blind}{Down}
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 5
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
SendUnicodeChar(0x03B1) ;alpha
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 6
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
SendUnicodeChar(0x2200) ;fuer alle
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
PriorDeadKey := ""
|
|
|
|
|
return
|
|
|
|
|
|
2008-06-18 23:26:43 +00:00
|
|
|
|
neo_e:
|
2008-05-06 11:41:19 +00:00
|
|
|
|
EbeneAktualisieren()
|
|
|
|
|
if Ebene = 1
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "c1") ; circumflex
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x00EA)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "a1") ; akut
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x00E9)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "a2") ; grave
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x00E8)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "t3") ; diaerese
|
2008-05-06 11:41:19 +00:00
|
|
|
|
Send, {bs}<EFBFBD>
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "a5") ; ogonek
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x0119)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "t2") ; macron
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x0113)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "c3") ; brevis - defekt
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x0115)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "c2") ; caron - defekt
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x011B)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "a4") ; punkt dar<61>ber
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x0117)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (CompKey = "a_small") ; compose
|
2008-05-06 11:41:19 +00:00
|
|
|
|
{
|
|
|
|
|
Send {bs}<EFBFBD>
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (CompKey = "o_small") ; compose
|
2008-05-06 11:41:19 +00:00
|
|
|
|
{
|
|
|
|
|
Send {bs}<EFBFBD>
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
sendinput {blind}e
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 2
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "c1") ; circumflex
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x00CA)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "a1") ; akut
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x00C9)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "a2") ; grave
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x00C8)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "t3") ; diaerese
|
2008-05-06 11:41:19 +00:00
|
|
|
|
Send, {bs}<EFBFBD>
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "c2") ; caron
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x011A)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "t2") ; macron
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x0112)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "c3") ; brevis
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x0114)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "a5") ; ogonek
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x0118)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "a4") ; punkt dar<61>ber
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x0116)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (CompKey = "a_capital") ; compose
|
2008-05-06 11:41:19 +00:00
|
|
|
|
{
|
|
|
|
|
Send {bs}<EFBFBD>
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (CompKey = "o_capital") ; compose
|
2008-05-06 11:41:19 +00:00
|
|
|
|
{
|
|
|
|
|
Send {bs}<EFBFBD>
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
sendinput {blind}E
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 3
|
|
|
|
|
sendraw }
|
|
|
|
|
else if Ebene = 4
|
|
|
|
|
Sendinput {Blind}{Right}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if Ebene = 5
|
|
|
|
|
SendUnicodeChar(0x03B5) ;epsilon
|
2008-05-06 11:41:19 +00:00
|
|
|
|
else if Ebene = 6
|
2008-06-14 11:43:05 +00:00
|
|
|
|
SendUnicodeChar(0x2203) ;es existiert
|
2008-05-06 11:41:19 +00:00
|
|
|
|
PriorDeadKey := "" CompKey := ""
|
|
|
|
|
return
|
|
|
|
|
|
2008-06-18 23:26:43 +00:00
|
|
|
|
neo_o:
|
2008-05-06 11:41:19 +00:00
|
|
|
|
EbeneAktualisieren()
|
|
|
|
|
if Ebene = 1
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "c1") ; circumflex
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x00F4)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "a1") ; akut
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x00F3)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "a2") ; grave
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x00F2)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "t3") ; diaerese
|
2008-05-06 11:41:19 +00:00
|
|
|
|
Send, {bs}<EFBFBD>
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "t1") ; tilde
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x00F5)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "t5") ; doppelakut
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x0151)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "t4") ; Schr<68>gstrich
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x00F8)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "t2") ; macron
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x014D)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "c3") ; brevis
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x014F)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "a5") ; ogonek
|
2008-06-11 17:08:16 +00:00
|
|
|
|
BSSendUnicodeChar(0x01EB)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "c2") ; caron
|
2008-07-02 14:06:46 +00:00
|
|
|
|
BSSendUnicodeChar(0x01D2)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
sendinput {blind}o
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "comp") ; compose
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := "o_small"
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 2
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "c1") ; circumflex
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x00D4)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "a1") ; akut
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x00D3)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "a2") ; grave
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x00D2)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "t4") ; Schr<68>gstrich
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x00D8)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "t1") ; tilde
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x00D5)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "t5") ; doppelakut
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x0150)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "t3") ; diaerese
|
2008-05-06 11:41:19 +00:00
|
|
|
|
send {bs}<EFBFBD>
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "t2") ; macron
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x014C)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "c3") ; brevis
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x014E)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "a5") ; ogonek
|
2008-06-11 17:08:16 +00:00
|
|
|
|
BSSendUnicodeChar(0x01EA)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "c2") ; caron
|
2008-06-11 17:08:16 +00:00
|
|
|
|
BSSendUnicodeChar(0x01D1)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
sendinput {blind}O
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "comp") ; compose
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := "o_capital"
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 3
|
|
|
|
|
{
|
|
|
|
|
send *
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 4
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
Send {blind}{End}
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 5
|
|
|
|
|
{
|
2008-06-14 20:31:51 +00:00
|
|
|
|
SendUnicodeChar(0x03BF) ; omicron
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 6
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
SendUnicodeChar(0x2208) ; element of
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
PriorDeadKey := ""
|
|
|
|
|
return
|
|
|
|
|
|
2008-06-18 23:26:43 +00:00
|
|
|
|
neo_s:
|
2008-05-06 11:41:19 +00:00
|
|
|
|
EbeneAktualisieren()
|
|
|
|
|
if Ebene = 1
|
|
|
|
|
{
|
2008-07-08 21:22:57 +00:00
|
|
|
|
if (PriorDeadKey = "c1") ; circumflex
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x015D)
|
2008-07-08 21:22:57 +00:00
|
|
|
|
else if (PriorDeadKey = "a1") ; akut
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x015B)
|
2008-07-08 21:22:57 +00:00
|
|
|
|
else if (PriorDeadKey = "c2") ; caron
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x0161)
|
2008-07-08 21:22:57 +00:00
|
|
|
|
else if (PriorDeadKey = "a3") ; cedilla
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x015F)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "a4") ; punkt dar<61>ber
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x1E61)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "c6") ; punkt darunter
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x1E63)
|
2008-07-08 21:22:57 +00:00
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
if (LangSTastatur = 1)
|
|
|
|
|
{
|
|
|
|
|
if GetKeyState("CapsLock","T")
|
|
|
|
|
sendinput {blind}s
|
|
|
|
|
else
|
|
|
|
|
SendUnicodeChar(0x017F) ; langes s
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
sendinput {blind}s
|
|
|
|
|
}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "comp")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := "s_small"
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 2
|
|
|
|
|
{
|
2008-07-08 21:22:57 +00:00
|
|
|
|
if (PriorDeadKey = "c1") ; circumflex
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x015C)
|
2008-07-08 21:22:57 +00:00
|
|
|
|
else if (PriorDeadKey = "c2") ; caron
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x0160)
|
2008-07-08 21:22:57 +00:00
|
|
|
|
else if (PriorDeadKey = "a1") ; akut
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x015A)
|
2008-07-08 21:22:57 +00:00
|
|
|
|
else if (PriorDeadKey = "a3") ; cedilla
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x015E)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "a4") ; punkt dar<61>ber
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x1E60)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "c6") ; punkt darunter
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x1E62)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-07-08 21:22:57 +00:00
|
|
|
|
{
|
|
|
|
|
if GetKeyState("CapsLock","T") && (LangSTastatur = 1)
|
|
|
|
|
SendUnicodeChar(0x017F)
|
|
|
|
|
else
|
|
|
|
|
sendinput {blind}S
|
|
|
|
|
}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "comp")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := "s_capital"
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 3
|
|
|
|
|
{
|
|
|
|
|
send ?
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 4
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
Send <EFBFBD>
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 5
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
SendUnicodeChar(0x03C3) ;sigma
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 6
|
|
|
|
|
{
|
|
|
|
|
SendUnicodeChar(0x03A3) ; Sigma
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
PriorDeadKey := ""
|
|
|
|
|
return
|
|
|
|
|
|
2008-06-18 23:26:43 +00:00
|
|
|
|
neo_n:
|
2008-05-06 11:41:19 +00:00
|
|
|
|
EbeneAktualisieren()
|
|
|
|
|
if Ebene = 1
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "a1") ; akut
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x0144)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "t1") ; tilde
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x00F1)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "c2") ; caron
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x0148)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "a3") ; cedilla
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x0146)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "a4") ; punkt dar<61>ber
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x1E45)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
sendinput {blind}n
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 2
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "c2") ; caron
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x0147)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "t1") ; tilde
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x00D1)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "a1") ; akut
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x0143)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "a3") ; cedilla
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x0145)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "a4") ; punkt dar<61>ber
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x1E44)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
sendinput {blind}N
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 3
|
|
|
|
|
send (
|
|
|
|
|
else if Ebene = 4
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "c1") ; circumflex
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x2074)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "c5") ; toter -
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x2084)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
Send 4
|
|
|
|
|
}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if Ebene = 5
|
|
|
|
|
SendUnicodeChar(0x03BD) ; nu
|
|
|
|
|
else if Ebene = 6
|
|
|
|
|
SendUnicodeChar(0x2115) ; N (nat<61>rliche Zahlen)
|
2008-05-06 11:41:19 +00:00
|
|
|
|
PriorDeadKey := "" CompKey := ""
|
|
|
|
|
return
|
|
|
|
|
|
2008-06-18 23:26:43 +00:00
|
|
|
|
neo_r:
|
2008-05-06 11:41:19 +00:00
|
|
|
|
EbeneAktualisieren()
|
|
|
|
|
if Ebene = 1
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "a1") ; akut
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x0155)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "c2") ; caron
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x0159)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "a3") ; cedilla
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x0157)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "a4") ; punkt dar<61>ber
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x0E59)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "c6") ; punkt darunter
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x1E5B)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
sendinput {blind}r
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "comp")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := "r_small"
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 2
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "c2") ; caron
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x0158)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "a1") ; akut
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x0154)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "a3") ; cedilla
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x0156)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "a4") ; punkt dar<61>ber
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x1E58)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "c6") ; punkt darunter
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x1E5A)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
sendinput {blind}R
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "comp")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := "r_capital"
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 3
|
|
|
|
|
{
|
|
|
|
|
send )
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 4
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "c1") ; circumflex
|
|
|
|
|
BSSendUnicodeChar(0x2075)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "c5") ; toter -
|
2008-06-14 11:43:05 +00:00
|
|
|
|
BSSendUnicodeChar(0x2085)
|
|
|
|
|
else
|
|
|
|
|
Send 5
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 5
|
|
|
|
|
{
|
2008-06-21 16:18:44 +00:00
|
|
|
|
SendUnicodeChar(0x03F1) ; rho symbol (varrho)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 6
|
|
|
|
|
{
|
|
|
|
|
SendUnicodeChar(0x211D) ; R (reelle Zahlen)
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
PriorDeadKey := ""
|
|
|
|
|
return
|
|
|
|
|
|
2008-06-18 23:26:43 +00:00
|
|
|
|
neo_t:
|
|
|
|
|
EbeneAktualisieren()
|
|
|
|
|
if Ebene = 1
|
|
|
|
|
{
|
|
|
|
|
if (PriorDeadKey = "c2") ; caron
|
|
|
|
|
BSSendUnicodeChar(0x0165)
|
|
|
|
|
else if (PriorDeadKey = "a3") ; cedilla
|
|
|
|
|
BSSendUnicodeChar(0x0163)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "c5") ; Querstrich
|
2008-06-18 23:26:43 +00:00
|
|
|
|
BSSendUnicodeChar(0x0167)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "a4") ; punkt dar<61>ber
|
2008-06-18 23:26:43 +00:00
|
|
|
|
BSSendUnicodeChar(0x1E6B)
|
|
|
|
|
else if (PriorDeadKey = "c6") ; punkt darunter
|
|
|
|
|
BSSendUnicodeChar(0x1E6D)
|
|
|
|
|
else
|
|
|
|
|
sendinput {blind}t
|
|
|
|
|
if (PriorDeadKey = "comp")
|
|
|
|
|
CompKey := "t_small"
|
|
|
|
|
else
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 2
|
|
|
|
|
{
|
|
|
|
|
if (PriorDeadKey = "c2") ; caron
|
|
|
|
|
BSSendUnicodeChar(0x0164)
|
|
|
|
|
else if (PriorDeadKey = "a3") ; cedilla
|
|
|
|
|
BSSendUnicodeChar(0x0162)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "c5") ; Querstrich
|
2008-06-18 23:26:43 +00:00
|
|
|
|
BSSendUnicodeChar(0x0166)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "a4") ; punkt dar<61>ber
|
2008-06-18 23:26:43 +00:00
|
|
|
|
BSSendUnicodeChar(0x1E6A)
|
|
|
|
|
else if (PriorDeadKey = "c6") ; punkt darunter
|
|
|
|
|
BSSendUnicodeChar(0x1E6C)
|
|
|
|
|
else
|
|
|
|
|
sendinput {blind}T
|
|
|
|
|
if (PriorDeadKey = "comp")
|
|
|
|
|
CompKey := "t_capital"
|
|
|
|
|
else
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 3
|
|
|
|
|
{
|
|
|
|
|
send {blind}- ; Bis
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 4
|
|
|
|
|
{
|
|
|
|
|
if (PriorDeadKey = "c1") ; circumflex
|
|
|
|
|
BSSendUnicodeChar(0x2076)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "c5") ; toter -
|
2008-06-18 23:26:43 +00:00
|
|
|
|
BSSendUnicodeChar(0x2086)
|
|
|
|
|
else
|
|
|
|
|
Send 6
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 5
|
|
|
|
|
{
|
|
|
|
|
SendUnicodeChar(0x03C4) ; tau
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 6
|
|
|
|
|
{
|
|
|
|
|
SendUnicodeChar(0x2202 ) ; partielle Ableitung
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
PriorDeadKey := ""
|
2008-05-06 11:41:19 +00:00
|
|
|
|
return
|
|
|
|
|
|
2008-06-18 23:26:43 +00:00
|
|
|
|
neo_d:
|
2008-05-06 11:41:19 +00:00
|
|
|
|
EbeneAktualisieren()
|
|
|
|
|
if Ebene = 1
|
|
|
|
|
{
|
2008-07-25 06:46:11 +00:00
|
|
|
|
if (PriorDeadKey = "c5") ; Querstrich
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x0111)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "t4") ; Schr<68>gstrich
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x00F0)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "c2") ; caron
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x010F)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "a4") ; punkt dar<61>ber
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x1E0B)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "c6") ; punkt darunter
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x1E0D)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
sendinput {blind}d
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 2
|
|
|
|
|
{
|
2008-07-25 06:46:11 +00:00
|
|
|
|
if (PriorDeadKey = "c5") ; Querstrich
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x0110)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "t4") ; Schr<68>gstrich
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x00D0)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "c2") ; caron
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x010E)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "a4") ; punkt dar<61>ber
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x1E0A)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "c6") ; punkt darunter
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x1E0D)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else sendinput {blind}D
|
2008-05-06 11:41:19 +00:00
|
|
|
|
}
|
|
|
|
|
else if Ebene = 3
|
|
|
|
|
send :
|
|
|
|
|
else if Ebene = 4
|
2008-06-21 16:03:40 +00:00
|
|
|
|
Send `,
|
2008-05-06 11:41:19 +00:00
|
|
|
|
else if Ebene = 5
|
2008-06-14 11:43:05 +00:00
|
|
|
|
SendUnicodeChar(0x03B4) ;delta
|
2008-05-06 11:41:19 +00:00
|
|
|
|
else if Ebene = 6
|
|
|
|
|
SendUnicodeChar(0x0394) ; Delta
|
|
|
|
|
PriorDeadKey := "" CompKey := ""
|
|
|
|
|
return
|
|
|
|
|
|
2008-06-18 23:26:43 +00:00
|
|
|
|
neo_y:
|
2008-05-06 11:41:19 +00:00
|
|
|
|
EbeneAktualisieren()
|
|
|
|
|
if Ebene = 1
|
|
|
|
|
{
|
2008-07-25 06:46:11 +00:00
|
|
|
|
if (PriorDeadKey = "t3") ; diaerese
|
2008-05-06 11:41:19 +00:00
|
|
|
|
Send {bs}<EFBFBD>
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "a1") ; akut
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x00FD)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "c1") ; circumflex
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x0177)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
sendinput {blind}y
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 2
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "a1") ; akut
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x00DD)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "t3") ; diaerese
|
2008-05-06 11:41:19 +00:00
|
|
|
|
Send {bs}<EFBFBD>
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "c1") ; circumflex
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x0176)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
sendinput {blind}Y
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 3
|
|
|
|
|
send @
|
|
|
|
|
else if Ebene = 4
|
2008-07-02 14:06:46 +00:00
|
|
|
|
Send .
|
2008-05-06 11:41:19 +00:00
|
|
|
|
else if Ebene = 5
|
2008-07-02 14:06:46 +00:00
|
|
|
|
SendUnicodeChar(0x03C5) ; upsilon
|
2008-05-06 11:41:19 +00:00
|
|
|
|
else if Ebene = 6
|
2008-06-14 11:43:05 +00:00
|
|
|
|
SendUnicodeChar(0x2207) ; nabla
|
2008-05-06 11:41:19 +00:00
|
|
|
|
PriorDeadKey := "" CompKey := ""
|
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
;SC02B (#) wird zu Mod3
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
------------------------------------------------------
|
|
|
|
|
Reihe 4
|
|
|
|
|
------------------------------------------------------
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
;SC056 (<) wird zu Mod4
|
|
|
|
|
|
2008-06-18 23:26:43 +00:00
|
|
|
|
neo_<EFBFBD>:
|
2008-05-06 11:41:19 +00:00
|
|
|
|
EbeneAktualisieren()
|
|
|
|
|
if Ebene = 1
|
2008-06-11 17:08:16 +00:00
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "t2") ; macron
|
2008-06-11 17:08:16 +00:00
|
|
|
|
BSSendUnicodeChar(0x01D6)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "a1") ; akut
|
2008-06-11 17:08:16 +00:00
|
|
|
|
BSSendUnicodeChar(0x01D8)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "a2") ; grave
|
2008-06-11 17:08:16 +00:00
|
|
|
|
BSSendUnicodeChar(0x01DC)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "c2") ; caron
|
2008-06-11 17:08:16 +00:00
|
|
|
|
BSSendUnicodeChar(0x01DA)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-06-11 17:08:16 +00:00
|
|
|
|
sendinput {blind}<EFBFBD>
|
|
|
|
|
}
|
2008-05-06 11:41:19 +00:00
|
|
|
|
else if Ebene = 2
|
2008-06-11 17:08:16 +00:00
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "t2") ; macron
|
2008-06-11 17:08:16 +00:00
|
|
|
|
BSSendUnicodeChar(0x01D5)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "a1") ; akut
|
2008-06-11 17:08:16 +00:00
|
|
|
|
BSSendUnicodeChar(0x01D7)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "a2") ; grave
|
2008-06-11 17:08:16 +00:00
|
|
|
|
BSSendUnicodeChar(0x01DB)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "c2") ; caron
|
2008-06-11 17:08:16 +00:00
|
|
|
|
BSSendUnicodeChar(0x01D9)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-06-11 17:08:16 +00:00
|
|
|
|
sendinput {blind}<EFBFBD>
|
|
|
|
|
}
|
2008-05-06 11:41:19 +00:00
|
|
|
|
else if Ebene = 3
|
|
|
|
|
send {blind}{#}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if Ebene = 4
|
2008-05-06 11:41:19 +00:00
|
|
|
|
Send {Esc}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if Ebene = 5
|
|
|
|
|
{} ; leer
|
|
|
|
|
else if Ebene = 6
|
|
|
|
|
SendUnicodeChar(0x221D) ; proportional
|
|
|
|
|
|
2008-05-06 11:41:19 +00:00
|
|
|
|
PriorDeadKey := "" CompKey := ""
|
|
|
|
|
return
|
|
|
|
|
|
2008-06-18 23:26:43 +00:00
|
|
|
|
neo_<EFBFBD>:
|
2008-05-06 11:41:19 +00:00
|
|
|
|
EbeneAktualisieren()
|
|
|
|
|
if Ebene = 1
|
2008-06-11 17:08:16 +00:00
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "t2") ; macron
|
2008-06-11 17:08:16 +00:00
|
|
|
|
BSSendUnicodeChar(0x022B)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-06-11 17:08:16 +00:00
|
|
|
|
sendinput {blind}<EFBFBD>
|
|
|
|
|
}
|
2008-05-06 11:41:19 +00:00
|
|
|
|
else if Ebene = 2
|
2008-06-11 17:08:16 +00:00
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "t2") ; macron
|
2008-06-11 17:08:16 +00:00
|
|
|
|
BSSendUnicodeChar(0x022A)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-06-11 17:08:16 +00:00
|
|
|
|
sendinput {blind}<EFBFBD>
|
|
|
|
|
}
|
2008-05-06 11:41:19 +00:00
|
|
|
|
else if Ebene = 3
|
|
|
|
|
send $
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if Ebene = 4
|
2008-06-22 10:53:17 +00:00
|
|
|
|
goto neo_tab
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if Ebene = 5
|
|
|
|
|
{} ;leer
|
2008-05-06 11:41:19 +00:00
|
|
|
|
else if Ebene = 6
|
2008-06-14 11:43:05 +00:00
|
|
|
|
SendUnicodeChar(0x2111) ; Fraktur I
|
2008-05-06 11:41:19 +00:00
|
|
|
|
PriorDeadKey := "" CompKey := ""
|
|
|
|
|
return
|
|
|
|
|
|
2008-06-18 23:26:43 +00:00
|
|
|
|
neo_<EFBFBD>:
|
2008-05-06 11:41:19 +00:00
|
|
|
|
EbeneAktualisieren()
|
|
|
|
|
if Ebene = 1
|
2008-06-11 17:08:16 +00:00
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "t2") ; macron
|
2008-06-11 17:08:16 +00:00
|
|
|
|
BSSendUnicodeChar(0x01DF)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-06-11 17:08:16 +00:00
|
|
|
|
sendinput {blind}<EFBFBD>
|
|
|
|
|
}
|
2008-05-06 11:41:19 +00:00
|
|
|
|
else if Ebene = 2
|
2008-06-11 17:08:16 +00:00
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "t2") ; macron
|
2008-06-11 17:08:16 +00:00
|
|
|
|
BSSendUnicodeChar(0x001DE)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-06-11 17:08:16 +00:00
|
|
|
|
sendinput {blind}<EFBFBD>
|
|
|
|
|
}
|
2008-05-06 11:41:19 +00:00
|
|
|
|
else if Ebene = 3
|
|
|
|
|
send |
|
|
|
|
|
else if Ebene = 4
|
|
|
|
|
Send {PgDn} ; Next
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if Ebene = 5
|
|
|
|
|
SendUnicodeChar(0x03B7) ; eta
|
2008-05-06 11:41:19 +00:00
|
|
|
|
else if Ebene = 6
|
2008-06-14 11:43:05 +00:00
|
|
|
|
SendUnicodeChar(0x211C) ; altes R
|
2008-05-06 11:41:19 +00:00
|
|
|
|
PriorDeadKey := "" CompKey := ""
|
|
|
|
|
return
|
|
|
|
|
|
2008-06-18 23:26:43 +00:00
|
|
|
|
neo_p:
|
2008-05-06 11:41:19 +00:00
|
|
|
|
EbeneAktualisieren()
|
|
|
|
|
if Ebene = 1
|
|
|
|
|
{
|
2008-07-25 06:46:11 +00:00
|
|
|
|
if (PriorDeadKey = "a4") ; punkt dar<61>ber
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x1E57)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
sendinput {blind}p
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 2
|
|
|
|
|
{
|
2008-07-25 06:46:11 +00:00
|
|
|
|
if (PriorDeadKey = "a4") ; punkt dar<61>ber
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x1E56)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
sendinput {blind}P
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 3
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "t1") ; tilde
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x2248)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
sendraw ~
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 4
|
2008-06-21 19:27:39 +00:00
|
|
|
|
Send {Enter}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if Ebene = 5
|
|
|
|
|
SendUnicodeChar(0x03C0) ;pi
|
2008-05-06 11:41:19 +00:00
|
|
|
|
else if Ebene = 6
|
|
|
|
|
SendUnicodeChar(0x03A0) ; Pi
|
|
|
|
|
PriorDeadKey := "" CompKey := ""
|
|
|
|
|
return
|
|
|
|
|
|
2008-06-18 23:26:43 +00:00
|
|
|
|
neo_z:
|
2008-05-06 11:41:19 +00:00
|
|
|
|
EbeneAktualisieren()
|
|
|
|
|
if Ebene = 1
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "c2") ; caron
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x017E)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "a1") ; akut
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x017A)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "a4") ; punkt dr<64>ber
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x017C)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "c6") ; punkt drunter
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x1E93)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
sendinput {blind}z
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 2
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "c2") ; caron
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x017D)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "a1") ; akut
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x0179)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "a4") ; punkt dar<61>ber
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x017B)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "c6") ; punkt drunter
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x1E92)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
sendinput {blind}Z
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 3
|
|
|
|
|
send ``{space} ; untot
|
2008-06-14 20:31:51 +00:00
|
|
|
|
else if Ebene = 4
|
2008-06-14 11:43:05 +00:00
|
|
|
|
{} ; leer
|
|
|
|
|
else if Ebene = 5
|
|
|
|
|
SendUnicodeChar(0x03B6) ;zeta
|
2008-05-06 11:41:19 +00:00
|
|
|
|
else if Ebene = 6
|
2008-06-14 11:43:05 +00:00
|
|
|
|
SendUnicodeChar(0x2124) ; Z (ganze Zahlen)
|
2008-05-06 11:41:19 +00:00
|
|
|
|
PriorDeadKey := "" CompKey := ""
|
|
|
|
|
return
|
|
|
|
|
|
2008-06-18 23:26:43 +00:00
|
|
|
|
neo_b:
|
2008-05-06 11:41:19 +00:00
|
|
|
|
EbeneAktualisieren()
|
|
|
|
|
if Ebene = 1
|
|
|
|
|
{
|
2008-07-25 06:46:11 +00:00
|
|
|
|
if (PriorDeadKey = "a4") ; punkt dar<61>ber
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x1E03)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
sendinput {blind}b
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 2
|
|
|
|
|
{
|
2008-07-25 06:46:11 +00:00
|
|
|
|
if (PriorDeadKey = "a4") ; punkt dar<61>ber
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x1E02)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
sendinput {blind}B
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 3
|
|
|
|
|
send {blind}{+}
|
|
|
|
|
else if Ebene = 4
|
2008-06-21 16:03:40 +00:00
|
|
|
|
send :
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if Ebene = 5
|
|
|
|
|
SendUnicodeChar(0x03B2) ; beta
|
2008-05-06 11:41:19 +00:00
|
|
|
|
else if Ebene = 6
|
2008-06-14 11:43:05 +00:00
|
|
|
|
SendUnicodeChar(0x21D2) ; Doppel-Pfeil rechts
|
2008-05-06 11:41:19 +00:00
|
|
|
|
PriorDeadKey := "" CompKey := ""
|
|
|
|
|
return
|
|
|
|
|
|
2008-06-18 23:26:43 +00:00
|
|
|
|
neo_m:
|
2008-05-06 11:41:19 +00:00
|
|
|
|
EbeneAktualisieren()
|
|
|
|
|
if Ebene = 1
|
|
|
|
|
{
|
2008-07-25 06:46:11 +00:00
|
|
|
|
if (PriorDeadKey = "a4") ; punkt dar<61>ber
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x1E41)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "c6") ; punkt darunter
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x1E43)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if ( (CompKey = "t_small") or (CompKey = "t_capital") ) ; compose
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompUnicodeChar(0x2122) ; TM
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if ( (CompKey = "s_small") or (CompKey = "s_capital") ) ; compose
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompUnicodeChar(0x2120) ; SM
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
sendinput {blind}m
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 2
|
|
|
|
|
{
|
2008-07-25 06:46:11 +00:00
|
|
|
|
if (PriorDeadKey = "a4") ; punkt dar<61>ber
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x1E40)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "c6") ; punkt darunter
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x1E42)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if ( (CompKey = "t_capital") or (CompKey = "t_small") ) ; compose
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompUnicodeChar(0x2122) ; TM
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if ( (CompKey = "s_capital") or (CompKey = "s_small") ) ; compose
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompUnicodeChar(0x2120) ; SM
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
sendinput {blind}M
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 3
|
|
|
|
|
send `%
|
|
|
|
|
else if Ebene = 4
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "c1") ; circumflex
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x00B9)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "c5") ; toter -
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x2081)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
Send 1
|
|
|
|
|
}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if Ebene = 5
|
|
|
|
|
SendUnicodeChar(0x03BC) ; griechisch mu, micro w<>re 0x00B5
|
2008-05-06 11:41:19 +00:00
|
|
|
|
else if Ebene = 6
|
2008-06-14 11:43:05 +00:00
|
|
|
|
SendUnicodeChar(0x21D4) ; doppelter Doppelpfeil (genau dann wenn)
|
2008-05-06 11:41:19 +00:00
|
|
|
|
PriorDeadKey := "" CompKey := ""
|
|
|
|
|
return
|
|
|
|
|
|
2008-06-18 23:26:43 +00:00
|
|
|
|
neo_komma:
|
2008-05-06 11:41:19 +00:00
|
|
|
|
EbeneAktualisieren()
|
|
|
|
|
if Ebene = 1
|
2008-06-11 17:08:16 +00:00
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if GetKeyState("CapsLock","T")
|
2008-06-11 17:08:16 +00:00
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (IsModifierPressed())
|
2008-06-11 17:08:16 +00:00
|
|
|
|
{
|
|
|
|
|
send {blind},
|
|
|
|
|
}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-06-11 17:08:16 +00:00
|
|
|
|
{
|
|
|
|
|
send `,
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
2008-07-08 21:22:57 +00:00
|
|
|
|
else
|
|
|
|
|
{
|
2008-06-11 17:08:16 +00:00
|
|
|
|
send {blind},
|
|
|
|
|
}
|
|
|
|
|
}
|
2008-06-10 20:35:23 +00:00
|
|
|
|
else if Ebene = 2
|
|
|
|
|
SendUnicodeChar(0x22EE) ; vertikale ellipse
|
2008-05-06 11:41:19 +00:00
|
|
|
|
else if Ebene = 3
|
|
|
|
|
send "
|
|
|
|
|
else if Ebene = 4
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "c1") ; circumflex
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x00B2)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "c5") ; toter -
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x2082)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
Send 2
|
|
|
|
|
}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if Ebene = 5
|
2008-06-21 16:18:44 +00:00
|
|
|
|
SendUnicodeChar(0x03C1) ; rho
|
2008-05-06 11:41:19 +00:00
|
|
|
|
else if Ebene = 6
|
2008-06-14 11:43:05 +00:00
|
|
|
|
SendUnicodeChar(0x21D0) ; Doppelpfeil links
|
2008-05-06 11:41:19 +00:00
|
|
|
|
PriorDeadKey := "" CompKey := ""
|
|
|
|
|
return
|
|
|
|
|
|
2008-06-18 23:26:43 +00:00
|
|
|
|
neo_punkt:
|
2008-05-06 11:41:19 +00:00
|
|
|
|
EbeneAktualisieren()
|
|
|
|
|
if Ebene = 1
|
2008-06-11 17:08:16 +00:00
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if GetKeyState("CapsLock","T")
|
2008-06-11 17:08:16 +00:00
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (IsModifierPressed())
|
2008-06-11 17:08:16 +00:00
|
|
|
|
{
|
|
|
|
|
send {blind}.
|
|
|
|
|
}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-06-11 17:08:16 +00:00
|
|
|
|
{
|
|
|
|
|
send .
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else {
|
2008-06-11 17:08:16 +00:00
|
|
|
|
send {blind}.
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 2
|
2008-05-06 11:41:19 +00:00
|
|
|
|
SendUnicodeChar(0x2026) ; ellipse
|
|
|
|
|
else if Ebene = 3
|
|
|
|
|
send '
|
|
|
|
|
else if Ebene = 4
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "c1") ; circumflex
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x00B3)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "c5") ; toter -
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x2083)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
Send 3
|
|
|
|
|
}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if Ebene = 5
|
2008-06-21 16:18:44 +00:00
|
|
|
|
SendUnicodeChar(0x03D1) ; theta symbol (vartheta)
|
2008-05-06 11:41:19 +00:00
|
|
|
|
else if Ebene = 6
|
|
|
|
|
SendUnicodeChar(0x0398) ; Theta
|
|
|
|
|
PriorDeadKey := "" CompKey := ""
|
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
|
2008-06-18 23:26:43 +00:00
|
|
|
|
neo_j:
|
2008-05-06 11:41:19 +00:00
|
|
|
|
EbeneAktualisieren()
|
|
|
|
|
if Ebene = 1
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "c1") ; circumflex
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x0135)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (PriorDeadKey = "c2") ; caron
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x01F0)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (CompKey = "i_small") ; compose
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompUnicodeChar(0x0133) ; ij
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (CompKey = "l_small") ; compose
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompUnicodeChar(0x01C9) ; lj
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (CompKey = "l_capital") ; compose
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompUnicodeChar(0x01C8) ; Lj
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
sendinput {blind}j
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 2
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "c1") ; circumflex
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x0134)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (CompKey = "i_capital") ; compose
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompUnicodeChar(0x0132) ; IJ
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (CompKey = "l_capital") ; compose
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompUnicodeChar(0x01C7) ; LJ
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
sendinput {blind}J
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 3
|
|
|
|
|
send `;
|
|
|
|
|
else if Ebene = 4
|
2008-06-21 16:03:40 +00:00
|
|
|
|
Send `;
|
2008-05-06 11:41:19 +00:00
|
|
|
|
else if Ebene = 5
|
2008-06-21 16:18:44 +00:00
|
|
|
|
SendUnicodeChar(0x03B8) ; theta
|
2008-05-06 11:41:19 +00:00
|
|
|
|
else if Ebene = 6
|
2008-06-14 11:43:05 +00:00
|
|
|
|
SendUnicodeChar(0x2261) ; identisch
|
2008-05-06 11:41:19 +00:00
|
|
|
|
PriorDeadKey := "" CompKey := ""
|
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
------------------------------------------------------
|
|
|
|
|
Numpad
|
|
|
|
|
------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
folgende Tasten verhalten sich bei ein- und ausgeschaltetem
|
|
|
|
|
NumLock gleich:
|
|
|
|
|
*/
|
|
|
|
|
|
2008-06-18 23:26:43 +00:00
|
|
|
|
neo_NumpadDiv:
|
2008-05-06 11:41:19 +00:00
|
|
|
|
EbeneAktualisieren()
|
|
|
|
|
if ( (Ebene = 1) or (Ebene = 2) )
|
|
|
|
|
send {NumpadDiv}
|
|
|
|
|
else if Ebene = 3
|
|
|
|
|
send <EFBFBD>
|
|
|
|
|
else if ( (Ebene = 4) or (Ebene = 5) )
|
|
|
|
|
SendUnicodeChar(0x2215) ; slash
|
|
|
|
|
PriorDeadKey := "" CompKey := ""
|
|
|
|
|
return
|
|
|
|
|
|
2008-06-18 23:26:43 +00:00
|
|
|
|
neo_NumpadMult:
|
2008-05-06 11:41:19 +00:00
|
|
|
|
EbeneAktualisieren()
|
|
|
|
|
if ( (Ebene = 1) or (Ebene = 2) )
|
|
|
|
|
send {NumpadMult}
|
|
|
|
|
else if Ebene = 3
|
|
|
|
|
send <EFBFBD>
|
|
|
|
|
else if ( (Ebene = 4) or (Ebene = 5) )
|
|
|
|
|
SendUnicodeChar(0x22C5) ; cdot
|
|
|
|
|
PriorDeadKey := "" CompKey := ""
|
|
|
|
|
return
|
|
|
|
|
|
2008-06-18 23:26:43 +00:00
|
|
|
|
neo_NumpadSub:
|
2008-05-06 11:41:19 +00:00
|
|
|
|
EbeneAktualisieren()
|
|
|
|
|
if ( (Ebene = 1) or (Ebene = 2) )
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "c1") ; circumflex
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x207B)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "c5") ; toter -
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x208B)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-06-11 17:08:16 +00:00
|
|
|
|
send {blind}{NumpadSub}
|
2008-05-06 11:41:19 +00:00
|
|
|
|
}
|
|
|
|
|
else if Ebene = 3
|
|
|
|
|
SendUnicodeChar(0x2212) ; echtes minus
|
|
|
|
|
PriorDeadKey := "" CompKey := ""
|
|
|
|
|
return
|
|
|
|
|
|
2008-06-18 23:26:43 +00:00
|
|
|
|
neo_NumpadAdd:
|
2008-05-06 11:41:19 +00:00
|
|
|
|
EbeneAktualisieren()
|
|
|
|
|
if ( (Ebene = 1) or (Ebene = 2) )
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "c1") ; circumflex
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x207A)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "c5") ; toter -
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x208A)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-06-11 17:08:16 +00:00
|
|
|
|
send {blind}{NumpadAdd}
|
2008-05-06 11:41:19 +00:00
|
|
|
|
}
|
|
|
|
|
else if Ebene = 3
|
|
|
|
|
send <EFBFBD>
|
|
|
|
|
else if ( (Ebene = 4) or (Ebene = 5) )
|
|
|
|
|
SendUnicodeChar(0x2213) ; -+
|
|
|
|
|
PriorDeadKey := "" CompKey := ""
|
|
|
|
|
return
|
|
|
|
|
|
2008-06-18 23:26:43 +00:00
|
|
|
|
neo_NumpadEnter:
|
2008-05-06 11:41:19 +00:00
|
|
|
|
EbeneAktualisieren()
|
|
|
|
|
if ( (Ebene = 1) or (Ebene = 2) )
|
|
|
|
|
send {NumpadEnter}
|
|
|
|
|
else if Ebene = 3
|
|
|
|
|
SendUnicodeChar(0x2260) ; neq
|
|
|
|
|
else if ( (Ebene = 4) or (Ebene = 5) )
|
|
|
|
|
SendUnicodeChar(0x2248) ; approx
|
|
|
|
|
PriorDeadKey := "" CompKey := ""
|
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
folgende Tasten verhalten sich bei ein- und ausgeschaltetem NumLock
|
|
|
|
|
unterschiedlich:
|
|
|
|
|
|
|
|
|
|
bei NumLock ein
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-06-18 23:26:43 +00:00
|
|
|
|
neo_Numpad7:
|
2008-05-06 11:41:19 +00:00
|
|
|
|
EbeneAktualisieren()
|
|
|
|
|
if Ebene = 1
|
|
|
|
|
{
|
2008-06-11 17:08:16 +00:00
|
|
|
|
send {blind}{Numpad7}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "comp")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := "Num_7"
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 2
|
|
|
|
|
{
|
|
|
|
|
send {NumpadHome}
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 3
|
|
|
|
|
{
|
|
|
|
|
SendUnicodeChar(0x2195) ; Hoch-Runter-Pfeil
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if ( (Ebene = 4) or (Ebene = 5) )
|
|
|
|
|
{
|
|
|
|
|
SendUnicodeChar(0x226A) ; ll
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
PriorDeadKey := ""
|
|
|
|
|
return
|
|
|
|
|
|
2008-06-18 23:26:43 +00:00
|
|
|
|
neo_Numpad8:
|
2008-05-06 11:41:19 +00:00
|
|
|
|
EbeneAktualisieren()
|
|
|
|
|
if Ebene = 1
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (CompKey = "Num_1")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompUnicodeChar(0x215B) ; 1/8
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (CompKey = "Num_3")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompUnicodeChar(0x215C) ; 3/8
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (CompKey = "Num_5")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompUnicodeChar(0x215D) ; 5/8
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (CompKey = "Num_7")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompUnicodeChar(0x215E) ; 7/8
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-06-11 17:08:16 +00:00
|
|
|
|
send {blind}{Numpad8}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "comp")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := "Num_8"
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 2
|
|
|
|
|
{
|
|
|
|
|
send {NumpadUp}
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 3
|
|
|
|
|
{
|
|
|
|
|
SendUnicodeChar(0x2191) ; uparrow
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if ( (Ebene = 4) or (Ebene = 5) )
|
|
|
|
|
{
|
|
|
|
|
SendUnicodeChar(0x2229) ; intersection
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
PriorDeadKey := "" CompKey := ""
|
|
|
|
|
return
|
|
|
|
|
|
2008-06-18 23:26:43 +00:00
|
|
|
|
neo_Numpad9:
|
2008-05-06 11:41:19 +00:00
|
|
|
|
EbeneAktualisieren()
|
|
|
|
|
if Ebene = 1
|
|
|
|
|
{
|
2008-06-11 17:08:16 +00:00
|
|
|
|
send {blind}{Numpad9}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "comp")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := "Num_9"
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 2
|
|
|
|
|
{
|
|
|
|
|
send {NumpadPgUp}
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
2008-06-28 00:23:42 +00:00
|
|
|
|
else if Ebene = 3
|
|
|
|
|
{
|
|
|
|
|
SendUnicodeChar(0x2297) ; Tensorprodukt ; Vektor in die Ebene zeigend
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
2008-05-06 11:41:19 +00:00
|
|
|
|
else if ( (Ebene = 4) or (Ebene = 5) )
|
|
|
|
|
{
|
|
|
|
|
SendUnicodeChar(0x226B) ; gg
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
PriorDeadKey := ""
|
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-06-18 23:26:43 +00:00
|
|
|
|
neo_Numpad4:
|
2008-05-06 11:41:19 +00:00
|
|
|
|
EbeneAktualisieren()
|
|
|
|
|
if Ebene = 1
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (CompKey = "Num_1")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompUnicodeChar(0x00BC) ; 1/4
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (CompKey = "Num_3")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompUnicodeChar(0x00BE) ; 3/4
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-06-11 17:08:16 +00:00
|
|
|
|
send {blind}{Numpad4}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "comp")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := "Num_4"
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 2
|
|
|
|
|
{
|
|
|
|
|
send {NumpadLeft}
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 3
|
|
|
|
|
{
|
|
|
|
|
SendUnicodeChar(0x2190) ; leftarrow
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if ( (Ebene = 4) or (Ebene = 5) )
|
|
|
|
|
{
|
|
|
|
|
SendUnicodeChar(0x2282) ; subset of
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
PriorDeadKey := ""
|
|
|
|
|
return
|
|
|
|
|
|
2008-06-18 23:26:43 +00:00
|
|
|
|
neo_Numpad5:
|
2008-05-06 11:41:19 +00:00
|
|
|
|
EbeneAktualisieren()
|
|
|
|
|
if Ebene = 1
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (CompKey = "Num_1")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompUnicodeChar(0x2155) ; 1/5
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (CompKey = "Num_2")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompUnicodeChar(0x2156) ; 2/5
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (CompKey = "Num_3")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompUnicodeChar(0x2157) ; 3/5
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (CompKey = "Num_4")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompUnicodeChar(0x2158) ; 4/5
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-06-11 17:08:16 +00:00
|
|
|
|
send {blind}{Numpad5}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "comp")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := "Num_5"
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 2
|
|
|
|
|
{
|
|
|
|
|
send {NumpadClear}
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 3
|
|
|
|
|
{
|
2008-06-28 00:23:42 +00:00
|
|
|
|
SendUnicodeChar(0x221E) ; INFINITY
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if ( (Ebene = 4) or (Ebene = 5) )
|
|
|
|
|
{
|
2008-06-28 00:23:42 +00:00
|
|
|
|
SendUnicodeChar(0x220B) ; enth<74>lt das Element
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
PriorDeadKey := ""
|
|
|
|
|
return
|
|
|
|
|
|
2008-06-18 23:26:43 +00:00
|
|
|
|
neo_Numpad6:
|
2008-05-06 11:41:19 +00:00
|
|
|
|
EbeneAktualisieren()
|
|
|
|
|
if Ebene = 1
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (CompKey = "Num_1")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompUnicodeChar(0x2159) ; 1/6
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (CompKey = "Num_5")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompUnicodeChar(0x215A) ; 5/6
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-06-11 17:08:16 +00:00
|
|
|
|
send {blind}{Numpad6}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "comp")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := "Num_6"
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 2
|
|
|
|
|
{
|
|
|
|
|
send {NumpadRight}
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 3
|
|
|
|
|
{
|
|
|
|
|
SendUnicodeChar(0x2192) ; rightarrow
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if ( (Ebene = 4) or (Ebene = 5) )
|
|
|
|
|
{
|
|
|
|
|
SendUnicodeChar(0x2283) ; superset of
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
PriorDeadKey := ""
|
|
|
|
|
return
|
|
|
|
|
|
2008-06-18 23:26:43 +00:00
|
|
|
|
neo_Numpad1:
|
2008-05-06 11:41:19 +00:00
|
|
|
|
EbeneAktualisieren()
|
|
|
|
|
if Ebene = 1
|
|
|
|
|
{
|
2008-06-11 17:08:16 +00:00
|
|
|
|
send {blind}{Numpad1}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "comp")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := "Num_1"
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 2
|
|
|
|
|
{
|
|
|
|
|
send {NumpadEnd}
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 3
|
|
|
|
|
{
|
|
|
|
|
SendUnicodeChar(0x2194) ; Links-Rechts-Pfeil
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if ( (Ebene = 4) or (Ebene = 5) )
|
|
|
|
|
{
|
|
|
|
|
SendUnicodeChar(0x2264) ; leq
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
PriorDeadKey := ""
|
|
|
|
|
return
|
|
|
|
|
|
2008-06-18 23:26:43 +00:00
|
|
|
|
neo_Numpad2:
|
2008-05-06 11:41:19 +00:00
|
|
|
|
EbeneAktualisieren()
|
|
|
|
|
if Ebene = 1
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (CompKey = "Num_1")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompUnicodeChar(0x00BD) ; 1/2
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-06-11 17:08:16 +00:00
|
|
|
|
send {blind}{Numpad2}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "comp")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := "Num_2"
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 2
|
|
|
|
|
{
|
|
|
|
|
send {NumpadDown}
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 3
|
|
|
|
|
{
|
|
|
|
|
SendUnicodeChar(0x2193) ; downarrow
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if ( (Ebene = 4) or (Ebene = 5) )
|
|
|
|
|
{
|
|
|
|
|
SendUnicodeChar(0x222A) ; vereinigt
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
PriorDeadKey := ""
|
|
|
|
|
return
|
|
|
|
|
|
2008-06-18 23:26:43 +00:00
|
|
|
|
neo_Numpad3:
|
2008-05-06 11:41:19 +00:00
|
|
|
|
EbeneAktualisieren()
|
|
|
|
|
if Ebene = 1
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (CompKey = "Num_1")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompUnicodeChar(0x2153) ; 1/3
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (CompKey = "Num_2")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompUnicodeChar(0x2154) ; 2/3
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-06-11 17:08:16 +00:00
|
|
|
|
send {blind}{Numpad3}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "comp")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := "Num_3"
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 2
|
|
|
|
|
send {NumpadPgDn}
|
|
|
|
|
else if Ebene = 3
|
|
|
|
|
SendUnicodeChar(0x21CC) ; RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON
|
|
|
|
|
else if ( (Ebene = 4) or (Ebene = 5) )
|
|
|
|
|
SendUnicodeChar(0x2265) ; geq
|
|
|
|
|
PriorDeadKey := "" CompKey := ""
|
|
|
|
|
return
|
|
|
|
|
|
2008-06-18 23:26:43 +00:00
|
|
|
|
neo_Numpad0:
|
2008-05-06 11:41:19 +00:00
|
|
|
|
EbeneAktualisieren()
|
|
|
|
|
if Ebene = 1
|
|
|
|
|
{
|
2008-06-11 17:08:16 +00:00
|
|
|
|
send {blind}{Numpad0}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "comp")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := "Num_0"
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 2
|
|
|
|
|
{
|
|
|
|
|
send {NumpadIns}
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 3
|
|
|
|
|
{
|
|
|
|
|
send `%
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if ( (Ebene = 4) or (Ebene = 5) )
|
|
|
|
|
{
|
|
|
|
|
send <EFBFBD>
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
PriorDeadKey := ""
|
|
|
|
|
return
|
|
|
|
|
|
2008-06-18 23:26:43 +00:00
|
|
|
|
neo_NumpadDot:
|
2008-05-06 11:41:19 +00:00
|
|
|
|
EbeneAktualisieren()
|
|
|
|
|
if Ebene = 1
|
|
|
|
|
{
|
|
|
|
|
send {NumpadDot}
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 2
|
|
|
|
|
{
|
|
|
|
|
send {NumpadDel}
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 3
|
|
|
|
|
{
|
|
|
|
|
send .
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if ( (Ebene = 4) or (Ebene = 5) )
|
|
|
|
|
{
|
|
|
|
|
send `,
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
PriorDeadKey := ""
|
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
bei NumLock aus
|
|
|
|
|
*/
|
|
|
|
|
|
2008-06-18 23:26:43 +00:00
|
|
|
|
neo_NumpadHome:
|
2008-05-06 11:41:19 +00:00
|
|
|
|
EbeneAktualisieren()
|
|
|
|
|
if Ebene = 1
|
|
|
|
|
{
|
|
|
|
|
send {NumpadHome}
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 2
|
|
|
|
|
{
|
|
|
|
|
send {Numpad7}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "comp")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := "Num_7"
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if ( (Ebene = 4) or (Ebene = 5) )
|
|
|
|
|
{
|
|
|
|
|
SendUnicodeChar(0x226A) ; ll
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
PriorDeadKey := ""
|
|
|
|
|
return
|
|
|
|
|
|
2008-06-18 23:26:43 +00:00
|
|
|
|
neo_NumpadUp:
|
2008-05-06 11:41:19 +00:00
|
|
|
|
EbeneAktualisieren()
|
|
|
|
|
if Ebene = 1
|
|
|
|
|
{
|
|
|
|
|
send {NumpadUp}
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 2
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (CompKey = "Num_1")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompUnicodeChar(0x215B) ; 1/8
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (CompKey = "Num_3")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompUnicodeChar(0x215C) ; 3/8
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (CompKey = "Num_5")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompUnicodeChar(0x215D) ; 5/8
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (CompKey = "Num_7")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompUnicodeChar(0x215E) ; 7/8
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
send {Numpad8}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "comp")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := "Num_8"
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 3
|
|
|
|
|
{
|
|
|
|
|
SendUnicodeChar(0x2191) ; uparrow
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if ( (Ebene = 4) or (Ebene = 5) )
|
|
|
|
|
{
|
|
|
|
|
SendUnicodeChar(0x2229) ; intersection
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
PriorDeadKey := ""
|
|
|
|
|
return
|
|
|
|
|
|
2008-06-18 23:26:43 +00:00
|
|
|
|
neo_NumpadPgUp:
|
2008-05-06 11:41:19 +00:00
|
|
|
|
EbeneAktualisieren()
|
|
|
|
|
if Ebene = 1
|
|
|
|
|
{
|
|
|
|
|
send {NumpadPgUp}
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 2
|
|
|
|
|
{
|
|
|
|
|
send {Numpad9}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "comp")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := "Num_9"
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if ( (Ebene = 4) or (Ebene = 5) )
|
|
|
|
|
{
|
2008-07-02 14:06:46 +00:00
|
|
|
|
|
2008-05-06 11:41:19 +00:00
|
|
|
|
SendUnicodeChar(0x226B) ; gg
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
PriorDeadKey := ""
|
|
|
|
|
return
|
|
|
|
|
|
2008-06-18 23:26:43 +00:00
|
|
|
|
neo_NumpadLeft:
|
2008-05-06 11:41:19 +00:00
|
|
|
|
EbeneAktualisieren()
|
|
|
|
|
if Ebene = 1
|
|
|
|
|
{
|
|
|
|
|
send {NumpadLeft}
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 2
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (CompKey = "Num_1")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompUnicodeChar(0x00BC) ; 1/4
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (CompKey = "Num_3")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompUnicodeChar(0x00BE) ; 3/4
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
send {Numpad4}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "comp")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := "Num_4"
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 3
|
|
|
|
|
{
|
|
|
|
|
SendUnicodeChar(0x2190) ; leftarrow
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if ( (Ebene = 4) or (Ebene = 5) )
|
|
|
|
|
{
|
|
|
|
|
SendUnicodeChar(0x2282) ; subset of
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
PriorDeadKey := ""
|
|
|
|
|
return
|
|
|
|
|
|
2008-06-18 23:26:43 +00:00
|
|
|
|
neo_NumpadClear:
|
2008-05-06 11:41:19 +00:00
|
|
|
|
EbeneAktualisieren()
|
|
|
|
|
if Ebene = 1
|
|
|
|
|
{
|
|
|
|
|
send {NumpadClear}
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 2
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (CompKey = "Num_1")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompUnicodeChar(0x2155) ; 1/5
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (CompKey = "Num_2")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompUnicodeChar(0x2156) ; 2/5
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (CompKey = "Num_3")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompUnicodeChar(0x2157) ; 3/5
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (CompKey = "Num_4")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompUnicodeChar(0x2158) ; 4/5
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
send {Numpad5}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "comp")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := "Num_5"
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 3
|
|
|
|
|
{
|
|
|
|
|
send <EFBFBD>
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if ( (Ebene = 4) or (Ebene = 5) )
|
|
|
|
|
{
|
|
|
|
|
SendUnicodeChar(0x220A) ; small element of
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
PriorDeadKey := ""
|
|
|
|
|
return
|
|
|
|
|
|
2008-06-18 23:26:43 +00:00
|
|
|
|
neo_NumpadRight:
|
2008-05-06 11:41:19 +00:00
|
|
|
|
EbeneAktualisieren()
|
|
|
|
|
if Ebene = 1
|
|
|
|
|
{
|
|
|
|
|
send {NumpadRight}
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 2
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (CompKey = "Num_1")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompUnicodeChar(0x2159) ; 1/6
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (CompKey = "Num_5")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompUnicodeChar(0x215A) ; 5/6
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
send {Numpad6}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "comp")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := "Num_6"
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 3
|
|
|
|
|
{
|
|
|
|
|
SendUnicodeChar(0x2192) ; rightarrow
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if ( (Ebene = 4) or (Ebene = 5) )
|
|
|
|
|
{
|
|
|
|
|
SendUnicodeChar(0x2283) ; superset of
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
PriorDeadKey := ""
|
|
|
|
|
return
|
|
|
|
|
|
2008-06-18 23:26:43 +00:00
|
|
|
|
neo_NumpadEnd:
|
2008-05-06 11:41:19 +00:00
|
|
|
|
EbeneAktualisieren()
|
|
|
|
|
if Ebene = 1
|
|
|
|
|
{
|
|
|
|
|
send {NumpadEnd}
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 2
|
|
|
|
|
{
|
|
|
|
|
send {Numpad1}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "comp")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := "Num_1"
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 3
|
|
|
|
|
{
|
|
|
|
|
SendUnicodeChar(0x21CB) ; LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if ( (Ebene = 4) or (Ebene = 5) )
|
|
|
|
|
{
|
|
|
|
|
SendUnicodeChar(0x2264) ; leq
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
PriorDeadKey := ""
|
|
|
|
|
return
|
|
|
|
|
|
2008-06-18 23:26:43 +00:00
|
|
|
|
neo_NumpadDown:
|
2008-05-06 11:41:19 +00:00
|
|
|
|
EbeneAktualisieren()
|
|
|
|
|
if Ebene = 1
|
|
|
|
|
{
|
|
|
|
|
send {NumpadDown}
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 2
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (CompKey = "Num_1")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompUnicodeChar(0x00BD) ; 1/2
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
send {Numpad2}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "comp")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := "Num_2"
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 3
|
|
|
|
|
{
|
|
|
|
|
SendUnicodeChar(0x2193) ; downarrow
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if ( (Ebene = 4) or (Ebene = 5) )
|
|
|
|
|
{
|
|
|
|
|
SendUnicodeChar(0x222A) ; vereinigt
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
PriorDeadKey := ""
|
|
|
|
|
return
|
|
|
|
|
|
2008-06-18 23:26:43 +00:00
|
|
|
|
neo_NumpadPgDn:
|
2008-05-06 11:41:19 +00:00
|
|
|
|
EbeneAktualisieren()
|
|
|
|
|
if Ebene = 1
|
|
|
|
|
{
|
|
|
|
|
send {NumpadPgDn}
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 2
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (CompKey = "Num_1")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompUnicodeChar(0x2153) ; 1/3
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (CompKey = "Num_2")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompUnicodeChar(0x2154) ; 2/3
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
send {Numpad3}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "comp")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := "Num_3"
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 3
|
|
|
|
|
{
|
|
|
|
|
SendUnicodeChar(0x21CC) ; RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if ( (Ebene = 4) or (Ebene = 5) )
|
|
|
|
|
{
|
|
|
|
|
SendUnicodeChar(0x2265) ; geq
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
PriorDeadKey := ""
|
|
|
|
|
return
|
|
|
|
|
|
2008-06-18 23:26:43 +00:00
|
|
|
|
neo_NumpadIns:
|
2008-05-06 11:41:19 +00:00
|
|
|
|
EbeneAktualisieren()
|
|
|
|
|
if Ebene = 1
|
|
|
|
|
{
|
|
|
|
|
send {NumpadIns}
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 2
|
|
|
|
|
{
|
|
|
|
|
send {Numpad0}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "comp")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := "Num_0"
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 3
|
|
|
|
|
{
|
|
|
|
|
send `%
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if ( (Ebene = 4) or (Ebene = 5) )
|
|
|
|
|
{
|
|
|
|
|
send <EFBFBD>
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
PriorDeadKey := ""
|
|
|
|
|
return
|
|
|
|
|
|
2008-06-18 23:26:43 +00:00
|
|
|
|
neo_NumpadDel:
|
2008-05-06 11:41:19 +00:00
|
|
|
|
EbeneAktualisieren()
|
|
|
|
|
if Ebene = 1
|
|
|
|
|
{
|
|
|
|
|
send {NumpadDel}
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 2
|
|
|
|
|
{
|
|
|
|
|
send {NumpadDot}
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 3
|
|
|
|
|
{
|
|
|
|
|
send .
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
else if ( (Ebene = 4) or (Ebene = 5) )
|
|
|
|
|
{
|
|
|
|
|
send `,
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
PriorDeadKey := ""
|
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
------------------------------------------------------
|
|
|
|
|
Sondertasten
|
|
|
|
|
------------------------------------------------------
|
|
|
|
|
*/
|
2008-06-18 23:26:43 +00:00
|
|
|
|
*space::
|
|
|
|
|
if (einHandNeo)
|
2008-07-02 14:06:46 +00:00
|
|
|
|
spacepressed := 1
|
2008-06-18 23:26:43 +00:00
|
|
|
|
else
|
|
|
|
|
goto neo_SpaceUp
|
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
*space up::
|
|
|
|
|
if (einHandNeo)
|
|
|
|
|
{
|
|
|
|
|
if (keypressed)
|
|
|
|
|
{
|
|
|
|
|
keypressed := 0
|
2008-07-02 14:06:46 +00:00
|
|
|
|
spacepressed := 0
|
2008-06-18 23:26:43 +00:00
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
goto neo_SpaceUp
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{ } ;do nothing
|
|
|
|
|
return
|
2008-05-06 11:41:19 +00:00
|
|
|
|
|
2008-06-18 23:26:43 +00:00
|
|
|
|
neo_SpaceUp:
|
|
|
|
|
EbeneAktualisieren()
|
|
|
|
|
if Ebene = 1
|
|
|
|
|
{
|
|
|
|
|
if (CompKey = "r_small_1")
|
|
|
|
|
Comp3UnicodeChar(0x2170) ; r<>misch i
|
|
|
|
|
else if (CompKey = "r_capital_1")
|
|
|
|
|
Comp3UnicodeChar(0x2160) ; r<>misch I
|
|
|
|
|
else
|
|
|
|
|
Send {blind}{Space}
|
|
|
|
|
}
|
|
|
|
|
if Ebene = 2
|
|
|
|
|
Send {blind}{Space}
|
|
|
|
|
if Ebene = 3
|
|
|
|
|
Send {blind}{Space}
|
|
|
|
|
if Ebene = 4
|
|
|
|
|
{
|
|
|
|
|
if (PriorDeadKey = "c1") ; circumflex
|
|
|
|
|
BSSendUnicodeChar(0x2070)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "c5") ; toter -
|
2008-06-18 23:26:43 +00:00
|
|
|
|
BSSendUnicodeChar(0x2080)
|
|
|
|
|
else
|
|
|
|
|
Send 0
|
|
|
|
|
}
|
|
|
|
|
else if Ebene = 5
|
|
|
|
|
SendUnicodeChar(0x00A0) ; gesch<63>tztes Leerzeichen
|
|
|
|
|
else if Ebene = 6
|
|
|
|
|
SendUnicodeChar(0x202F) ; schmales Leerzeichen
|
|
|
|
|
PriorDeadKey := "" CompKey := ""
|
2008-07-02 14:06:46 +00:00
|
|
|
|
spacepressed := 0
|
|
|
|
|
keypressed := 0
|
2008-06-18 23:26:43 +00:00
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
/*
|
2008-05-06 11:41:19 +00:00
|
|
|
|
*Space::
|
|
|
|
|
EbeneAktualisieren()
|
|
|
|
|
if Ebene = 1
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (CompKey = "r_small_1")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
Comp3UnicodeChar(0x2170) ; r<>misch i
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if (CompKey = "r_capital_1")
|
2008-05-06 11:41:19 +00:00
|
|
|
|
Comp3UnicodeChar(0x2160) ; r<>misch I
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-06-11 17:08:16 +00:00
|
|
|
|
Send {blind}{Space}
|
2008-05-06 11:41:19 +00:00
|
|
|
|
}
|
|
|
|
|
if Ebene = 2
|
|
|
|
|
Send {blind}{Space}
|
|
|
|
|
if Ebene = 3
|
2008-06-11 17:08:16 +00:00
|
|
|
|
Send {blind}{Space}
|
2008-05-06 11:41:19 +00:00
|
|
|
|
if Ebene = 4
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if (PriorDeadKey = "c1") ; circumflex
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x2070)
|
2008-07-25 06:46:11 +00:00
|
|
|
|
else if (PriorDeadKey = "c5") ; toter -
|
2008-05-06 11:41:19 +00:00
|
|
|
|
BSSendUnicodeChar(0x2080)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-05-06 11:41:19 +00:00
|
|
|
|
Send 0
|
|
|
|
|
}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else if Ebene = 5
|
|
|
|
|
SendUnicodeChar(0x00A0) ; gesch<63>tztes Leerzeichen
|
2008-05-06 11:41:19 +00:00
|
|
|
|
else if Ebene = 6
|
|
|
|
|
SendUnicodeChar(0x202F) ; schmales Leerzeichen
|
|
|
|
|
PriorDeadKey := "" CompKey := ""
|
|
|
|
|
return
|
2008-06-18 23:26:43 +00:00
|
|
|
|
*/
|
2008-05-06 11:41:19 +00:00
|
|
|
|
/*
|
|
|
|
|
Folgende Tasten sind nur aufgef<EFBFBD>hrt, um PriorDeadKey zu leeren.
|
|
|
|
|
Irgendwie sieht das noch nicht sch<EFBFBD>n aus. Vielleicht l<EFBFBD>sst sich dieses
|
|
|
|
|
Problem irgendwie eleganter l<EFBFBD>sen...
|
|
|
|
|
|
|
|
|
|
Nachtrag:
|
|
|
|
|
Weil es mit Alt+Tab Probleme gab, wird hier jetzt erstmal rumgeflickschustert,
|
|
|
|
|
bis eine allgemeinere L<EFBFBD>sung gefunden wurde.
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
*Enter::
|
2008-06-22 00:21:54 +00:00
|
|
|
|
if ( not(lernModus) or (lernModus_std_Return) )
|
2008-06-21 19:27:39 +00:00
|
|
|
|
{
|
|
|
|
|
sendinput {Blind}{Enter}
|
|
|
|
|
PriorDeadKey := "" CompKey := ""
|
|
|
|
|
}
|
2008-05-06 11:41:19 +00:00
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
*Backspace::
|
2008-06-22 00:21:54 +00:00
|
|
|
|
if ( not(lernModus) or (lernModus_std_Backspace) )
|
2008-06-21 19:27:39 +00:00
|
|
|
|
{
|
|
|
|
|
sendinput {Blind}{Backspace}
|
|
|
|
|
PriorDeadKey := "" CompKey := ""
|
|
|
|
|
}
|
2008-05-06 11:41:19 +00:00
|
|
|
|
return
|
|
|
|
|
|
2008-06-21 19:27:39 +00:00
|
|
|
|
*Del::
|
2008-06-22 00:21:54 +00:00
|
|
|
|
if ( not(lernModus) or (lernModus_std_Entf) )
|
2008-06-21 19:27:39 +00:00
|
|
|
|
{
|
|
|
|
|
sendinput {Blind}{Del}
|
|
|
|
|
}
|
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
*Ins::
|
2008-06-22 00:21:54 +00:00
|
|
|
|
if ( not(lernModus) or (lernModus_std_Einf) )
|
2008-06-21 19:27:39 +00:00
|
|
|
|
{
|
|
|
|
|
sendinput {Blind}{Ins}
|
|
|
|
|
}
|
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-06 11:41:19 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
Auf Mod3+Tab liegt Compose. AltTab funktioniert, jedoch ShiftAltTab nicht.
|
|
|
|
|
Wenigstens kommt es jetzt nicht mehr zu komischen Ergebnissen, wenn man Tab
|
|
|
|
|
nach einem DeadKey dr<EFBFBD>ckt...
|
|
|
|
|
*/
|
|
|
|
|
|
2008-06-18 23:26:43 +00:00
|
|
|
|
neo_tab:
|
2008-05-06 11:41:19 +00:00
|
|
|
|
if ( GetKeyState("SC038","P") )
|
|
|
|
|
{
|
2008-07-02 14:06:46 +00:00
|
|
|
|
Send,{Blind}{AltDown}{tab}
|
2008-06-22 01:10:47 +00:00
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
if (isShiftPressed())
|
|
|
|
|
{
|
|
|
|
|
Send,{ShiftDown}{AltDown}{tab}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
; msgbox alt+tab
|
2008-07-02 14:06:46 +00:00
|
|
|
|
Send,{AltDown}{tab}
|
2008-06-22 01:10:47 +00:00
|
|
|
|
; SC038 & Tab::AltTab ; http://de.autohotkey.com/docs/Hotkeys.htm#AltTabDetail
|
|
|
|
|
}
|
|
|
|
|
*/
|
2008-05-06 11:41:19 +00:00
|
|
|
|
}
|
2008-07-08 21:22:57 +00:00
|
|
|
|
else if (IsMod3Pressed()) ;#
|
|
|
|
|
{
|
|
|
|
|
#Include *i %a_scriptdir%\ComposeLaunch.ahk
|
|
|
|
|
#Include *i %a_scriptdir%\Source\ComposeLaunch.ahk
|
2008-05-06 11:41:19 +00:00
|
|
|
|
PriorDeadKey := "comp"
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
2008-07-08 21:22:57 +00:00
|
|
|
|
else
|
|
|
|
|
{
|
2008-06-11 17:08:16 +00:00
|
|
|
|
send {blind}{Tab}
|
2008-05-06 11:41:19 +00:00
|
|
|
|
PriorDeadKey := ""
|
|
|
|
|
CompKey := ""
|
|
|
|
|
}
|
|
|
|
|
return
|
|
|
|
|
|
2008-06-22 01:10:47 +00:00
|
|
|
|
*SC038 up::
|
|
|
|
|
PriorDeadKey := "" CompKey := ""
|
|
|
|
|
send {blind}{AltUp}
|
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
*SC038 down:: ; LAlt, damit AltTab funktioniert
|
2008-07-02 14:06:46 +00:00
|
|
|
|
Send,{Blind}{AltDown}
|
2008-05-06 11:41:19 +00:00
|
|
|
|
PriorDeadKey := "" CompKey := ""
|
|
|
|
|
return
|
|
|
|
|
|
2008-06-21 19:27:39 +00:00
|
|
|
|
*Home::
|
2008-06-22 00:21:54 +00:00
|
|
|
|
if ( not(lernModus) or (lernModus_std_Pos1) )
|
2008-06-21 19:27:39 +00:00
|
|
|
|
{
|
|
|
|
|
sendinput {Blind}{Home}
|
|
|
|
|
PriorDeadKey := "" CompKey := ""
|
|
|
|
|
}
|
2008-05-06 11:41:19 +00:00
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
*End::
|
2008-06-22 00:21:54 +00:00
|
|
|
|
if ( not(lernModus) or (lernModus_std_Ende) )
|
2008-06-21 19:27:39 +00:00
|
|
|
|
{
|
|
|
|
|
sendinput {Blind}{End}
|
|
|
|
|
PriorDeadKey := "" CompKey := ""
|
|
|
|
|
}
|
2008-05-06 11:41:19 +00:00
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
*PgUp::
|
2008-06-22 00:21:54 +00:00
|
|
|
|
if ( not(lernModus) or (lernModus_std_PgUp) )
|
2008-06-21 19:27:39 +00:00
|
|
|
|
{
|
|
|
|
|
sendinput {Blind}{PgUp}
|
|
|
|
|
PriorDeadKey := "" CompKey := ""
|
|
|
|
|
}
|
2008-05-06 11:41:19 +00:00
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
*PgDn::
|
2008-06-22 00:21:54 +00:00
|
|
|
|
if ( not(lernModus) or (lernModus_std_PgDn) )
|
2008-06-21 19:27:39 +00:00
|
|
|
|
{
|
|
|
|
|
sendinput {Blind}{PgDn}
|
|
|
|
|
PriorDeadKey := "" CompKey := ""
|
|
|
|
|
}
|
2008-05-06 11:41:19 +00:00
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
*Up::
|
2008-06-22 00:21:54 +00:00
|
|
|
|
if ( not(lernModus) or (lernModus_std_Hoch) )
|
2008-06-21 19:27:39 +00:00
|
|
|
|
{
|
|
|
|
|
sendinput {Blind}{Up}
|
|
|
|
|
PriorDeadKey := "" CompKey := ""
|
|
|
|
|
}
|
2008-05-06 11:41:19 +00:00
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
*Down::
|
2008-06-22 00:21:54 +00:00
|
|
|
|
if ( not(lernModus) or (lernModus_std_Runter) )
|
2008-06-21 19:27:39 +00:00
|
|
|
|
{
|
|
|
|
|
sendinput {Blind}{Down}
|
|
|
|
|
PriorDeadKey := "" CompKey := ""
|
|
|
|
|
}
|
2008-05-06 11:41:19 +00:00
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
*Left::
|
2008-06-22 00:21:54 +00:00
|
|
|
|
if ( not(lernModus) or (lernModus_std_Links) )
|
2008-06-21 19:27:39 +00:00
|
|
|
|
{
|
|
|
|
|
sendinput {Blind}{Left}
|
|
|
|
|
PriorDeadKey := "" CompKey := ""
|
|
|
|
|
}
|
2008-05-06 11:41:19 +00:00
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
*Right::
|
2008-06-22 00:21:54 +00:00
|
|
|
|
if ( not(lernModus) or (lernModus_std_Rechts) )
|
2008-06-21 19:27:39 +00:00
|
|
|
|
{
|
|
|
|
|
sendinput {Blind}{Right}
|
|
|
|
|
PriorDeadKey := "" CompKey := ""
|
|
|
|
|
}
|
2008-05-06 11:41:19 +00:00
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
|
2008-07-02 14:06:46 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
------------------------------------------------------
|
|
|
|
|
Methode KeyboardLED zur Steuerung der Keyboard-LEDs
|
|
|
|
|
(NumLock/CapsLock/ScrollLock-Lichter)
|
|
|
|
|
|
|
|
|
|
Benutzungshinweise: Man benutze
|
|
|
|
|
KeyboardLED(LEDvalue,"Cmd"), wobei
|
|
|
|
|
Cmd = on/off/switch,
|
|
|
|
|
LEDvalue: ScrollLock=1, NumLock=2, CapsLock=4
|
|
|
|
|
bzw. eine beliebige Summe dieser Werte:
|
|
|
|
|
AlleAus=0, CapsLock+NumLock=6, etc.
|
|
|
|
|
|
|
|
|
|
Der folgende Code wurde <EFBFBD>bernommen von:
|
|
|
|
|
http://www.autohotkey.com/forum/viewtopic.php?t=10532
|
|
|
|
|
|
|
|
|
|
Um eventuelle Wechselwirkungen mit dem bestehenden
|
|
|
|
|
Code (insb. der Unicode-Konvertierung) auszuschie<EFBFBD>en,
|
|
|
|
|
sind auch alle (Hilfsmethoden) mit dem Postfix LED
|
|
|
|
|
versehen worden.
|
|
|
|
|
------------------------------------------------------
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
KeyboardLED(LEDvalue, Cmd) ; LEDvalue: ScrollLock=1, NumLock=2, CapsLock=4 ; Cmd = on/off/switch
|
|
|
|
|
{
|
|
|
|
|
Static h_device
|
|
|
|
|
If ! h_device ; initialise
|
|
|
|
|
{
|
|
|
|
|
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)
|
|
|
|
|
{
|
|
|
|
|
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)
|
|
|
|
|
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 )
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
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)
|
|
|
|
|
{
|
|
|
|
|
VarSetCapacity(fh,4,0)
|
|
|
|
|
VarSetCapacity(objattrib,24,0)
|
|
|
|
|
VarSetCapacity(io,8,0)
|
|
|
|
|
VarSetCapacity(pus,8)
|
|
|
|
|
uslen:=DllCall("lstrlenW","str",wfilename)*2
|
|
|
|
|
InsertIntegerLED(uslen,pus,0,2)
|
|
|
|
|
InsertIntegerLED(uslen,pus,2,2)
|
|
|
|
|
InsertIntegerLED(&wfilename,pus,4)
|
|
|
|
|
InsertIntegerLED(24,objattrib,0)
|
|
|
|
|
InsertIntegerLED(&pus,objattrib,8)
|
|
|
|
|
status:=DllCall("ntdll\ZwCreateFile","str",fh,"UInt",desiredaccess,"str",objattrib,"str",io,"UInt",0,"UInt",fattribs
|
|
|
|
|
,"UInt",sharemode,"UInt",createdist,"UInt",flags,"UInt",0,"UInt",0, "UInt")
|
|
|
|
|
return ExtractIntegerLED(fh)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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)
|
|
|
|
|
; 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)
|
|
|
|
|
return result ; Signed vs. unsigned doesn't matter in these cases.
|
|
|
|
|
; Otherwise, convert the value (now known to be 32-bit) to its signed counterpart:
|
|
|
|
|
return -(0xFFFFFFFF - result + 1)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-06 11:41:19 +00:00
|
|
|
|
/*
|
|
|
|
|
------------------------------------------------------
|
|
|
|
|
Funktionen
|
|
|
|
|
------------------------------------------------------
|
|
|
|
|
*/
|
|
|
|
|
|
2008-06-11 17:08:16 +00:00
|
|
|
|
/*
|
|
|
|
|
Ebenen laut Referenz:
|
|
|
|
|
1. Ebene (kein Mod) 4. Ebene (Mod4)
|
2008-07-08 21:22:57 +00:00
|
|
|
|
2. Ebene (Umschalt) 5. Ebene (Umschalt+Mod3)
|
2008-06-11 17:08:16 +00:00
|
|
|
|
3. Ebene (Mod3) 6. Ebene (Mod3+Mod4)
|
|
|
|
|
*/
|
2008-06-14 11:43:05 +00:00
|
|
|
|
|
2008-06-18 23:26:43 +00:00
|
|
|
|
EbeneAktualisieren()
|
2008-06-14 11:43:05 +00:00
|
|
|
|
{
|
|
|
|
|
global
|
2008-06-19 09:24:55 +00:00
|
|
|
|
if (ahkTreiberKombi)
|
2008-06-14 11:43:05 +00:00
|
|
|
|
{
|
2008-06-19 09:24:55 +00:00
|
|
|
|
if ( IsMod4Pressed() and not(IsShiftPressed()) and not(IsMod3Pressed()))
|
2008-06-14 11:43:05 +00:00
|
|
|
|
{
|
2008-06-19 09:24:55 +00:00
|
|
|
|
Ebene = 6
|
|
|
|
|
}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
Ebene = -1
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
if ( IsShiftPressed() )
|
|
|
|
|
{ ; Umschalt
|
2008-07-02 14:06:46 +00:00
|
|
|
|
if ( IsMod3Pressed() )
|
|
|
|
|
{ ; Umschalt UND Mod3
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if ( IsMod4Pressed() )
|
2008-07-08 21:22:57 +00:00
|
|
|
|
{ ; Umschalt UND Mod3 UND Mod4
|
2008-06-14 11:43:05 +00:00
|
|
|
|
; Ebene 8 impliziert Ebene 6
|
2008-06-11 17:08:16 +00:00
|
|
|
|
Ebene = 6
|
2008-06-14 11:43:05 +00:00
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{ ; Umschald UND Mod3 NICHT Mod4
|
2008-07-02 14:06:46 +00:00
|
|
|
|
Ebene = 5
|
2008-06-14 11:43:05 +00:00
|
|
|
|
}
|
2008-06-11 17:08:16 +00:00
|
|
|
|
}
|
2008-07-02 14:06:46 +00:00
|
|
|
|
else
|
|
|
|
|
{ ; Umschalt NICHT Mod3
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if ( IsMod4Pressed() )
|
2008-07-08 21:22:57 +00:00
|
|
|
|
{ ; Umschalt UND Mod4 NICHT Mod3
|
2008-06-14 11:43:05 +00:00
|
|
|
|
; Ebene 7 impliziert Ebene 4
|
2008-06-14 12:48:46 +00:00
|
|
|
|
Ebene = 4
|
2008-06-14 11:43:05 +00:00
|
|
|
|
}
|
|
|
|
|
else
|
2008-07-08 21:22:57 +00:00
|
|
|
|
{ ; Umschalt NICHT Mod3 NICHT Mod4
|
2008-07-02 14:06:46 +00:00
|
|
|
|
Ebene = 2
|
2008-06-14 11:43:05 +00:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{ ; NICHT Umschalt
|
2008-07-02 14:06:46 +00:00
|
|
|
|
if ( IsMod3Pressed() )
|
|
|
|
|
{ ; Mod3 NICHT Umschalt
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if ( IsMod4Pressed() )
|
2008-06-11 17:08:16 +00:00
|
|
|
|
{ ; Mod3 UND Mod4 NICHT Umschalt
|
|
|
|
|
Ebene = 6
|
|
|
|
|
}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-06-11 17:08:16 +00:00
|
|
|
|
{ ; Mod3 NICHT Mod4 NICHT Umschalt
|
2008-07-02 14:06:46 +00:00
|
|
|
|
Ebene = 3
|
2008-06-11 17:08:16 +00:00
|
|
|
|
}
|
|
|
|
|
}
|
2008-07-02 14:06:46 +00:00
|
|
|
|
else
|
|
|
|
|
{ ; NICHT Umschalt NICHT Mod3
|
2008-06-14 11:43:05 +00:00
|
|
|
|
if ( IsMod4Pressed() )
|
2008-06-11 17:08:16 +00:00
|
|
|
|
{ ; Mod4 NICHT Umschalt NICHT Mod3
|
|
|
|
|
Ebene = 4
|
|
|
|
|
}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
else
|
2008-06-11 17:08:16 +00:00
|
|
|
|
{ ; NICHT Umschalt NICHT Mod3 NICHT Mod4
|
|
|
|
|
Ebene = 1
|
|
|
|
|
}
|
2008-07-02 14:06:46 +00:00
|
|
|
|
}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
}
|
2008-05-06 11:41:19 +00:00
|
|
|
|
}
|
|
|
|
|
}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
|
2008-06-25 02:33:50 +00:00
|
|
|
|
|
|
|
|
|
|
2008-06-11 17:08:16 +00:00
|
|
|
|
IsShiftPressed()
|
|
|
|
|
{
|
|
|
|
|
return GetKeyState("Shift","P")
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
IsMod3Pressed()
|
|
|
|
|
{
|
2008-06-14 20:31:51 +00:00
|
|
|
|
global
|
|
|
|
|
if (IsMod3Locked)
|
|
|
|
|
{
|
2008-06-25 02:33:50 +00:00
|
|
|
|
return (not ( GetKeyState("CapsLock","P") or GetKeyState("#","P") )) ; # = SC02B
|
2008-06-14 20:31:51 +00:00
|
|
|
|
}
|
|
|
|
|
else {
|
2008-07-02 14:06:46 +00:00
|
|
|
|
return ( GetKeyState("CapsLock","P") or GetKeyState("#","P") ) ; # = SC02B
|
2008-06-14 20:31:51 +00:00
|
|
|
|
}
|
2008-06-11 17:08:16 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
IsMod4Pressed()
|
|
|
|
|
{
|
2008-06-14 11:43:05 +00:00
|
|
|
|
global
|
2008-06-19 09:24:55 +00:00
|
|
|
|
if( not(einHandNeo) or not(spacepressed) )
|
2008-06-14 11:43:05 +00:00
|
|
|
|
{
|
2008-06-19 09:24:55 +00:00
|
|
|
|
if (IsMod4Locked)
|
|
|
|
|
{
|
|
|
|
|
return (not ( GetKeyState("<","P") or GetKeyState("SC138","P") or altGrPressed ))
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
return ( GetKeyState("<","P") or GetKeyState("SC138","P") or altGrPressed )
|
|
|
|
|
}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
}
|
2008-06-19 09:24:55 +00:00
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
if (IsMod4Locked)
|
|
|
|
|
{
|
|
|
|
|
return (not ( GetKeyState("<","P") or GetKeyState("SC138","P") or GetKeyState("<EFBFBD>","P") or altGrPressed ))
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
return ( GetKeyState("<","P") or GetKeyState("SC138","P") or GetKeyState("<EFBFBD>","P") or altGrPressed )
|
|
|
|
|
}
|
2008-06-14 11:43:05 +00:00
|
|
|
|
}
|
2008-06-19 09:24:55 +00:00
|
|
|
|
|
2008-06-11 17:08:16 +00:00
|
|
|
|
}
|
2008-05-06 11:41:19 +00:00
|
|
|
|
|
|
|
|
|
|
2008-06-11 17:08:16 +00:00
|
|
|
|
IsModifierPressed()
|
|
|
|
|
{
|
|
|
|
|
if (GetKeyState("LControl","P") or GetKeyState("RControl","P") or GetKeyState("LAlt","P") or GetKeyState("RAltl","P") or GetKeyState("LWin","P") or GetKeyState("RWin","P") or GetKeyState("LShift","P") or GetKeyState("RShift","P") or GetKeyState("AltGr","P") )
|
|
|
|
|
{
|
|
|
|
|
return 1
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
return 0
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2008-05-06 11:41:19 +00:00
|
|
|
|
SendUnicodeChar(charCode)
|
|
|
|
|
{
|
2008-07-23 22:56:34 +00:00
|
|
|
|
IfWinActive, ahk_class gdkWindowToplevel
|
|
|
|
|
{
|
|
|
|
|
StringLower, charCode, charCode
|
2008-07-23 23:55:10 +00:00
|
|
|
|
send % "^+u" . SubStr(charCode,3) . " "
|
2008-07-23 22:56:34 +00:00
|
|
|
|
} else {
|
|
|
|
|
VarSetCapacity(ki, 28 * 2, 0)
|
2008-05-06 11:41:19 +00:00
|
|
|
|
|
2008-07-23 22:56:34 +00:00
|
|
|
|
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)
|
2008-05-06 11:41:19 +00:00
|
|
|
|
|
2008-07-23 22:56:34 +00:00
|
|
|
|
DllCall("SendInput", "UInt", 2, "UInt", &ki, "Int", 28)
|
|
|
|
|
}
|
2008-05-06 11:41:19 +00:00
|
|
|
|
}
|
2008-07-23 22:56:34 +00:00
|
|
|
|
/*
|
2008-07-25 06:46:11 +00:00
|
|
|
|
<EFBFBD>ber den GDK-Workaround:
|
2008-07-23 22:56:34 +00:00
|
|
|
|
Dieser basiert auf http://www.autohotkey.com/forum/topic32947.html
|
|
|
|
|
|
|
|
|
|
Der Aufruf von <EFBFBD>SubStr(charCode,3)<EFBFBD> geht davon aus, dass alle charCodes in Hex mit f<EFBFBD>hrendem <EFBFBD>0x<EFBFBD> angegeben sind. Die abenteuerliche <EFBFBD>^+u<EFBFBD>-Konstruktion ben<EFBFBD>tigt im <EFBFBD>brigen den Hex-Wert in Kleinschrift, was derzeit nicht bei den Zeichendefinitionen umgesetzt ist, daher zentral und weniger fehlertr<EFBFBD>chtig an dieser Stelle. Au<EFBFBD>erdem ein abschlie<EFBFBD>end gesendetes Space, sonst bleibt der <EFBFBD>eingetippte<EFBFBD> Unicode-Wert noch kurz sichtbar stehen, bevor er sich GTK-sei-dank in das gew<EFBFBD>nschte Zeichen verwandelt.
|
|
|
|
|
*/
|
|
|
|
|
|
2008-05-06 11:41:19 +00:00
|
|
|
|
|
|
|
|
|
BSSendUnicodeChar(charCode)
|
|
|
|
|
{
|
|
|
|
|
send {bs}
|
2008-06-11 17:08:16 +00:00
|
|
|
|
SendUnicodeChar(charCode)
|
2008-05-06 11:41:19 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
CompUnicodeChar(charCode)
|
|
|
|
|
{
|
|
|
|
|
send {bs}
|
2008-07-25 06:46:11 +00:00
|
|
|
|
SendUnicodeChar(charCode)
|
2008-05-06 11:41:19 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Comp3UnicodeChar(charCode)
|
|
|
|
|
{
|
|
|
|
|
send {bs}
|
|
|
|
|
send {bs}
|
2008-06-11 17:08:16 +00:00
|
|
|
|
SendUnicodeChar(charCode)
|
2008-05-06 11:41:19 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
EncodeInteger(ref, val)
|
|
|
|
|
{
|
|
|
|
|
DllCall("ntdll\RtlFillMemoryUlong", "Uint", ref, "Uint", 4, "Uint", val)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
2008-07-13 01:08:31 +00:00
|
|
|
|
;Lang-s-Tastatur:
|
2008-07-25 06:46:11 +00:00
|
|
|
|
SC056 & *F11::
|
2008-07-13 01:08:31 +00:00
|
|
|
|
LangSTastatur := not(LangSTastatur) ; schaltet die Lang-s-Tastatur ein und aus
|
|
|
|
|
return
|
2008-07-24 00:16:58 +00:00
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
------------------------------------------------------
|
|
|
|
|
Methoden zum Senden von Unicode-Zeichen
|
|
|
|
|
------------------------------------------------------
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/************************************************************
|
|
|
|
|
Alter Weg <EFBFBD> Copy/Paste <EFBFBD>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 <EFBFBD> Benutzung der entsprechenden Win32-API-Methode
|
|
|
|
|
************************************************************/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
2008-06-16 17:29:58 +00:00
|
|
|
|
------------------------------------------------------
|
|
|
|
|
BildschirmTastatur
|
|
|
|
|
------------------------------------------------------
|
|
|
|
|
*/
|
|
|
|
|
guiErstellt = 0
|
|
|
|
|
alwaysOnTop = 1
|
|
|
|
|
aktuellesBild = ebene1.png
|
2008-07-08 12:44:26 +00:00
|
|
|
|
SC056 & *F1::
|
|
|
|
|
SC138 & *F1::
|
2008-06-16 17:29:58 +00:00
|
|
|
|
{
|
|
|
|
|
if (zeigeBildschirmTastatur)
|
|
|
|
|
goto Switch1
|
|
|
|
|
return
|
|
|
|
|
}
|
2008-07-08 12:44:26 +00:00
|
|
|
|
SC056 & *F2::
|
|
|
|
|
SC138 & *F2::
|
2008-06-16 17:29:58 +00:00
|
|
|
|
{
|
|
|
|
|
if (zeigeBildschirmTastatur)
|
|
|
|
|
goto Switch2
|
|
|
|
|
return
|
|
|
|
|
}
|
2008-07-08 12:44:26 +00:00
|
|
|
|
SC056 & *F3::
|
|
|
|
|
SC138 & *F3::
|
2008-06-16 17:29:58 +00:00
|
|
|
|
{
|
|
|
|
|
if (zeigeBildschirmTastatur)
|
|
|
|
|
goto Switch3
|
|
|
|
|
return
|
|
|
|
|
}
|
2008-07-08 12:44:26 +00:00
|
|
|
|
SC056 & *F4::
|
|
|
|
|
SC138 & *F4::
|
2008-06-16 17:29:58 +00:00
|
|
|
|
{
|
|
|
|
|
if (zeigeBildschirmTastatur)
|
|
|
|
|
goto Switch4
|
|
|
|
|
return
|
|
|
|
|
}
|
2008-07-08 12:44:26 +00:00
|
|
|
|
SC056 & *F5::
|
|
|
|
|
SC138 & *F5::
|
2008-06-16 17:29:58 +00:00
|
|
|
|
{
|
|
|
|
|
if (zeigeBildschirmTastatur)
|
|
|
|
|
goto Switch5
|
|
|
|
|
return
|
|
|
|
|
}
|
2008-07-08 12:44:26 +00:00
|
|
|
|
SC056 & *F6::
|
|
|
|
|
SC138 & *F6::
|
2008-06-16 17:29:58 +00:00
|
|
|
|
{
|
|
|
|
|
if (zeigeBildschirmTastatur)
|
|
|
|
|
goto Switch6
|
|
|
|
|
return
|
|
|
|
|
}
|
2008-07-08 12:44:26 +00:00
|
|
|
|
SC056 & *F7::
|
|
|
|
|
SC138 & *F7::
|
2008-06-16 17:29:58 +00:00
|
|
|
|
{
|
|
|
|
|
if (zeigeBildschirmTastatur)
|
|
|
|
|
goto Show
|
|
|
|
|
return
|
|
|
|
|
}
|
2008-07-08 12:44:26 +00:00
|
|
|
|
SC056 & *F8::
|
|
|
|
|
SC138 & *F8::
|
2008-06-16 17:29:58 +00:00
|
|
|
|
{
|
|
|
|
|
if (zeigeBildschirmTastatur)
|
2008-07-02 14:06:46 +00:00
|
|
|
|
goto ToggleAlwaysOnTop
|
2008-06-16 17:29:58 +00:00
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
Switch1:
|
|
|
|
|
if (guiErstellt)
|
|
|
|
|
{
|
|
|
|
|
if (Image == "ebene1.png")
|
|
|
|
|
goto Close
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
Image = ebene1.png
|
|
|
|
|
SetTimer, Refresh
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
Image = ebene1.png
|
|
|
|
|
goto Show
|
|
|
|
|
}
|
|
|
|
|
Return
|
|
|
|
|
|
|
|
|
|
Switch2:
|
|
|
|
|
if (guiErstellt)
|
|
|
|
|
{
|
|
|
|
|
if (Image == "ebene2.png")
|
|
|
|
|
goto Close
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
Image = ebene2.png
|
|
|
|
|
SetTimer, Refresh
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
Image = ebene2.png
|
|
|
|
|
goto Show
|
|
|
|
|
}
|
|
|
|
|
Return
|
|
|
|
|
|
|
|
|
|
Switch3:
|
|
|
|
|
if (guiErstellt)
|
|
|
|
|
{
|
|
|
|
|
if (Image == "ebene3.png")
|
|
|
|
|
goto Close
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
Image = ebene3.png
|
|
|
|
|
SetTimer, Refresh
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
Image = ebene3.png
|
|
|
|
|
goto Show
|
|
|
|
|
}
|
|
|
|
|
Return
|
|
|
|
|
|
|
|
|
|
Switch4:
|
|
|
|
|
if (guiErstellt)
|
|
|
|
|
{
|
|
|
|
|
if (Image == "ebene4.png")
|
|
|
|
|
goto Close
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
Image = ebene4.png
|
|
|
|
|
SetTimer, Refresh
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
Image = ebene4.png
|
|
|
|
|
goto Show
|
|
|
|
|
}
|
|
|
|
|
Return
|
|
|
|
|
|
|
|
|
|
Switch5:
|
|
|
|
|
if (guiErstellt)
|
|
|
|
|
{
|
|
|
|
|
if (Image == "ebene5.png")
|
|
|
|
|
goto Close
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
Image = ebene5.png
|
|
|
|
|
SetTimer, Refresh
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
Image = ebene5.png
|
|
|
|
|
goto Show
|
|
|
|
|
}
|
|
|
|
|
Return
|
|
|
|
|
|
|
|
|
|
Switch6:
|
|
|
|
|
if (guiErstellt)
|
|
|
|
|
{
|
|
|
|
|
if (Image == "ebene6.png")
|
|
|
|
|
goto Close
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
Image = ebene6.png
|
|
|
|
|
SetTimer, Refresh
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
Image = ebene6.png
|
|
|
|
|
goto Show
|
|
|
|
|
}
|
|
|
|
|
Return
|
|
|
|
|
|
|
|
|
|
Show:
|
|
|
|
|
if (guiErstellt)
|
|
|
|
|
{
|
|
|
|
|
goto Close
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
2008-07-02 14:06:46 +00:00
|
|
|
|
if (Image = "")
|
2008-06-16 17:29:58 +00:00
|
|
|
|
{
|
|
|
|
|
Image = ebene1.png
|
|
|
|
|
}
|
|
|
|
|
yPosition := A_ScreenHeight -270
|
2008-07-02 14:06:46 +00:00
|
|
|
|
Gui, Color, FFFFFF
|
2008-06-16 17:29:58 +00:00
|
|
|
|
Gui, Add, Button, xm+5 gSwitch1, F1
|
|
|
|
|
Gui, Add, Text, x+5, kleine Buchstaben
|
|
|
|
|
Gui, Add, Button, xm+5 gSwitch2, F2
|
|
|
|
|
Gui, Add, Text, x+5, gro<EFBFBD>e Buchstaben
|
|
|
|
|
Gui, Add, Button, xm+5 gSwitch3, F3
|
|
|
|
|
Gui, Add, Text, x+5, Satz-/Sonderzeichen
|
|
|
|
|
Gui, Add, Button, xm+5 gSwitch4, F4
|
|
|
|
|
Gui, Add, Text, x+5, Zahlen / Steuerung
|
|
|
|
|
Gui, Add, Button, xm+5 gSwitch5, F5
|
|
|
|
|
Gui, Add, Text, x+5, Sprachen
|
|
|
|
|
Gui, Add, Button, xm+5 gSwitch6, F6
|
|
|
|
|
Gui, Add, Text, x+5, Mathesymbole
|
|
|
|
|
Gui, Add, Button, xm+5 gShow, F7
|
|
|
|
|
Gui, Add, Text, x+5, An /
|
|
|
|
|
Gui, Add, Text, y+3, Aus
|
|
|
|
|
Gui, Add, Button, x+10 y+-30 gShow, F8
|
|
|
|
|
Gui, Add, Text, x+5, OnTop
|
|
|
|
|
Gui, Add, Picture,AltSubmit ys w564 h200 vPicture, %Image%
|
|
|
|
|
Gui, +AlwaysOnTop
|
|
|
|
|
Gui, Show, y%yposition% Autosize
|
|
|
|
|
SetTimer, Refresh
|
|
|
|
|
guiErstellt = 1
|
|
|
|
|
}
|
|
|
|
|
Return
|
|
|
|
|
|
|
|
|
|
Close:
|
|
|
|
|
guiErstellt = 0
|
|
|
|
|
Gui, Destroy
|
|
|
|
|
Return
|
|
|
|
|
|
|
|
|
|
Refresh:
|
|
|
|
|
If (Image != OldImage)
|
|
|
|
|
{
|
|
|
|
|
GuiControl, , Picture, %Image%
|
|
|
|
|
OldImage := Image
|
|
|
|
|
}
|
|
|
|
|
Return
|
|
|
|
|
|
|
|
|
|
ToggleAlwaysOnTop:
|
|
|
|
|
if (alwaysOnTop)
|
|
|
|
|
{
|
|
|
|
|
Gui, -AlwaysOnTop
|
|
|
|
|
alwaysOnTop = 0
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
Gui, +AlwaysOnTop
|
|
|
|
|
alwaysOnTop = 1
|
|
|
|
|
}
|
|
|
|
|
Return
|
|
|
|
|
; Ende der BildschirmTastatur
|
|
|
|
|
|
|
|
|
|
|
2008-05-06 11:41:19 +00:00
|
|
|
|
/*
|
|
|
|
|
------------------------------------------------------
|
|
|
|
|
Shift+Pause "pausiert" das Script.
|
|
|
|
|
------------------------------------------------------
|
|
|
|
|
*/
|
|
|
|
|
|
2008-06-10 20:35:23 +00:00
|
|
|
|
+pause::
|
|
|
|
|
Suspend, Permit
|
|
|
|
|
goto togglesuspend
|
|
|
|
|
return
|
2008-05-06 11:41:19 +00:00
|
|
|
|
|
|
|
|
|
; ------------------------------------
|
|
|
|
|
|
2008-06-25 11:39:38 +00:00
|
|
|
|
^SC034::einHandNeo := not(einHandNeo) ; Punkt
|
|
|
|
|
^SC033::lernModus := not(lernModus) ; Komma
|
2008-06-22 00:21:54 +00:00
|
|
|
|
|
2008-06-18 23:26:43 +00:00
|
|
|
|
|
2008-06-10 20:35:23 +00:00
|
|
|
|
|
2008-05-06 11:41:19 +00:00
|
|
|
|
togglesuspend:
|
2008-06-10 20:35:23 +00:00
|
|
|
|
if A_IsSuspended
|
2008-05-06 11:41:19 +00:00
|
|
|
|
{
|
|
|
|
|
menu, tray, rename, %enable%, %disable%
|
2008-07-02 14:06:46 +00:00
|
|
|
|
menu, tray, tip, %name%
|
|
|
|
|
if (iconBenutzen)
|
2008-06-14 20:31:51 +00:00
|
|
|
|
menu, tray, icon, neo.ico,,1
|
2008-06-10 20:35:23 +00:00
|
|
|
|
suspend , off ; Schaltet Suspend aus -> NEO
|
2008-05-06 11:41:19 +00:00
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
menu, tray, rename, %disable%, %enable%
|
2008-06-14 20:31:51 +00:00
|
|
|
|
menu, tray, tip, %name% : Deaktiviert
|
2008-07-02 14:06:46 +00:00
|
|
|
|
if (iconBenutzen)
|
|
|
|
|
menu, tray, icon, neo_disabled.ico,,1
|
2008-06-10 20:35:23 +00:00
|
|
|
|
suspend , on ; Schaltet Suspend ein -> QWERTZ
|
2008-05-06 11:41:19 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
help:
|
|
|
|
|
Run, %A_WinDir%\hh mk:@MSITStore:autohotkey.chm
|
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
about:
|
|
|
|
|
msgbox, 64, %name% <EFBFBD> Ergonomische Tastaturbelegung,
|
|
|
|
|
(
|
|
|
|
|
%name%
|
|
|
|
|
`nDas Neo-Layout ersetzt das <EFBFBD>bliche deutsche
|
|
|
|
|
Tastaturlayout mit der Alternative Neo,
|
|
|
|
|
beschrieben auf http://neo-layout.org/.
|
|
|
|
|
`nDazu sind keine Administratorrechte n<EFBFBD>tig.
|
|
|
|
|
`nWenn Autohotkey aktiviert ist, werden alle Tastendrucke
|
|
|
|
|
abgefangen und statt dessen eine <EFBFBD>bersetzung weitergeschickt.
|
|
|
|
|
`nDies geschieht transparent f<EFBFBD>r den Anwender,
|
|
|
|
|
es muss nichts installiert werden.
|
|
|
|
|
`nDie Zeichen<EFBFBD>bersetzung kann leicht <EFBFBD>ber das Icon im
|
|
|
|
|
Systemtray deaktiviert werden. `n
|
|
|
|
|
)
|
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
neo:
|
|
|
|
|
run http://neo-layout.org/
|
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
autohotkey:
|
|
|
|
|
run http://autohotkey.com/
|
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
open:
|
|
|
|
|
ListLines ; shows the Autohotkey window
|
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
edit:
|
|
|
|
|
edit
|
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
reload:
|
|
|
|
|
Reload
|
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
hide:
|
|
|
|
|
menu, tray, noicon
|
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
exitprogram:
|
|
|
|
|
exitapp
|
2008-07-02 14:06:46 +00:00
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-07-24 00:16:58 +00:00
|
|
|
|
|
2008-07-02 14:06:46 +00:00
|
|
|
|
|