From 39ad27b08aea1e2363e4317469c60fe7961244ee Mon Sep 17 00:00:00 2001 From: florian Date: Tue, 6 May 2008 10:30:11 +0000 Subject: git-svn-id: https://svn.neo-layout.org@502 b9310e46-f624-0410-8ea1-cfbb3a30dc96 --- README.txt | 24 - autohotkey/README.txt | 86 - autohotkey/neo20-all-in-one.ahk | 3198 -------------------- autohotkey/neo20-all-in-one.exe | Bin 222462 -> 0 bytes autohotkey/neo20_mod-test.ahk | 2210 -------------- kbdneo2/Quelldateien/README.txt | 17 - kbdneo2/Quelldateien/kbdneo2.c | 804 ----- kbdneo2/Quelldateien/kbdneo2.def | 4 - kbdneo2/Quelldateien/kbdneo2.h | 109 - kbdneo2/Quelldateien/kbdneo2.rc | 11 - kbdneo2/Quelldateien/makefile | 15 - kbdneo2/Quelldateien/makefile.inc | 1 - kbdneo2/Quelldateien/sources | 2 - .../Treiber/32bit_Windows_Server_2003/NEO20.dll | Bin 9728 -> 0 bytes .../NEO20.dll | Bin 9728 -> 0 bytes kbdneo2/Treiber/32bit_Windows_XP/NEO20.dll | Bin 9728 -> 0 bytes .../NEO20.dll | Bin 10752 -> 0 bytes .../NEO20.dll | Bin 10752 -> 0 bytes kbdneo2/Treiber/README.txt | 24 - msklc/NEO20_amd64.msi | Bin 114688 -> 0 bytes msklc/NEO20_i386.msi | Bin 114688 -> 0 bytes msklc/NEO20_ia64.msi | Bin 114688 -> 0 bytes msklc/amd64/NEO20.dll | Bin 9216 -> 0 bytes msklc/i386/NEO20.dll | Bin 8192 -> 0 bytes msklc/ia64/NEO20.dll | Bin 9728 -> 0 bytes msklc/setup.exe | Bin 142848 -> 0 bytes msklc/wow64/NEO20.dll | Bin 9216 -> 0 bytes neo_portable.zip | Bin 442716 -> 0 bytes 28 files changed, 6505 deletions(-) delete mode 100644 README.txt delete mode 100644 autohotkey/README.txt delete mode 100644 autohotkey/neo20-all-in-one.ahk delete mode 100644 autohotkey/neo20-all-in-one.exe delete mode 100644 autohotkey/neo20_mod-test.ahk delete mode 100644 kbdneo2/Quelldateien/README.txt delete mode 100644 kbdneo2/Quelldateien/kbdneo2.c delete mode 100644 kbdneo2/Quelldateien/kbdneo2.def delete mode 100644 kbdneo2/Quelldateien/kbdneo2.h delete mode 100644 kbdneo2/Quelldateien/kbdneo2.rc delete mode 100644 kbdneo2/Quelldateien/makefile delete mode 100644 kbdneo2/Quelldateien/makefile.inc delete mode 100644 kbdneo2/Quelldateien/sources delete mode 100644 kbdneo2/Treiber/32bit_Windows_Server_2003/NEO20.dll delete mode 100644 kbdneo2/Treiber/32bit_Windows_Vista_und_Windows_Server_Longhorn/NEO20.dll delete mode 100644 kbdneo2/Treiber/32bit_Windows_XP/NEO20.dll delete mode 100644 kbdneo2/Treiber/64bit_Windows_Server_2003_und Windows_XP/NEO20.dll delete mode 100644 kbdneo2/Treiber/64bit_Windows_Vista_und_Windows_Server_Longhorn/NEO20.dll delete mode 100644 kbdneo2/Treiber/README.txt delete mode 100644 msklc/NEO20_amd64.msi delete mode 100644 msklc/NEO20_i386.msi delete mode 100644 msklc/NEO20_ia64.msi delete mode 100644 msklc/amd64/NEO20.dll delete mode 100644 msklc/i386/NEO20.dll delete mode 100644 msklc/ia64/NEO20.dll delete mode 100644 msklc/setup.exe delete mode 100644 msklc/wow64/NEO20.dll delete mode 100644 neo_portable.zip diff --git a/README.txt b/README.txt deleted file mode 100644 index 5d34a9d..0000000 --- a/README.txt +++ /dev/null @@ -1,24 +0,0 @@ - -== Neo 2.0 für Windows == -Für eine Vielzahl von Windowsversionen stehen Treiber zur Verfügung. - -== Windows 98 == - -Für Windows 95 und 98 gibt es nur die Version 1 von NEO. Und zwar hier: -http://www.eigenheimstrasse.de:8668/space/Computerecke/NEO-Tastaturlayout/Download/Windows - - -== autohotkey == -Hierfür braucht man keine Administratorrechte, es muss jedoch zuerst ein Programm namens „autohotkey“ (http://www.autohotkey.com) installiert werden. Dazu benötigt man keine Administratorrechte, wenn man das Programm beispielsweise in das Verzeichnis „Eigene Dateien“ installiert. - -== kbdneo2 == -Hier entsteht mit Hilfe des WinDDK (http://www.microsoft.com/whdc/devtools/ddk/default.mspx) ein Windowstreiber mit allen 6 Ebenen, der also der MSKLC-Variante überlegen ist. -In dem Ordner befinden sich die Quelldateien und eine fertige NEO20.dll. Bitte die jeweilige README.txt beachten. - -== msklc == -Im Verzeichnis msklc sind Dateien, die mit dem MS Keyboard Layout Creator erstellt wurden. Nach Installation der dort abgelegten Dateien, ist das NEO-Layout in das Windowssystem integriert, als wäre es eins der vielen anderen Layouts verschiedener Sprachen. Man benötigt für die Installation jedoch Administratorrechte, weshalb man diese Variante nicht überall installieren kann. -Diese Version ist jedoch nicht mehr aktuell. - -== neo_portable.zip == -Wenn man den Inhalt des zip-Archivs auf einen USB-Stick entpackt, startet sich -Neo automatisch, sobald man den USB-Stick in den USB-Port steckt. \ No newline at end of file diff --git a/autohotkey/README.txt b/autohotkey/README.txt deleted file mode 100644 index 4b4c207..0000000 --- a/autohotkey/README.txt +++ /dev/null @@ -1,86 +0,0 @@ -Version 24.02.2008 - -== Installation == -=== Direkte Installation === -Einfach das Archiv neo20-all-in-one.exe herunterladen und die Datei irgendwo -speichern (am besten auf dem Desktop z.B.). Danach einen Doppelklick auf -diese .exe-Datei und NEO steht in voller Funktionalität zur Verfügung! -Das alles geht ohne Admin-Rechte und ist auf jedem Rechner sofort ausführbar. -Achtung: Da sich NEO in der Entwicklung befindet, kann es vorkommen, dass die -exe-Datei gegenüber der Datei neo20-all-in-one.ahk leicht veraltet sein kann. -Entwickler sollten daher Autohotkey selbst runterladen, wie unten beschrieben. - -Um kurzzeitig zu QWERTZ zu wechseln, kann mit Shift+Pause das Skript pausiert -werden. - -Momentan befindet sich in der Testphase, ob die 6. Ebene über Shift+Mod4 oder -über Mod3+Mod4 angesprochen werden soll (Shift+Mod4 zum Markieren bleibt -erhalten). Die Datei neo20_mod-test.ahk spricht die 6. Ebene über Mod3+Mod4 an, -ist jedoch nicht aktuell. - -=== Autohotkey herunter laden === -Man braucht als erstes das Programm namens »autohotkey« -(http://www.autohotkey.com/download/AutohotkeyInstall.exe). -Um dieses zu installieren benötigt man KEINE Administratorrechte, wenn man das -Programm beispielsweise in das Verzeichnis »Eigene Dateien/NEO« installiert. -Oder in ein anderes Verzeichnis, für das man Schreibrechte hat. - -=== ahk-Dateien === -Danach kann man das ahk-Skript »neo20-all-in-one.ahk« -mit einem Doppelklick starten. Man erhält dann ein Systray-Icon, mit dem man -das Skript vorübergehend deaktivieren (Suspend) oder komplett beenden kann. - -Wenn das Öffnen nicht direkt funktioniert: Öffnen mit -> Autohotkey.exe -auswählen -> Immer mit diesem Programm öffnen. - -=== Automatischer Start === -Bei Bedarf kann man sich eine Verknüpfung mit neo20-all-in-one.ahk in den -Autostart-Ordner legen, dann hat man die Belegung direkt bei der Anmeldung. - -== Wie es funktioniert == -Das Programm kann alle Tastendrucke abfangen und statt dessen andere Tasten -simulieren. Die Zeile - a::send b -fängt z. B. die Taste »a« ab und sendet statt dessen ein »b«. -Die ahk-Dateien lassen sich mit einem Texteditor bearbeiten, man muss -dann nur das Skript neu starten um die Änderungen zu übernehmen. - -== Bekannte Fehler == -Da die Compose-Taste auf rechter Mod3 + Tab liegt, mußte die Tabulator-Taste -umgemappt werden. Dadurch funktioniert leider die ShiftAltTab nicht mehr. -AltTab reagiert hingegen wie gewohnt. - -Bisher reagieren nur die Buchstaben der 1. und 2. Ebene richtig auf -CapsLock (also immer groß schreiben – CapsLock erreicht man unter Neo, wenn -man erst die rechte und dann die linke Mod3-Tasten gleichzeitig drückt). - -== Ziffernblock == -Der Ziffernblock reagiert nicht auf Tastenkombinationen mit Strg, Alt usw. - -Der Ziffernblock auf der 2. Ebene ist wahlweise -- bei AUSgeschaltetem Numlock -- bei EINgeschaltetem Numlock mit Shift -zu erreichen. -Der Ziffernblock auf der 3. Ebene funktioniert bei EINgeschaltetem -Numlock mit Mod3 (Caps/#). -Der Ziffernblock auf der 4. Ebene ist wahlweise -- bei AUSgeschaltetem Numlock mit Mod3 + Shift -- bei EINgeschaltetem Numlock über Mod4 -zu erreichen. -Da die 2. Ebene über Shift ebenfalls bei EINgeschaltetem Numlock -funktioniert ist das Ausschalten des Ziffernblocks nicht unbedingt -nötig. - -== Besonderheiten bei der ahk-Windowsversion von Neo == -Ebene 4 des Ziffernblocks lässt sich außer über Mod3+Shift auch über -Mod4 ansprechen. - -== Warnung == -ACHTUNG! Bei Windows ist folgendes festgelegt: -AltGr + Pos1 = Abmelden -AltGr + Ende = Computer ausschalten ---> diese Kombinationen treten auf bei AUSgeschaltetem Numlock mit Mod4 - -== FAQ == -Bei Problemen erst mal in die FAQ schauen, das meiste ist bekannt. -Hier: https://neo.eigenheimstrasse.de/svn/FAQ.txt diff --git a/autohotkey/neo20-all-in-one.ahk b/autohotkey/neo20-all-in-one.ahk deleted file mode 100644 index 8a30849..0000000 --- a/autohotkey/neo20-all-in-one.ahk +++ /dev/null @@ -1,3198 +0,0 @@ -/* - Titel: NEO 2.0 beta Autohotkey-Treiber - $Revision: 490 $ - $Date: 2008-04-19 22:51:27 +0200 (Sa, 19 Apr 2008) $ - Autor: Stefan Mayer - Basiert auf: neo20-all-in-one.ahk vom 29.06.2007 - - TODO: - ausgiebig testen... - - Menü des Tasksymbols - - Bessere Lösung für das leeren von PriorDeadKey finden, damit die Sondertasten - nicht mehr abgefangen werden müssen. - - Ebene 4 und 5 tauschen (im Programmcode, in der Doku ists schon) - - CapsLock auf 1. und 2. Ebene einbauen: - Die Buchstaben reagieren richtig auf CapsLock, da hier "sendinput {blind}" - verwendet wird. Bei anderen Tasten muss CapsLock in der ersten und zweiten Ebene - explizit abgefragt werden. - (Lässt sich das elegant in eine Funktion auslagern?) - Ideen: - Symbol ändern (Neo-Logo abwarten) - - bei Ebene 4 rechte Hand (Numpad) z.B. Numpad5 statt 5 senden - CHANGES: - SUBSCRIPT von 0 bis 9 sowie (auf Ziffernblock) + und - - • auch bei Ziffernblock auf der 5. Ebene - - Kein Parsen über die Zwischenablage mehr - - Vista-kompatibel - - Compose-Taste - • Brüche (auf Zahlenreihe und Hardware-Ziffernblock) - • römische Zahlen - • Ligaturen und Copyright -*/ - -; aus Noras script kopiert: -#usehook on -#singleinstance force -#LTrim - ; Quelltext kann eingerückt werden, - ; msgbox ist trotzdem linksbündig - -SetTitleMatchMode 2 -SendMode InputThenPlay - -name = Neo 2.0 -enable = Aktiviere %name% -disable = Deaktiviere %name% - -; Überprüfung auf deutsches Tastaturlayout -; ---------------------------------------- - -regread, inputlocale, HKEY_CURRENT_USER, Keyboard Layout\Preload, 1 -regread, inputlocalealias, HKEY_CURRENT_USER - , Keyboard Layout\Substitutes, %inputlocale% -if inputlocalealias <> - inputlocale = %inputlocalealias% -if inputlocale <> 00000407 -{ - suspend - regread, inputlocale, HKEY_LOCAL_MACHINE - , SYSTEM\CurrentControlSet\Control\Keyboard Layouts\%inputlocale% - , Layout Text - msgbox, 48, Warnung!, - ( - Nicht kompatibles Tastaturlayout: - `t%inputlocale% - `nDas deutsche QWERTZ muss als Standardlayout eingestellt - sein, damit %name% wie erwartet funktioniert. - `nÄndern Sie die Tastatureinstellung unter - `tSystemsteuerung - `t-> Regions- und Sprachoptionen - `t-> Sprachen - `t-> Details... `n - ) - exitapp -} - -; Menü des Systray-Icons -; ---------------------- - -menu, tray, nostandard -menu, tray, add, Öffnen, open - menu, helpmenu, add, About, about - menu, helpmenu, add, Autohotkey-Hilfe, help - menu, helpmenu, add - menu, helpmenu, add, http://&autohotkey.com/, autohotkey - menu, helpmenu, add, http://www.neo-layout.org/, neo - menu, tray, add, Hilfe, :helpmenu -menu, tray, add -menu, tray, add, %disable%, togglesuspend -menu, tray, default, %disable% -menu, tray, add -menu, tray, add, Edit, edit -menu, tray, add, Reload, reload -menu, tray, add -menu, tray, add, Nicht im Systray anzeigen, hide -menu, tray, add, %name% beenden, exitprogram -menu, tray, tip, %name% - - -/* - Variablen initialisieren -*/ - -Ebene = 1 -PriorDeadKey := "" - - -/* - ------------------------------------------------------ - Modifier - ------------------------------------------------------ -*/ - -; CapsLock durch Mod3+Mod3 -*#:: -*CapsLock:: - if GetKeyState("#","P") and GetKeyState("CapsLock","P") - { - if GetKeyState("CapsLock","T") - { - setcapslockstate, off - } - else - { - setcapslockstate, on - } - } -return - -; KP_Decimal durch Mod4+Mod4 -*<:: -*SC138:: - if GetKeyState("<","P") and GetKeyState("SC138","P") - { - send {numpaddot} - } - return - -/* - Ablauf bei toten Tasten: - 1. Ebene Aktualisieren - 2. Abhängig von der Variablen "Ebene" Zeichen ausgeben und die Variable "PriorDeadKey" setzen - - Ablauf bei "lebenden" (sagt man das?) Tasten: - 1. Ebene Aktualisieren - 2. Abhängig von den Variablen "Ebene" und "PriorDeadKey" Zeichen ausgeben - 3. "PriorDeadKey" mit leerem String überschreiben - - ------------------------------------------------------ - Reihe 1 - ------------------------------------------------------ -*/ - -*^:: - EbeneAktualisieren() - if Ebene = 1 - { - SendUnicodeChar(0x02C6) ; circumflex, tot - PriorDeadKey := "c1" - } - else if Ebene = 2 - { - SendUnicodeChar(0x02C7) ; caron, tot - PriorDeadKey := "c2" - } - else if Ebene = 3 - { - SendUnicodeChar(0x02D8) ; brevis - PriorDeadKey := "c3" - } - else if Ebene = 4 - { - send - ; querstrich, tot - PriorDeadKey := "c4" - } - else if Ebene = 5 - { - SendUnicodeChar(0x00B7) ; Mittenpunkt, tot - PriorDeadKey := "c5" - } - else if Ebene = 6 - { - Send . ; punkt darunter (colon) - PriorDeadKey := "c6" - } -return - -*1:: - EbeneAktualisieren() - if Ebene = 1 - { - If (PriorDeadKey = "c1") ; circumflex 1 - BSSendUnicodeChar(0x00B9) - Else If (PriorDeadKey = "c4") ; toter - - BSSendUnicodeChar(0x2081) - Else If (CompKey = "r_small_1") - Comp3UnicodeChar(0x217A) ; römisch xi - Else If (CompKey = "r_capital_1") - Comp3UnicodeChar(0x216A) ; römisch XI - Else - send {blind}1 - If (PriorDeadKey = "comp") - CompKey := "1" - Else If (CompKey = "r_small") - CompKey := "r_small_1" - Else If (CompKey = "r_capital") - CompKey := "r_capital_1" - Else - CompKey := "" - } - else if Ebene = 2 - { - send ° - CompKey := "" - } - else if Ebene = 4 - { - SendUnicodeChar(0x2640) ; Piktogramm weiblich - CompKey := "" - } - else if Ebene = 5 - { - SendUnicodeChar(0x2022) ; bullet - CompKey := "" - } - PriorDeadKey := "" -return - -*2:: - EbeneAktualisieren() - if Ebene = 1 - { - If (PriorDeadKey = "c1") ; circumflex - BSSendUnicodeChar(0x00B2) - Else If (PriorDeadKey = "c4") ; toter - - BSSendUnicodeChar(0x2082) - Else If (CompKey = "r_small") - CompUnicodeChar(0x2171) ; römisch ii - Else If (CompKey = "r_capital") - CompUnicodeChar(0x2161) ; römisch II - Else If (CompKey = "r_small_1") - Comp3UnicodeChar(0x217B) ; römisch xii - Else If (CompKey = "r_capital_1") - Comp3UnicodeChar(0x216B) ; römisch XII - Else - send {blind}2 - If (PriorDeadKey = "comp") - CompKey := "2" - Else - CompKey := "" - } - else if Ebene = 2 - { - SendUnicodeChar(0x2116) ; numero - CompKey := "" - } - else if Ebene = 4 - { - SendUnicodeChar(0x26A5) ; Piktogramm Zwitter - CompKey := "" - } - else if Ebene = 5 - { - SendUnicodeChar(0x2023) ; aufzaehlungspfeil - CompKey := "" - } - PriorDeadKey := "" -return - -*3:: - EbeneAktualisieren() - if Ebene = 1 - { - If (PriorDeadKey = "c1") ; circumflex - BSSendUnicodeChar(0x00B3) - Else If (PriorDeadKey = "c4") ; toter - - BSSendUnicodeChar(0x2083) - Else If (CompKey = "1") - CompUnicodeChar(0x2153) ; 1/3 - Else If (CompKey = "2") - CompUnicodeChar(0x2154) ; 2/3 - Else If (CompKey = "r_small") - CompUnicodeChar(0x2172) ; römisch iii - Else If (CompKey = "r_capital") - CompUnicodeChar(0x2162) ; römisch III - Else - send {blind}3 - If (PriorDeadKey = "comp") - CompKey := "3" - Else - CompKey := "" - } - else if Ebene = 2 - { - send § - CompKey := "" - } - else if Ebene = 4 - { - SendUnicodeChar(0x2642) ; Piktogramm männlich - CompKey := "" - } - PriorDeadKey := "" -return - -*4:: - EbeneAktualisieren() - if Ebene = 1 - { - If (PriorDeadKey = "c1") ; circumflex - BSSendUnicodeChar(0x2074) - Else If (PriorDeadKey = "c4") ; toter - - BSSendUnicodeChar(0x2084) - Else If (CompKey = "r_small") - CompUnicodeChar(0x2173) ; römisch iv - Else If (CompKey = "r_capital") - CompUnicodeChar(0x2163) ; römisch IV - Else - send {blind}4 - If (PriorDeadKey = "comp") - CompKey := "4" - Else - CompKey := "" - } - else if Ebene = 2 - { - send » - CompKey := "" - } - else if Ebene = 3 - { - send › - CompKey := "" - } - else if Ebene = 5 - { - Send {PgUp} ; Prev - CompKey := "" - } - else if Ebene = 6 - { - Send +{Prev} - CompKey := "" - } - PriorDeadKey := "" -return - -*5:: - EbeneAktualisieren() - if Ebene = 1 - { - If (PriorDeadKey = "c1") ; circumflex - BSSendUnicodeChar(0x2075) - Else If (PriorDeadKey = "c4") ; toter - - BSSendUnicodeChar(0x2085) - Else If (CompKey = "1") - CompUnicodeChar(0x2155) ; 1/5 - Else If (CompKey = "2") - CompUnicodeChar(0x2156) ; 2/5 - Else If (CompKey = "3") - CompUnicodeChar(0x2157) ; 3/5 - Else If (CompKey = "4") - CompUnicodeChar(0x2158) ; 4/5 - Else If (CompKey = "r_small") - CompUnicodeChar(0x2174) ; römisch v - Else If (CompKey = "r_capital") - CompUnicodeChar(0x2164) ; römisch V - Else - send {blind}5 - If (PriorDeadKey = "comp") - CompKey := "5" - Else - CompKey := "" - } - else if Ebene = 2 - { - send « - CompKey := "" - } - else if Ebene = 3 - { - send ‹ - CompKey := "" - } - else if Ebene = 6 - { - SendUnicodeChar(0x21D2) ; Implikation - CompKey := "" - } - PriorDeadKey := "" -return - -*6:: - EbeneAktualisieren() - if Ebene = 1 - { - If (PriorDeadKey = "c1") ; circumflex - BSSendUnicodeChar(0x2076) - Else If (PriorDeadKey = "c4") ; toter - - BSSendUnicodeChar(0x2086) - Else If (CompKey = "1") - CompUnicodeChar(0x2159) ; 1/6 - Else If (CompKey = "5") - CompUnicodeChar(0x215A) ; 5/6 - Else If (CompKey = "r_small") - CompUnicodeChar(0x2175) ; römisch vi - Else If (CompKey = "r_capital") - CompUnicodeChar(0x2165) ; römisch VI - Else - send {blind}6 - If (PriorDeadKey = "comp") - CompKey := "6" - Else - CompKey := "" - } - else if Ebene = 2 - { - send € - CompKey := "" - } - else if Ebene = 3 - { - send £ - CompKey := "" - } - else if Ebene = 4 - { - send ¤ - CompKey := "" - } - else if Ebene = 6 - { - SendUnicodeChar(0x21D4) ; Äquivalenz - CompKey := "" - } - PriorDeadKey := "" -return - -*7:: - EbeneAktualisieren() - if Ebene = 1 - { - If (PriorDeadKey = "c1") ; circumflex - BSSendUnicodeChar(0x2077) - Else If (PriorDeadKey = "c4") ; toter - - BSSendUnicodeChar(0x2087) - Else If (CompKey = "r_small") - CompUnicodeChar(0x2176) ; römisch vii - Else If (CompKey = "r_capital") - CompUnicodeChar(0x2166) ; römisch VII - Else - send {blind}7 - If (PriorDeadKey = "comp") - CompKey := "7" - Else - CompKey := "" - } - else if Ebene = 2 - { - send $ - CompKey := "" - } - else if Ebene = 3 - { - send ¢ - CompKey := "" - } - else if Ebene = 4 - { - send ¥CompKey := "" - } - else if Ebene = 6 - { - Send ¬ - CompKey := "" - } - PriorDeadKey := "" -return - -*8:: - EbeneAktualisieren() - if Ebene = 1 - { - If (PriorDeadKey = "c1") ; circumflex - BSSendUnicodeChar(0x2078) - Else If (PriorDeadKey = "c4") ; toter - - BSSendUnicodeChar(0x2088) - Else If (CompKey = "1") - CompUnicodeChar(0x215B) ; 1/8 - Else If (CompKey = "3") - CompUnicodeChar(0x215C) ; 3/8 - Else If (CompKey = "5") - CompUnicodeChar(0x215D) ; 5/8 - Else If (CompKey = "7") - CompUnicodeChar(0x215E) ; 7/8 - Else If (CompKey = "r_small") - CompUnicodeChar(0x2177) ; römisch viii - Else If (CompKey = "r_capital") - CompUnicodeChar(0x2167) ; römisch VIII - Else - send {blind}8 - If (PriorDeadKey = "comp") - CompKey := "8" - Else - CompKey := "" - } - else if Ebene = 2 - { - send „ - CompKey := "" - } - else if Ebene = 3 - { - send ‚ - CompKey := "" - } - else if Ebene = 5 - { - Send / - CompKey := "" - } - else if Ebene = 6 - { - SendUnicodeChar(0x2203) ; Existenzquantor - CompKey := "" - } - PriorDeadKey := "" -return - -*9:: - EbeneAktualisieren() - if Ebene = 1 - { - If (PriorDeadKey = "c1") ; circumflex - BSSendUnicodeChar(0x2079) - Else If (PriorDeadKey = "c4") ; toter - - BSSendUnicodeChar(0x2089) - Else If (CompKey = "r_small") - CompUnicodeChar(0x2178) ; römisch ix - Else If (CompKey = "r_capital") - CompUnicodeChar(0x2168) ; römisch IX - Else - send {blind}9 - If (PriorDeadKey = "comp") - CompKey := "9" - Else - CompKey := "" - } - else if Ebene = 2 - { - send “ - CompKey := "" - } - else if Ebene = 3 - { - send ‘ - CompKey := "" - } - else if Ebene = 5 - { - Send * - CompKey := "" - } - else if Ebene = 6 - { - SendUnicodeChar(0x2200) ; Allquantor - CompKey := "" - } - PriorDeadKey := "" -return - -*0:: - EbeneAktualisieren() - if Ebene = 1 - { - If (PriorDeadKey = "c1") ; circumflex - BSSendUnicodeChar(0x2070) - Else If (PriorDeadKey = "c4") ; toter - - BSSendUnicodeChar(0x2080) - Else If (CompKey = "r_small_1") - Comp3UnicodeChar(0x2179) ; römisch x - Else If (CompKey = "r_capital_1") - Comp3UnicodeChar(0x2169) ; römisch X - Else - send {blind}0 - If (PriorDeadKey = "comp") - CompKey := "0" - Else - CompKey := "" - } - else if Ebene = 2 - { - send ” - CompKey := "" - } - else if Ebene = 3 - { - send ’ - CompKey := "" - } - else if Ebene = 5 - { - Send - - CompKey := "" - } - else if Ebene = 6 - { - SendUnicodeChar(0x2228) ; logisch oder - CompKey := "" - } - PriorDeadKey := "" -return - -*ß:: - EbeneAktualisieren() - if Ebene = 1 - send {blind}- ; Bind - else if Ebene = 2 - SendUnicodeChar(0x2013) ; Ged - else if Ebene = 3 - SendUnicodeChar(0x2014) - else if Ebene = 4 - SendUnicodeChar(0x254C) - else if Ebene = 5 - SendUnicodeChar(0x2011) - else if Ebene = 6 - SendUnicodeChar(0x2227) ; logisch und - PriorDeadKey := "" CompKey := "" -return - -*´:: - EbeneAktualisieren() - if Ebene = 1 - { - send {´}{space} ; akut, tot - PriorDeadKey := "a1" - } - else if Ebene = 2 - { - send ``{space} - PriorDeadKey := "a2" - } - else if Ebene = 3 - { - send ¸ ; cedilla - PriorDeadKey := "a3" - } - else if Ebene = 4 - { - SendUnicodeChar(0x02DB) ; ogonek - PriorDeadKey := "a4" - } - else if Ebene = 5 - { - SendUnicodeChar(0x02D9) ; punkt oben drüber - PriorDeadKey := "a5" - } - else if Ebene = 6 - { - SendUnicodeChar(0x02DA) ; ring obendrauf - PriorDeadKey := "a6" - } -return - - -/* - ------------------------------------------------------ - Reihe 2 - ------------------------------------------------------ -*/ - -*q:: - EbeneAktualisieren() - if Ebene = 1 - sendinput {blind}x - else if Ebene = 2 - sendinput {blind}X - else if Ebene = 4 - SendUnicodeChar(0x03BE) ;xi - else if Ebene = 6 - SendUnicodeChar(0x039E) ; Xi - PriorDeadKey := "" CompKey := "" -return - - -*w:: - EbeneAktualisieren() - if Ebene = 1 - { - If (PriorDeadKey = "c6") ; punkt darunter - BSSendUnicodeChar(0x1E7F) - Else - sendinput {blind}v - } - else if Ebene = 2 - { - If (PriorDeadKey = "c6") ; punkt darunter - BSSendUnicodeChar(0x1E7E) - Else - sendinput {blind}V - } - else if Ebene = 3 - send _ - else if Ebene = 5 - Send {Backspace} - else if Ebene = 6 - Send +{Backspace} - PriorDeadKey := "" CompKey := "" -return - - - -*e:: - EbeneAktualisieren() - if Ebene = 1 - { - If (PriorDeadKey = "t5") ; Schrägstrich - BSSendUnicodeChar(0x0142) - Else If (PriorDeadKey = "a1") ; akut - BSSendUnicodeChar(0x013A) - Else If (PriorDeadKey = "c2") ; caron - BSSendUnicodeChar(0x013E) - Else If (PriorDeadKey = "a3") ; cedilla - BSSendUnicodeChar(0x013C) - Else If (PriorDeadKey = "c5") ; Mittenpunkt - BSSendUnicodeChar(0x0140) - Else If (PriorDeadKey = "c6") ; punkt darunter - BSSendUnicodeChar(0x1E37) - Else - sendinput {blind}l - If (PriorDeadKey = "comp") ; compose - CompKey := "l_small" - Else - CompKey := "" - } - else if Ebene = 2 - { - If (PriorDeadKey = "a1") ; akut - BSSendUnicodeChar(0x0139) - Else If (PriorDeadKey = "c2") ; caron - BSSendUnicodeChar(0x013D) - Else If (PriorDeadKey = "a3") ; cedilla - BSSendUnicodeChar(0x013B) - Else If (PriorDeadKey = "t5") ; Schrägstrich - BSSendUnicodeChar(0x0141) - Else If (PriorDeadKey = "c5") ; Mittenpunkt - BSSendUnicodeChar(0x013F) - Else If (PriorDeadKey = "c6") ; punkt darunter - BSSendUnicodeChar(0x1E36) - Else - sendinput {blind}L - If (PriorDeadKey = "comp") ; compose - CompKey := "l_capital" - Else CompKey := "" - } - else if Ebene = 3 - { - send [ - CompKey := "" - } - else if Ebene = 4 - { - SendUnicodeChar(0x03BB) ;lambda - CompKey := "" - } - else if Ebene = 5 - { - Sendinput {Blind}{Up} - CompKey := "" - } - else if Ebene = 6 - { - Sendinput {Blind}+{Up} - CompKey := "" - } - PriorDeadKey := "" -return - - -*r:: - EbeneAktualisieren() - if Ebene = 1 - { - If (PriorDeadKey = "c1") ; circumflex - BSSendUnicodeChar(0x0109) - Else If (PriorDeadKey = "c2") ; caron - BSSendUnicodeChar(0x010D) - Else If (PriorDeadKey = "a1") ; akut - BSSendUnicodeChar(0x0107) - Else If (PriorDeadKey = "a3") ; cedilla - BSSendUnicodeChar(0x00E7) - Else If (PriorDeadKey = "a5") ; punkt darüber - BSSendUnicodeChar(0x010B) - Else If ( (CompKey = "o_small") or (CompKey = "o_capital") ) - Send {bs}© - Else - sendinput {blind}c - If (PriorDeadKey = "comp") - CompKey := "c_small" - Else - CompKey := "" - } - else if Ebene = 2 - { - If (PriorDeadKey = "c1") ; circumflex - BSSendUnicodeChar(0x0108) - Else If (PriorDeadKey = "c2") ; caron - BSSendUnicodeChar(0x010C) - Else If (PriorDeadKey = "a1") ; akut - BSSendUnicodeChar(0x0106) - Else If (PriorDeadKey = "a3") ; cedilla - BSSendUnicodeChar(0x00E6) - Else If (PriorDeadKey = "a5") ; punkt darüber - BSSendUnicodeChar(0x010A) - Else If ( (CompKey = "o_small") or (CompKey = "o_capital") ) - Send {bs}© - Else - sendinput {blind}C - If (PriorDeadKey = "comp") - CompKey = "c_capital" - Else - CompKey := "" - } - else if Ebene = 3 - { - send ] - CompKey := "" - } - else if Ebene = 4 - { - SendUnicodeChar(0x03C7) ;chi - CompKey := "" - } - else if Ebene = 5 - { - Send {Del} - CompKey := "" - } - else if Ebene = 6 - { - SendUnicodeChar(0x039B) ; Lambda - CompKey := "" - } - PriorDeadKey := "" -return - -*t:: - EbeneAktualisieren() - if Ebene = 1 - { - If (PriorDeadKey = "c1") ; circumflex - BSSendUnicodeChar(0x0175) - Else - sendinput {blind}w - } - else if Ebene = 2 - { - If (PriorDeadKey = "c1") ; circumflex - BSSendUnicodeChar(0x0174) - Else - sendinput {blind}W - } - else if Ebene = 3 - send {^}{space} ; untot - else if Ebene = 5 - Send {Insert} - else if Ebene = 6 - Send +{Insert} - PriorDeadKey := "" CompKey := "" -return - -*z:: - EbeneAktualisieren() - if Ebene = 1 - { - If (PriorDeadKey = "a3") ; cedilla - BSSendUnicodeChar(0x0137) - Else If (PriorDeadKey = "c6") ; punkt darunter - BSSendUnicodeChar(0x1E33) - Else - sendinput {blind}k - } - else if Ebene = 2 - { - If (PriorDeadKey = "a3") ; cedilla - BSSendUnicodeChar(0x0136) - Else If (PriorDeadKey = "c6") ; punkt darunter - BSSendUnicodeChar(0x1E32) - Else - sendinput {blind}K - } - else if Ebene = 3 - sendraw ! - else if Ebene = 4 - SendUnicodeChar(0x03BA) ;kappa - else if Ebene = 5 - Send ¡ - PriorDeadKey := "" CompKey := "" -return - -*u:: - EbeneAktualisieren() - if Ebene = 1 - { - If (PriorDeadKey = "c1") ; circumflex - BSSendUnicodeChar(0x0125) - Else If (PriorDeadKey = "c4") ; Querstrich - BSSendUnicodeChar(0x0127) - Else If (PriorDeadKey = "a5") ; punkt darüber - BSSendUnicodeChar(0x1E23) - Else If (PriorDeadKey = "c6") ; punkt darunter - BSSendUnicodeChar(0x1E25) - Else sendinput {blind}h - } - else if Ebene = 2 - { - If (PriorDeadKey = "c1") ; circumflex - BSSendUnicodeChar(0x0124) - Else If (PriorDeadKey = "c4") ; Querstrich - BSSendUnicodeChar(0x0126) - Else If (PriorDeadKey = "a5") ; punkt darüber - BSSendUnicodeChar(0x1E22) - Else If (PriorDeadKey = "c6") ; punkt darunter - BSSendUnicodeChar(0x1E24) - Else sendinput {blind}H - } - else if Ebene = 3 - { - If (PriorDeadKey = "c4") ; Querstrich - BSSendUnicodeChar(0x2264) ; kleiner gleich - Else - send {blind}< - } - else if Ebene = 4 - SendUnicodeChar(0x03C8) ;psi - else if Ebene = 5 - { - If (PriorDeadKey = "c1") ; circumflex - BSSendUnicodeChar(0x2077) - Else If (PriorDeadKey = "c4") ; toter - - BSSendUnicodeChar(0x2087) - Else - Send 7 - } - else if Ebene = 6 - SendUnicodeChar(0x03A8) ; Psi - PriorDeadKey := "" CompKey := "" -return - -*i:: - EbeneAktualisieren() - if Ebene = 1 - { - If (PriorDeadKey = "c1") ; circumflex - BSSendUnicodeChar(0x011D) - Else If (PriorDeadKey = "c3") ; brevis - BSSendUnicodeChar(0x011F) - Else If (PriorDeadKey = "a3") ; cedilla - BSSendUnicodeChar(0x0123) - Else If (PriorDeadKey = "a5") ; punkt darüber - BSSendUnicodeChar(0x0121) - Else sendinput {blind}g - } - else if Ebene = 2 - { - If (PriorDeadKey = "c1") ; circumflex - BSSendUnicodeChar(0x011C) - Else If (PriorDeadKey = "c3") ; brevis - BSSendUnicodeChar(0x011E) - Else If (PriorDeadKey = "a3") ; cedilla - BSSendUnicodeChar(0x0122) - Else If (PriorDeadKey = "a5") ; punkt darüber - BSSendUnicodeChar(0x0120) - Else sendinput {blind}G - } - else if Ebene = 3 - { - If (PriorDeadKey = "c4") ; Querstrich - SendUnicodeChar(0x2265) ; größer gleich - Else - send > - } - else if Ebene = 4 - SendUnicodeChar(0x03B3) ;gamma - else if Ebene = 5 - { - If (PriorDeadKey = "c1") ; circumflex - BSSendUnicodeChar(0x2078) - Else If (PriorDeadKey = "c4") ; toter - - BSSendUnicodeChar(0x2088) - Else - Send 8 - } - else if Ebene = 6 - SendUnicodeChar(0x0393) ; Gamma - PriorDeadKey := "" CompKey := "" -return - -*o:: - EbeneAktualisieren() - if Ebene = 1 - { - If (PriorDeadKey = "t5") ; durchgestrichen - BSSendUnicodeChar(0x0192) - Else If (PriorDeadKey = "a5") ; punkt darüber - BSSendUnicodeChar(0x1E1F) - Else sendinput {blind}f - } - else if Ebene = 2 - { - If (PriorDeadKey = "t5") ; durchgestrichen - BSSendUnicodeChar(0x0191) - Else If (PriorDeadKey = "a5") ; punkt darüber - BSSendUnicodeChar(0x1E1E) - Else sendinput {blind}F - } - else if Ebene = 3 - { - If (PriorDeadKey = "c1") ; circumflex - BSSendUnicodeChar(0x2259) ; entspricht - Else If (PriorDeadKey = "t1") ; tilde - BSSendUnicodeChar(0x2245) ; ungefähr gleich - Else If (PriorDeadKey = "t5") ; Schrägstrich - BSSendUnicodeChar(0x2260) ; ungleich - Else If (PriorDeadKey = "c4") ; Querstrich - BSSendUnicodeChar(0x2261) ; identisch - Else If (PriorDeadKey = "c2") ; caron - BSSendUnicodeChar(0x225A) ; EQUIANGULAR TO - Else If (PriorDeadKey = "a6") ; ring drüber - BSSendUnicodeChar(0x2257) ; ring equal to - Else - send `= - } - else if Ebene = 4 - SendUnicodeChar(0x03C6) ;phi - else if Ebene = 5 - { - If (PriorDeadKey = "c1") ; circumflex - BSSendUnicodeChar(0x2079) - Else If (PriorDeadKey = "c4") ; toter - - BSSendUnicodeChar(0x2089) - Else - Send 9 - } - else if Ebene = 6 - SendUnicodeChar(0x03A6) ; Phi - PriorDeadKey := "" CompKey := "" -return - -*p:: - EbeneAktualisieren() - if Ebene = 1 - sendinput {blind}q - else if Ebene = 2 - sendinput {blind}Q - else if Ebene = 3 - send {&} - else if Ebene = 4 - SendUnicodeChar(0x0278) ; Varphi? (latin letter phi) - else if Ebene = 5 - { - If (PriorDeadKey = "c1") ; circumflex - BSSendUnicodeChar(0x207A) - Else If (PriorDeadKey = "c4") ; toter - - BSSendUnicodeChar(0x208A) - Else - Send {+} - } - else if Ebene = 6 - SendUnicodeChar(0x2202) ; "geschweiftes d" (partielle Ableitung) - PriorDeadKey := "" CompKey := "" -return - -*ü:: - EbeneAktualisieren() - if Ebene = 1 - if GetKeyState("CapsLock","T") - { - SendUnicodeChar(0x1E9E) ; versal-ß - } - else - { - send ß - } - else if Ebene = 2 - if GetKeyState("CapsLock","T") - { - send ß - } - else - { - SendUnicodeChar(0x1E9E) ; versal-ß - } - else if Ebene = 3 - SendUnicodeChar(0x017F) ; langes s - else if Ebene = 4 - SendUnicodeChar(0x03C2) ; varsigma - else if Ebene = 5 - SendUnicodeChar(0x0259) ; schwa - else if Ebene = 6 - SendUnicodeChar(0x018F) ; Schwa - PriorDeadKey := "" CompKey := "" -return - - -*+:: - EbeneAktualisieren() - if Ebene = 1 - { - SendUnicodeChar(0x02DC) ; tilde, tot - PriorDeadKey := "t1" - } - else if Ebene = 2 - { - SendUnicodeChar(0x00AF) ; macron, tot - PriorDeadKey := "t2" - } - else if Ebene = 3 - { - SendUnicodeChar(0x00A8) ; Diaerese - PriorDeadKey := "t3" - } - else if Ebene = 4 - { - send " ;doppelakut - PriorDeadKey := "t4" - } - else if Ebene = 5 - { - SendUnicodeChar(0x002F) ; Schrägstrich, tot - PriorDeadKey := "t5" - } - else if Ebene = 6 - { - SendUnicodeChar(0x02CF) ; komma drunter, tot - PriorDeadKey := "t6" - } -return - - -/* - ------------------------------------------------------ - Reihe 3 - ------------------------------------------------------ -*/ - -*a:: - EbeneAktualisieren() - if Ebene = 1 - { - If (PriorDeadKey = "c1") ; circumflex - BSSendUnicodeChar(0x00FB) - Else If (PriorDeadKey = "a1") ; akut - BSSendUnicodeChar(0x00FA) - Else If (PriorDeadKey = "a2") ; grave - BSSendUnicodeChar(0x00F9) - Else If (PriorDeadKey = "t3") ; Diaerese - Send, {bs}ü - Else If (PriorDeadKey = "t4") ; doppelakut - BSSendUnicodeChar(0x0171) - Else If (PriorDeadKey = "c3") ; brevis - BSSendUnicodeChar(0x016D) - Else If (PriorDeadKey = "t2") ; macron - BSSendUnicodeChar(0x016B) - Else If (PriorDeadKey = "a4") ; ogonek - BSSendUnicodeChar(0x0173) - Else If (PriorDeadKey = "a6") ; Ring - BSSendUnicodeChar(0x016F) - Else If (PriorDeadKey = "t1") ; tilde - BSSendUnicodeChar(0x0169) - Else If (PriorDeadKey = "c2") ; caron - BSSendUnicodeChar(0x01D4) - Else - sendinput {blind}u - } - else if Ebene = 2 - { - If (PriorDeadKey = "c1") ; circumflex - BSSendUnicodeChar(0x00DB) - Else If (PriorDeadKey = "a1") ; akut - BSSendUnicodeChar(0x00DA) - Else If (PriorDeadKey = "a2") ; grave - BSSendUnicodeChar(0x00D9) - Else If (PriorDeadKey = "t3") ; Diaerese - Send, {bs}Ü - Else If (PriorDeadKey = "a6") ; Ring - BSSendUnicodeChar(0x016E) - Else If (PriorDeadKey = "c3") ; brevis - BSSendUnicodeChar(0x016C) - Else If (PriorDeadKey = "t4") ; doppelakut - BSSendUnicodeChar(0x0170) - Else If (PriorDeadKey = "c2") ; caron - BSSendUnicodeChar(0x01D3) - Else If (PriorDeadKey = "t2") ; macron - BSSendUnicodeChar(0x016A) - Else If (PriorDeadKey = "a4") ; ogonek - BSSendUnicodeChar(0x0172) - Else If (PriorDeadKey = "t1") ; tilde - BSSendUnicodeChar(0x0168) - Else - sendinput {blind}U - } - else if Ebene = 3 - send \ - else if Ebene = 5 - Send {blind}{Home} - else if Ebene = 6 - Send {blind}+{Home} - PriorDeadKey := "" CompKey := "" -return - -*s:: - EbeneAktualisieren() - if Ebene = 1 - { - If (PriorDeadKey = "c1") ; circumflex - BSSendUnicodeChar(0x00EE) - Else If (PriorDeadKey = "a1") ; akut - BSSendUnicodeChar(0x00ED) - Else If (PriorDeadKey = "a2") ; grave - BSSendUnicodeChar(0x00EC) - Else If (PriorDeadKey = "t3") ; Diaerese - Send, {bs}ï - Else If (PriorDeadKey = "t2") ; macron - BSSendUnicodeChar(0x012B) - Else If (PriorDeadKey = "c3") ; brevis - BSSendUnicodeChar(0x012D) - Else If (PriorDeadKey = "a4") ; ogonek - BSSendUnicodeChar(0x012F) - Else If (PriorDeadKey = "t1") ; tilde - BSSendUnicodeChar(0x0129) - Else If (PriorDeadKey = "a5") ; (ohne) punkt darüber - BSSendUnicodeChar(0x0131) - Else - sendinput {blind}i - If (PriorDeadKey = "comp") ; compose - CompKey := "i_small" - Else - CompKey := "" - } - else if Ebene = 2 - { - If (PriorDeadKey = "c1") ; circumflex - BSSendUnicodeChar(0x00CE) - Else If (PriorDeadKey = "a1") ; akut - BSSendUnicodeChar(0x00CD) - Else If (PriorDeadKey = "a2") ; grave - BSSendUnicodeChar(0x00CC) - Else If (PriorDeadKey = "t3") ; Diaerese - Send, {bs}Ï - Else If (PriorDeadKey = "t2") ; macron - BSSendUnicodeChar(0x012A) - Else If (PriorDeadKey = "c3") ; brevis - BSSendUnicodeChar(0x012C) - Else If (PriorDeadKey = "a4") ; ogonek - BSSendUnicodeChar(0x012E) - Else If (PriorDeadKey = "t1") ; tilde - BSSendUnicodeChar(0x0128) - Else If (PriorDeadKey = "a5") ; punkt darüber - BSSendUnicodeChar(0x0130) - Else - sendinput {blind}I - If (PriorDeadKey = "comp") ; compose - CompKey := "i_capital" - Else - CompKey := "" - } - else if Ebene = 3 - { - send `/ - CompKey := "" - } - else if Ebene = 4 - { - SendUnicodeChar(0x03B9) ;iota - CompKey := "" - } - else if Ebene = 5 - { - Sendinput {Blind}{Left} - CompKey := "" - } - else if Ebene = 6 - { - Sendinput {Blind}+{Left} - CompKey := "" - } - PriorDeadKey := "" -return - -*d:: - EbeneAktualisieren() - if Ebene = 1 - { - If (PriorDeadKey = "c1") ; circumflex - BSSendUnicodeChar(0x00E2) - Else If (PriorDeadKey = "a1") ; akut - BSSendUnicodeChar(0x00E1) - Else If (PriorDeadKey = "a2") ; grave - BSSendUnicodeChar(0x00E0) - Else If (PriorDeadKey = "t3") ; Diaerese - send {bs}ä - Else If (PriorDeadKey = "a6") ; Ring - Send {bs}å - Else If (PriorDeadKey = "t1") ; tilde - BSSendUnicodeChar(0x00E3) - Else If (PriorDeadKey = "a4") ; ogonek - BSSendUnicodeChar(0x0105) - Else If (PriorDeadKey = "t2") ; macron - BSSendUnicodeChar(0x0101) - Else If (PriorDeadKey = "c3") ; brevis - BSSendUnicodeChar(0x0103) - Else - sendinput {blind}a - If (PriorDeadKey = "comp") ; compose - CompKey := "a_small" - Else - CompKey := "" - } - else if Ebene = 2 - { - If (PriorDeadKey = "c1") ; circumflex - BSSendUnicodeChar(0x00C2) - Else If (PriorDeadKey = "a1") ; akut - BSSendUnicodeChar(0x00C1) - Else If (PriorDeadKey = "a2") ; grave - BSSendUnicodeChar(0x00C0) - Else If (PriorDeadKey = "t3") ; Diaerese - send {bs}Ä - Else If (PriorDeadKey = "t1") ; tilde - BSSendUnicodeChar(0x00C3) - Else If (PriorDeadKey = "a6") ; Ring - Send {bs}Å - Else If (PriorDeadKey = "t2") ; macron - BSSendUnicodeChar(0x0100) - Else If (PriorDeadKey = "c3") ; brevis - BSSendUnicodeChar(0x0102) - Else If (PriorDeadKey = "a4") ; ogonek - BSSendUnicodeChar(0x0104) - Else - sendinput {blind}A - If (PriorDeadKey = "comp") ; compose - CompKey := "a_capital" - Else - CompKey := "" - } - else if Ebene = 3 - { - sendraw { - CompKey := "" - } - else if Ebene = 4 - { - SendUnicodeChar(0x03B1) ;alpha - CompKey := "" - } - else if Ebene = 5 - { - Sendinput {Blind}{Down} - CompKey := "" - } - else if Ebene = 6 - { - Sendinput {Blind}+{Down} - CompKey := "" - } - PriorDeadKey := "" -return - -*f:: - EbeneAktualisieren() - if Ebene = 1 - { - If (PriorDeadKey = "c1") ; circumflex - BSSendUnicodeChar(0x00EA) - Else If (PriorDeadKey = "a1") ; akut - BSSendUnicodeChar(0x00E9) - Else If (PriorDeadKey = "a2") ; grave - BSSendUnicodeChar(0x00E8) - Else If (PriorDeadKey = "t3") ; Diaerese - Send, {bs}ë - Else If (PriorDeadKey = "a4") ; ogonek - BSSendUnicodeChar(0x0119) - Else If (PriorDeadKey = "t2") ; macron - BSSendUnicodeChar(0x0113) - Else If (PriorDeadKey = "c3") ; brevis - BSSendUnicodeChar(0x0115) - Else If (PriorDeadKey = "c2") ; caron - BSSendUnicodeChar(0x011B) - Else If (PriorDeadKey = "a5") ; punkt darüber - BSSendUnicodeChar(0x0117) - Else If (CompKey = "a_small") ; compose - { - Send {bs}æ - CompKey := "" - } - Else If (CompKey = "o_small") ; compose - { - Send {bs}œ - CompKey := "" - } - Else - sendinput {blind}e - } - else if Ebene = 2 - { - If (PriorDeadKey = "c1") ; circumflex - BSSendUnicodeChar(0x00CA) - Else If (PriorDeadKey = "a1") ; akut - BSSendUnicodeChar(0x00C9) - Else If (PriorDeadKey = "a2") ; grave - BSSendUnicodeChar(0x00C8) - Else If (PriorDeadKey = "t3") ; Diaerese - Send, {bs}Ë - Else If (PriorDeadKey = "c2") ; caron - BSSendUnicodeChar(0x011A) - Else If (PriorDeadKey = "t2") ; macron - BSSendUnicodeChar(0x0112) - Else If (PriorDeadKey = "c3") ; brevis - BSSendUnicodeChar(0x0114) - Else If (PriorDeadKey = "a4") ; ogonek - BSSendUnicodeChar(0x0118) - Else If (PriorDeadKey = "a5") ; punkt darüber - BSSendUnicodeChar(0x0116) - Else If (CompKey = "a_capital") ; compose - { - Send {bs}Æ - CompKey := "" - } - Else If (CompKey = "o_capital") ; compose - { - Send {bs}Œ - CompKey := "" - } - Else - sendinput {blind}E - } - else if Ebene = 3 - sendraw } - else if Ebene = 4 - SendUnicodeChar(0x03B5) ;epsilon - else if Ebene = 5 - Sendinput {Blind}{Right} - else if Ebene = 6 - Sendinput {Blind}+{Right} - PriorDeadKey := "" CompKey := "" -return - -*g:: - EbeneAktualisieren() - if Ebene = 1 - { - If (PriorDeadKey = "c1") ; circumflex - BSSendUnicodeChar(0x00F4) - Else If (PriorDeadKey = "a1") ; akut - BSSendUnicodeChar(0x00F3) - Else If (PriorDeadKey = "a2") ; grave - BSSendUnicodeChar(0x00F2) - Else If (PriorDeadKey = "t3") ; Diaerese - Send, {bs}ö - Else If (PriorDeadKey = "t1") ; tilde - BSSendUnicodeChar(0x00F5) - Else If (PriorDeadKey = "t4") ; doppelakut - BSSendUnicodeChar(0x0151) - Else If (PriorDeadKey = "t5") ; Schrägstrich - BSSendUnicodeChar(0x00F8) - Else If (PriorDeadKey = "t2") ; macron - BSSendUnicodeChar(0x014D) - Else If (PriorDeadKey = "c3") ; brevis - BSSendUnicodeChar(0x014F) - Else - sendinput {blind}o - If (PriorDeadKey = "comp") ; compose - CompKey := "o_small" - Else - CompKey := "" - } - else if Ebene = 2 - { - If (PriorDeadKey = "c1") ; circumflex - BSSendUnicodeChar(0x00D4) - Else If (PriorDeadKey = "a1") ; akut - BSSendUnicodeChar(0x00D3) - Else If (PriorDeadKey = "a2") ; grave - BSSendUnicodeChar(0x00D2) - Else If (PriorDeadKey = "t5") ; Schrägstrich - BSSendUnicodeChar(0x00D8) - Else If (PriorDeadKey = "t1") ; tilde - BSSendUnicodeChar(0x00D5) - Else If (PriorDeadKey = "t4") ; doppelakut - BSSendUnicodeChar(0x0150) - Else If (PriorDeadKey = "t3") ; Diaerese - send {bs}Ö - Else If (PriorDeadKey = "t2") ; macron - BSSendUnicodeChar(0x014C) - Else If (PriorDeadKey = "c3") ; brevis - BSSendUnicodeChar(0x014E) - Else - sendinput {blind}O - If (PriorDeadKey = "comp") ; compose - CompKey := "o_capital" - Else - CompKey := "" - } - else if Ebene = 3 - { - send * - CompKey := "" - } - else if Ebene = 4 - { - SendUnicodeChar(0x03C9) ;omega - CompKey := "" - } - else if Ebene = 5 - { - Send {blind}{End} - CompKey := "" - } - else if Ebene = 6 - { - Send {blind}+{End} - CompKey := "" - } - PriorDeadKey := "" -return - -*h:: - EbeneAktualisieren() - if Ebene = 1 - { - If (PriorDeadKey = "c1") ; circumflex - BSSendUnicodeChar(0x015D) - Else If (PriorDeadKey = "a1") ; akut - BSSendUnicodeChar(0x015B) - Else If (PriorDeadKey = "c2") ; caron - BSSendUnicodeChar(0x0161) - Else If (PriorDeadKey = "a3") ; cedilla - BSSendUnicodeChar(0x015F) - Else If (PriorDeadKey = "a5") ; punkt darüber - BSSendUnicodeChar(0x1E61) - Else If (PriorDeadKey = "c6") ; punkt darunter - BSSendUnicodeChar(0x1E63) - Else - sendinput {blind}s - If (PriorDeadKey = "comp") - CompKey := "s_small" - Else - CompKey := "" - } - else if Ebene = 2 - { - If (PriorDeadKey = "c1") ; circumflex - BSSendUnicodeChar(0x015C) - Else If (PriorDeadKey = "c2") ; caron - BSSendUnicodeChar(0x0160) - Else If (PriorDeadKey = "a1") ; akut - BSSendUnicodeChar(0x015A) - Else If (PriorDeadKey = "a3") ; cedilla - BSSendUnicodeChar(0x015E) - Else If (PriorDeadKey = "a5") ; punkt darüber - BSSendUnicodeChar(0x1E60) - Else If (PriorDeadKey = "c6") ; punkt darunter - BSSendUnicodeChar(0x1E62) - Else - sendinput {blind}S - If (PriorDeadKey = "comp") - CompKey := "s_capital" - Else - CompKey := "" - } - else if Ebene = 3 - { - send ? - CompKey := "" - } - else if Ebene = 4 - { - SendUnicodeChar(0x03C3) ;sigma - CompKey := "" - } - else if Ebene = 5 - { - Send ¿ - CompKey := "" - } - else if Ebene = 6 - { - SendUnicodeChar(0x03A3) ; Sigma - CompKey := "" - } - PriorDeadKey := "" -return - -*j:: - EbeneAktualisieren() - if Ebene = 1 - { - If (PriorDeadKey = "a1") ; akut - BSSendUnicodeChar(0x0144) - Else If (PriorDeadKey = "t1") ; tilde - BSSendUnicodeChar(0x00F1) - Else If (PriorDeadKey = "c2") ; caron - BSSendUnicodeChar(0x0148) - Else If (PriorDeadKey = "a3") ; cedilla - BSSendUnicodeChar(0x0146) - Else If (PriorDeadKey = "a5") ; punkt darüber - BSSendUnicodeChar(0x1E45) - Else - sendinput {blind}n - } - else if Ebene = 2 - { - If (PriorDeadKey = "c2") ; caron - BSSendUnicodeChar(0x0147) - Else If (PriorDeadKey = "t1") ; tilde - BSSendUnicodeChar(0x00D1) - Else If (PriorDeadKey = "a1") ; akut - BSSendUnicodeChar(0x0143) - Else If (PriorDeadKey = "a3") ; cedilla - BSSendUnicodeChar(0x0145) - Else If (PriorDeadKey = "a5") ; punkt darüber - BSSendUnicodeChar(0x1E44) - Else - sendinput {blind}N - } - else if Ebene = 3 - send ( - else if Ebene = 4 - SendUnicodeChar(0x03BD) ;nu - else if Ebene = 5 - { - If (PriorDeadKey = "c1") ; circumflex - BSSendUnicodeChar(0x2074) - Else If (PriorDeadKey = "c4") ; toter - - BSSendUnicodeChar(0x2084) - Else - Send 4 - } - PriorDeadKey := "" CompKey := "" -return - -*k:: - EbeneAktualisieren() - if Ebene = 1 - { - If (PriorDeadKey = "a1") ; akut - BSSendUnicodeChar(0x0155) - Else If (PriorDeadKey = "c2") ; caron - BSSendUnicodeChar(0x0159) - Else If (PriorDeadKey = "a3") ; cedilla - BSSendUnicodeChar(0x0157) - Else If (PriorDeadKey = "a5") ; punkt darüber - BSSendUnicodeChar(0x0E59) - Else If (PriorDeadKey = "c6") ; punkt darunter - BSSendUnicodeChar(0x1E5B) - Else - sendinput {blind}r - If (PriorDeadKey = "comp") - CompKey := "r_small" - Else - CompKey := "" - } - else if Ebene = 2 - { - If (PriorDeadKey = "c2") ; caron - BSSendUnicodeChar(0x0158) - Else If (PriorDeadKey = "a1") ; akut - BSSendUnicodeChar(0x0154) - Else If (PriorDeadKey = "a3") ; cedilla - BSSendUnicodeChar(0x0156) - Else If (PriorDeadKey = "a5") ; punkt darüber - BSSendUnicodeChar(0x1E58) - Else If (PriorDeadKey = "c6") ; punkt darunter - BSSendUnicodeChar(0x1E5A) - Else - sendinput {blind}R - If (PriorDeadKey = "comp") - CompKey := "r_capital" - Else - CompKey := "" - } - else if Ebene = 3 - { - send ) - CompKey := "" - } - else if Ebene = 4 - { - SendUnicodeChar(0x03C1) ;rho - CompKey := "" - } - else if Ebene = 5 - { - If (PriorDeadKey = "c1") ; circumflex - BSSendUnicodeChar(0x2075) - Else If (PriorDeadKey = "c4") ; toter - - BSSendUnicodeChar(0x2085) - Else - Send 5 - CompKey := "" - } - PriorDeadKey := "" -return - -*l:: - EbeneAktualisieren() - if Ebene = 1 - { - If (PriorDeadKey = "c2") ; caron - BSSendUnicodeChar(0x0165) - Else If (PriorDeadKey = "a3") ; cedilla - BSSendUnicodeChar(0x0163) - Else If (PriorDeadKey = "c4") ; Querstrich - BSSendUnicodeChar(0x0167) - Else If (PriorDeadKey = "a5") ; punkt darüber - 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) - Else If (PriorDeadKey = "c4") ; Querstrich - BSSendUnicodeChar(0x0166) - Else If (PriorDeadKey = "a5") ; punkt darüber - 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}- ; Bind - CompKey := "" - } - else if Ebene = 4 - { - SendUnicodeChar(0x03C4) ;tau - CompKey := "" - } - else if Ebene = 5 - { - If (PriorDeadKey = "c1") ; circumflex - BSSendUnicodeChar(0x2076) - Else If (PriorDeadKey = "c4") ; toter - - BSSendUnicodeChar(0x2086) - Else - Send 6 - CompKey := "" - } - PriorDeadKey := "" -return - -*ö:: - EbeneAktualisieren() - if Ebene = 1 - { - If (PriorDeadKey = "c4") ; Querstrich - BSSendUnicodeChar(0x0111) - Else If (PriorDeadKey = "t5") ; Schrägstrich - BSSendUnicodeChar(0x00F0) - Else If (PriorDeadKey = "c2") ; caron - BSSendUnicodeChar(0x010F) - Else If (PriorDeadKey = "a5") ; punkt darüber - BSSendUnicodeChar(0x1E0B) - Else If (PriorDeadKey = "c6") ; punkt darunter - BSSendUnicodeChar(0x1E0D) - Else - sendinput {blind}d - } - else if Ebene = 2 - { - If (PriorDeadKey = "c4") ; Querstrich - BSSendUnicodeChar(0x0110) - Else If (PriorDeadKey = "t5") ; Schrägstrich - BSSendUnicodeChar(0x00D0) - Else If (PriorDeadKey = "c2") ; caron - BSSendUnicodeChar(0x010E) - Else If (PriorDeadKey = "a5") ; punkt darüber - BSSendUnicodeChar(0x1E0A) - Else If (PriorDeadKey = "c6") ; punkt darunter - BSSendUnicodeChar(0x1E0D) - Else sendinput {blind}D - } - else if Ebene = 3 - send : - else if Ebene = 4 - SendUnicodeChar(0x03B4) ;delta - else if Ebene = 5 - Send `, - else if Ebene = 6 - SendUnicodeChar(0x0394) ; Delta - PriorDeadKey := "" CompKey := "" -return - -*ä:: - EbeneAktualisieren() - if Ebene = 1 - { - If (PriorDeadKey = "t3") ; Diaerese - Send {bs}ÿ - Else If (PriorDeadKey = "a1") ; akut - BSSendUnicodeChar(0x00FD) - Else If (PriorDeadKey = "c1") ; circumflex - BSSendUnicodeChar(0x0177) - Else - sendinput {blind}y - } - else if Ebene = 2 - { - If (PriorDeadKey = "a1") ; akut - BSSendUnicodeChar(0x00DD) - Else If (PriorDeadKey = "t3") ; Diaerese - Send {bs}Ÿ - Else If (PriorDeadKey = "c1") ; circumflex - BSSendUnicodeChar(0x0176) - Else - sendinput {blind}Y - } - else if Ebene = 3 - send @ - else if Ebene = 4 - SendUnicodeChar(0x03C5) ;upsilon - else if Ebene = 5 - Send þ ; thorn - else if Ebene = 6 - Send Þ ; Thorn - PriorDeadKey := "" CompKey := "" -return - -;SC02B (#) wird zu Mod3 - - -/* - ------------------------------------------------------ - Reihe 4 - ------------------------------------------------------ -*/ - -;SC056 (<) wird zu Mod4 - -*y:: - EbeneAktualisieren() - if Ebene = 1 - sendinput {blind}ü - else if Ebene = 2 - sendinput {blind}Ü - else if Ebene = 3 - send {blind}{#} - else if Ebene = 5 - Send {Esc} - PriorDeadKey := "" CompKey := "" -return - -*x:: - EbeneAktualisieren() - if Ebene = 1 - sendinput {blind}ö - else if Ebene = 2 - sendinput {blind}Ö - else if Ebene = 3 - send $ - else if Ebene = 5 - Send {Tab} - else if Ebene = 6 - Send +{Tab} - PriorDeadKey := "" CompKey := "" -return - -*c:: - EbeneAktualisieren() - if Ebene = 1 - sendinput {blind}ä - else if Ebene = 2 - sendinput {blind}Ä - else if Ebene = 3 - send | - else if Ebene = 4 - SendUnicodeChar(0x03B7) ;eta - else if Ebene = 5 - Send {PgDn} ; Next - else if Ebene = 6 - Send +{PgDn} - PriorDeadKey := "" CompKey := "" -return - -*v:: - EbeneAktualisieren() - if Ebene = 1 - { - If (PriorDeadKey = "a5") ; punkt darüber - BSSendUnicodeChar(0x1E57) - Else - sendinput {blind}p - } - else if Ebene = 2 - { - If (PriorDeadKey = "a5") ; punkt darüber - BSSendUnicodeChar(0x1E56) - Else - sendinput {blind}P - } - else if Ebene = 3 - { - If (PriorDeadKey = "t1") ; tilde - BSSendUnicodeChar(0x2248) - Else - sendraw ~ - } - else if Ebene = 4 - SendUnicodeChar(0x03C0) ;pi - else if Ebene = 5 - Send {Enter} - else if Ebene = 6 - SendUnicodeChar(0x03A0) ; Pi - PriorDeadKey := "" CompKey := "" -return - -*b:: - EbeneAktualisieren() - if Ebene = 1 - { - If (PriorDeadKey = "c2") ; caron - BSSendUnicodeChar(0x017E) - Else If (PriorDeadKey = "a1") ; akut - BSSendUnicodeChar(0x017A) - Else If (PriorDeadKey = "a5") ; punkt drüber - BSSendUnicodeChar(0x017C) - Else If (PriorDeadKey = "c6") ; punkt drunter - BSSendUnicodeChar(0x1E93) - Else - sendinput {blind}z - } - else if Ebene = 2 - { - If (PriorDeadKey = "c2") ; caron - BSSendUnicodeChar(0x017D) - Else If (PriorDeadKey = "a1") ; akut - BSSendUnicodeChar(0x0179) - Else If (PriorDeadKey = "a5") ; punkt darüber - BSSendUnicodeChar(0x017B) - Else If (PriorDeadKey = "c6") ; punkt drunter - BSSendUnicodeChar(0x1E92) - Else - sendinput {blind}Z - } - else if Ebene = 3 - send ``{space} ; untot - else if Ebene = 4 - SendUnicodeChar(0x03B6) ;zeta - else if Ebene = 6 - SendUnicodeChar(0x03A9) ; Omega - PriorDeadKey := "" CompKey := "" -return - -*n:: - EbeneAktualisieren() - if Ebene = 1 - { - If (PriorDeadKey = "a5") ; punkt darüber - BSSendUnicodeChar(0x1E03) - Else - sendinput {blind}b - } - else if Ebene = 2 - { - If (PriorDeadKey = "a5") ; punkt darüber - BSSendUnicodeChar(0x1E02) - Else - sendinput {blind}B - } - else if Ebene = 3 - send {blind}{+} - else if Ebene = 4 - SendUnicodeChar(0x03B2) ;beta - else if Ebene = 6 - SendUnicodeChar(0x221E) ;infty - PriorDeadKey := "" CompKey := "" -return - -*m:: - EbeneAktualisieren() - if Ebene = 1 - { - If (PriorDeadKey = "a5") ; punkt darüber - BSSendUnicodeChar(0x1E41) - Else If (PriorDeadKey = "c6") ; punkt darunter - BSSendUnicodeChar(0x1E43) - Else If ( (CompKey = "t_small") or (CompKey = "t_capital") ) ; compose - CompUnicodeChar(0x2122) ; TM - Else If ( (CompKey = "s_small") or (CompKey = "s_capital") ) ; compose - CompUnicodeChar(0x2120) ; SM - Else - sendinput {blind}m - } - else if Ebene = 2 - { - If (PriorDeadKey = "a5") ; punkt darüber - BSSendUnicodeChar(0x1E40) - Else If (PriorDeadKey = "c6") ; punkt darunter - BSSendUnicodeChar(0x1E42) - Else If ( (CompKey = "t_capital") or (CompKey = "t_small") ) ; compose - CompUnicodeChar(0x2122) ; TM - Else If ( (CompKey = "s_capital") or (CompKey = "s_small") ) ; compose - CompUnicodeChar(0x2120) ; SM - Else - sendinput {blind}M - } - else if Ebene = 3 - send `% - else if Ebene = 4 - SendUnicodeChar(0x03BC) ;micro, mu wäre 0x00B5 - else if Ebene = 5 - { - If (PriorDeadKey = "c1") ; circumflex - BSSendUnicodeChar(0x00B9) - Else If (PriorDeadKey = "c4") ; toter - - BSSendUnicodeChar(0x2081) - Else - Send 1 - } - else if Ebene = 6 - SendUnicodeChar(0x222B) ; Int - PriorDeadKey := "" CompKey := "" -return - -*,:: - EbeneAktualisieren() - if Ebene = 1 - send {blind}, - else if Ebene = 3 - send " - else if Ebene = 4 - SendUnicodeChar(0x03F1) ; varrho - else if Ebene = 5 - { - If (PriorDeadKey = "c1") ; circumflex - BSSendUnicodeChar(0x00B2) - Else If (PriorDeadKey = "c4") ; toter - - BSSendUnicodeChar(0x2082) - Else - Send 2 - } - else if Ebene = 6 - SendUnicodeChar(0x221A) ; sqrt - PriorDeadKey := "" CompKey := "" -return - -*.:: - EbeneAktualisieren() - if Ebene = 1 - send {blind}. - else if Ebene = 2 - SendUnicodeChar(0x2026) ; ellipse - else if Ebene = 3 - send ' - else if Ebene = 4 - SendUnicodeChar(0x03B8) ;theta - else if Ebene = 5 - { - If (PriorDeadKey = "c1") ; circumflex - BSSendUnicodeChar(0x00B3) - Else If (PriorDeadKey = "c4") ; toter - - BSSendUnicodeChar(0x2083) - Else - Send 3 - } - else if Ebene = 6 - SendUnicodeChar(0x0398) ; Theta - PriorDeadKey := "" CompKey := "" -return - - -*-:: - EbeneAktualisieren() - if Ebene = 1 - { - If (PriorDeadKey = "c1") ; circumflex - BSSendUnicodeChar(0x0135) - Else If (PriorDeadKey = "c2") ; caron - BSSendUnicodeChar(0x01F0) - Else If (CompKey = "i_small") ; compose - CompUnicodeChar(0x0133) ; ij - Else If (CompKey = "l_small") ; compose - CompUnicodeChar(0x01C9) ; lj - Else If (CompKey = "l_capital") ; compose - CompUnicodeChar(0x01C8) ; Lj - Else - sendinput {blind}j - } - else if Ebene = 2 - { - If (PriorDeadKey = "c1") ; circumflex - BSSendUnicodeChar(0x0134) - Else If (CompKey = "i_capital") ; compose - CompUnicodeChar(0x0132) ; IJ - Else If (CompKey = "l_capital") ; compose - CompUnicodeChar(0x01C7) ; LJ - Else - sendinput {blind}J - } - else if Ebene = 3 - send `; - else if Ebene = 4 - SendUnicodeChar(0x03D1) ; vartheta - else if Ebene = 5 - Send . - else if Ebene = 6 - SendUnicodeChar(0x2207) ; Nabla - PriorDeadKey := "" CompKey := "" -return - -/* - ------------------------------------------------------ - Numpad - ------------------------------------------------------ - - folgende Tasten verhalten sich bei ein- und ausgeschaltetem - NumLock gleich: -*/ - -*NumpadDiv:: - EbeneAktualisieren() - if ( (Ebene = 1) or (Ebene = 2) ) - send {NumpadDiv} - else if Ebene = 3 - send ÷ - else if ( (Ebene = 4) or (Ebene = 5) ) - SendUnicodeChar(0x2215) ; slash - PriorDeadKey := "" CompKey := "" -return - -*NumpadMult:: - EbeneAktualisieren() - if ( (Ebene = 1) or (Ebene = 2) ) - send {NumpadMult} - else if Ebene = 3 - send × - else if ( (Ebene = 4) or (Ebene = 5) ) - SendUnicodeChar(0x22C5) ; cdot - PriorDeadKey := "" CompKey := "" -return - -*NumpadSub:: - EbeneAktualisieren() - if ( (Ebene = 1) or (Ebene = 2) ) - { - If (PriorDeadKey = "c1") ; circumflex - BSSendUnicodeChar(0x207B) - Else If (PriorDeadKey = "c4") ; toter - - BSSendUnicodeChar(0x208B) - Else - send {blind}{NumpadSub} - } - else if Ebene = 3 - SendUnicodeChar(0x2212) ; echtes minus - PriorDeadKey := "" CompKey := "" -return - -*NumpadAdd:: - EbeneAktualisieren() - if ( (Ebene = 1) or (Ebene = 2) ) - { - If (PriorDeadKey = "c1") ; circumflex - BSSendUnicodeChar(0x207A) - Else If (PriorDeadKey = "c4") ; toter - - BSSendUnicodeChar(0x208A) - Else - send {blind}{NumpadAdd} - } - else if Ebene = 3 - send ± - else if ( (Ebene = 4) or (Ebene = 5) ) - SendUnicodeChar(0x2213) ; -+ - PriorDeadKey := "" CompKey := "" -return - -*NumpadEnter:: - 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 -*/ - - - -*Numpad7:: - EbeneAktualisieren() - if Ebene = 1 - { - send {blind}{Numpad7} - If (PriorDeadKey = "comp") - CompKey := "Num_7" - Else - 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 - -*Numpad8:: - EbeneAktualisieren() - if Ebene = 1 - { - If (CompKey = "Num_1") - CompUnicodeChar(0x215B) ; 1/8 - Else If (CompKey = "Num_3") - CompUnicodeChar(0x215C) ; 3/8 - Else If (CompKey = "Num_5") - CompUnicodeChar(0x215D) ; 5/8 - Else If (CompKey = "Num_7") - CompUnicodeChar(0x215E) ; 7/8 - Else - send {blind}{Numpad8} - If (PriorDeadKey = "comp") - CompKey := "Num_8" - Else - 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 - -*Numpad9:: - EbeneAktualisieren() - if Ebene = 1 - { - send {blind}{Numpad9} - If (PriorDeadKey = "comp") - CompKey := "Num_9" - Else - CompKey := "" - } - else if Ebene = 2 - { - send {NumpadPgUp} - CompKey := "" - } - else if ( (Ebene = 4) or (Ebene = 5) ) - { - SendUnicodeChar(0x226B) ; gg - CompKey := "" - } - PriorDeadKey := "" -return - - - -*Numpad4:: - EbeneAktualisieren() - if Ebene = 1 - { - If (CompKey = "Num_1") - CompUnicodeChar(0x00BC) ; 1/4 - Else If (CompKey = "Num_3") - CompUnicodeChar(0x00BE) ; 3/4 - Else - send {blind}{Numpad4} - If (PriorDeadKey = "comp") - CompKey := "Num_4" - Else - 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 - -*Numpad5:: - EbeneAktualisieren() - if Ebene = 1 - { - If (CompKey = "Num_1") - CompUnicodeChar(0x2155) ; 1/5 - Else If (CompKey = "Num_2") - CompUnicodeChar(0x2156) ; 2/5 - Else If (CompKey = "Num_3") - CompUnicodeChar(0x2157) ; 3/5 - Else If (CompKey = "Num_4") - CompUnicodeChar(0x2158) ; 4/5 - Else - send {blind}{Numpad5} - If (PriorDeadKey = "comp") - CompKey := "Num_5" - Else - CompKey := "" - } - else if Ebene = 2 - { - send {NumpadClear} - CompKey := "" - } - else if Ebene = 3 - { - send † - CompKey := "" - } - else if ( (Ebene = 4) or (Ebene = 5) ) - { - SendUnicodeChar(0x220A) ; small element of - CompKey := "" - } - PriorDeadKey := "" -return - -*Numpad6:: - EbeneAktualisieren() - if Ebene = 1 - { - If (CompKey = "Num_1") - CompUnicodeChar(0x2159) ; 1/6 - Else If (CompKey = "Num_5") - CompUnicodeChar(0x215A) ; 5/6 - Else - send {blind}{Numpad6} - If (PriorDeadKey = "comp") - CompKey := "Num_6" - Else - 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 - -*Numpad1:: - EbeneAktualisieren() - if Ebene = 1 - { - send {blind}{Numpad1} - If (PriorDeadKey = "comp") - CompKey := "Num_1" - Else - 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 - -*Numpad2:: - EbeneAktualisieren() - if Ebene = 1 - { - If (CompKey = "Num_1") - CompUnicodeChar(0x00BD) ; 1/2 - Else - send {blind}{Numpad2} - If (PriorDeadKey = "comp") - CompKey := "Num_2" - Else - 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 - -*Numpad3:: - EbeneAktualisieren() - if Ebene = 1 - { - If (CompKey = "Num_1") - CompUnicodeChar(0x2153) ; 1/3 - Else If (CompKey = "Num_2") - CompUnicodeChar(0x2154) ; 2/3 - Else - send {blind}{Numpad3} - If (PriorDeadKey = "comp") - CompKey := "Num_3" - Else - 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 - -*Numpad0:: - EbeneAktualisieren() - if Ebene = 1 - { - send {blind}{Numpad0} - If (PriorDeadKey = "comp") - CompKey := "Num_0" - Else - CompKey := "" - } - else if Ebene = 2 - { - send {NumpadIns} - CompKey := "" - } - else if Ebene = 3 - { - send `% - CompKey := "" - } - else if ( (Ebene = 4) or (Ebene = 5) ) - { - send ‰ - CompKey := "" - } - PriorDeadKey := "" -return - -*NumpadDot:: - 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 -*/ - -*NumpadHome:: - EbeneAktualisieren() - if Ebene = 1 - { - send {NumpadHome} - CompKey := "" - } - else if Ebene = 2 - { - send {Numpad7} - If (PriorDeadKey = "comp") - CompKey := "Num_7" - Else - CompKey := "" - } - else if ( (Ebene = 4) or (Ebene = 5) ) - { - SendUnicodeChar(0x226A) ; ll - CompKey := "" - } - PriorDeadKey := "" -return - -*NumpadUp:: - EbeneAktualisieren() - if Ebene = 1 - { - send {NumpadUp} - CompKey := "" - } - else if Ebene = 2 - { - If (CompKey = "Num_1") - CompUnicodeChar(0x215B) ; 1/8 - Else If (CompKey = "Num_3") - CompUnicodeChar(0x215C) ; 3/8 - Else If (CompKey = "Num_5") - CompUnicodeChar(0x215D) ; 5/8 - Else If (CompKey = "Num_7") - CompUnicodeChar(0x215E) ; 7/8 - Else - send {Numpad8} - If (PriorDeadKey = "comp") - CompKey := "Num_8" - Else - CompKey := "" - } - else if Ebene = 3 - { - SendUnicodeChar(0x2191) ; uparrow - CompKey := "" - } - else if ( (Ebene = 4) or (Ebene = 5) ) - { - SendUnicodeChar(0x2229) ; intersection - CompKey := "" - } - PriorDeadKey := "" -return - -*NumpadPgUp:: - EbeneAktualisieren() - if Ebene = 1 - { - send {NumpadPgUp} - CompKey := "" - } - else if Ebene = 2 - { - send {Numpad9} - If (PriorDeadKey = "comp") - CompKey := "Num_9" - Else - CompKey := "" - } - else if ( (Ebene = 4) or (Ebene = 5) ) - { - SendUnicodeChar(0x226B) ; gg - CompKey := "" - } - PriorDeadKey := "" -return - -*NumpadLeft:: - EbeneAktualisieren() - if Ebene = 1 - { - send {NumpadLeft} - CompKey := "" - } - else if Ebene = 2 - { - If (CompKey = "Num_1") - CompUnicodeChar(0x00BC) ; 1/4 - Else If (CompKey = "Num_3") - CompUnicodeChar(0x00BE) ; 3/4 - Else - send {Numpad4} - If (PriorDeadKey = "comp") - CompKey := "Num_4" - Else - CompKey := "" - } - else if Ebene = 3 - { - SendUnicodeChar(0x2190) ; leftarrow - CompKey := "" - } - else if ( (Ebene = 4) or (Ebene = 5) ) - { - SendUnicodeChar(0x2282) ; subset of - CompKey := "" - } - PriorDeadKey := "" -return - -*NumpadClear:: - EbeneAktualisieren() - if Ebene = 1 - { - send {NumpadClear} - CompKey := "" - } - else if Ebene = 2 - { - If (CompKey = "Num_1") - CompUnicodeChar(0x2155) ; 1/5 - Else If (CompKey = "Num_2") - CompUnicodeChar(0x2156) ; 2/5 - Else If (CompKey = "Num_3") - CompUnicodeChar(0x2157) ; 3/5 - Else If (CompKey = "Num_4") - CompUnicodeChar(0x2158) ; 4/5 - Else - send {Numpad5} - If (PriorDeadKey = "comp") - CompKey := "Num_5" - Else - CompKey := "" - } - else if Ebene = 3 - { - send † - CompKey := "" - } - else if ( (Ebene = 4) or (Ebene = 5) ) - { - SendUnicodeChar(0x220A) ; small element of - CompKey := "" - } - PriorDeadKey := "" -return - -*NumpadRight:: - EbeneAktualisieren() - if Ebene = 1 - { - send {NumpadRight} - CompKey := "" - } - else if Ebene = 2 - { - If (CompKey = "Num_1") - CompUnicodeChar(0x2159) ; 1/6 - Else If (CompKey = "Num_5") - CompUnicodeChar(0x215A) ; 5/6 - Else - send {Numpad6} - If (PriorDeadKey = "comp") - CompKey := "Num_6" - Else - CompKey := "" - } - else if Ebene = 3 - { - SendUnicodeChar(0x2192) ; rightarrow - CompKey := "" - } - else if ( (Ebene = 4) or (Ebene = 5) ) - { - SendUnicodeChar(0x2283) ; superset of - CompKey := "" - } - PriorDeadKey := "" -return - -*NumpadEnd:: - EbeneAktualisieren() - if Ebene = 1 - { - send {NumpadEnd} - CompKey := "" - } - else if Ebene = 2 - { - send {Numpad1} - If (PriorDeadKey = "comp") - CompKey := "Num_1" - Else - 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 - -*NumpadDown:: - EbeneAktualisieren() - if Ebene = 1 - { - send {NumpadDown} - CompKey := "" - } - else if Ebene = 2 - { - If (CompKey = "Num_1") - CompUnicodeChar(0x00BD) ; 1/2 - Else - send {Numpad2} - If (PriorDeadKey = "comp") - CompKey := "Num_2" - Else - CompKey := "" - } - else if Ebene = 3 - { - SendUnicodeChar(0x2193) ; downarrow - CompKey := "" - } - else if ( (Ebene = 4) or (Ebene = 5) ) - { - SendUnicodeChar(0x222A) ; vereinigt - CompKey := "" - } - PriorDeadKey := "" -return - -*NumpadPgDn:: - EbeneAktualisieren() - if Ebene = 1 - { - send {NumpadPgDn} - CompKey := "" - } - else if Ebene = 2 - { - If (CompKey = "Num_1") - CompUnicodeChar(0x2153) ; 1/3 - Else If (CompKey = "Num_2") - CompUnicodeChar(0x2154) ; 2/3 - Else - send {Numpad3} - If (PriorDeadKey = "comp") - CompKey := "Num_3" - Else - 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 - -*NumpadIns:: - EbeneAktualisieren() - if Ebene = 1 - { - send {NumpadIns} - CompKey := "" - } - else if Ebene = 2 - { - send {Numpad0} - If (PriorDeadKey = "comp") - CompKey := "Num_0" - Else - CompKey := "" - } - else if Ebene = 3 - { - send `% - CompKey := "" - } - else if ( (Ebene = 4) or (Ebene = 5) ) - { - send ‰ - CompKey := "" - } - PriorDeadKey := "" -return - -*NumpadDel:: - 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 - ------------------------------------------------------ -*/ - -*Space:: - 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 - SendUnicodeChar(0x00A0) ; geschütztes Leerzeichen - else if Ebene = 5 - { - If (PriorDeadKey = "c1") ; circumflex - BSSendUnicodeChar(0x2070) - Else If (PriorDeadKey = "c4") ; toter - - BSSendUnicodeChar(0x2080) - Else - Send 0 - } - else if Ebene = 6 - SendUnicodeChar(0x202F) ; schmales Leerzeichen - PriorDeadKey := "" CompKey := "" -return - -/* - Folgende Tasten sind nur aufgeführt, um PriorDeadKey zu leeren. - Irgendwie sieht das noch nicht schön aus. Vielleicht lässt sich dieses - Problem irgendwie eleganter lösen... - - Nachtrag: - Weil es mit Alt+Tab Probleme gab, wird hier jetzt erstmal rumgeflickschustert, - bis eine allgemeinere Lösung gefunden wurde. -*/ - -*Enter:: - sendinput {Blind}{Enter} - PriorDeadKey := "" CompKey := "" -return - -*Backspace:: - sendinput {Blind}{Backspace} - PriorDeadKey := "" CompKey := "" -return - - - -/* -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ückt... -*/ - -*Tab:: - if ( GetKeyState("SC038","P") ) - { - SC038 & Tab::AltTab ; http://de.autohotkey.com/docs/Hotkeys.htm#AltTabDetail - } - else if GetKeyState("#","P") - { - PriorDeadKey := "comp" - CompKey := "" - } - else - { - send {blind}{Tab} - PriorDeadKey := "" - CompKey := "" - } -return - -*SC038:: ; LAlt, damit AltTab funktioniert - send {blind}{LAlt} - PriorDeadKey := "" CompKey := "" -return - -*Home:: - sendinput {Blind}{Home} - PriorDeadKey := "" CompKey := "" -return - -*End:: - sendinput {Blind}{End} - PriorDeadKey := "" CompKey := "" -return - -*PgUp:: - sendinput {Blind}{PgUp} - PriorDeadKey := "" CompKey := "" -return - -*PgDn:: - sendinput {Blind}{PgDn} - PriorDeadKey := "" CompKey := "" -return - -*Up:: - sendinput {Blind}{Up} - PriorDeadKey := "" CompKey := "" -return - -*Down:: - sendinput {Blind}{Down} - PriorDeadKey := "" CompKey := "" -return - -*Left:: - sendinput {Blind}{Left} - PriorDeadKey := "" CompKey := "" -return - -*Right:: - sendinput {Blind}{Right} - PriorDeadKey := "" CompKey := "" -return - - -/* - ------------------------------------------------------ - Funktionen - ------------------------------------------------------ -*/ - -EbeneAktualisieren() -{ - global - Ebene = 1 - - ; ist Shift down? - if ( GetKeyState("Shift","P") ) - { - Ebene += 1 - } - ; ist Mod3 down? - if ( GetKeyState("CapsLock","P") or GetKeyState("#","P") ) - { - Ebene += 2 - } - - ; ist Mod4 down? Mod3 hat Vorrang! - else if ( GetKeyState("<","P") or GetKeyState("SC138","P") ) - { - Ebene += 4 - } -} - - -/************************* - Alte Methoden -*************************/ - -/* -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 -} -*/ - -SendUnicodeChar(charCode) -{ - VarSetCapacity(ki, 28 * 2, 0) - - EncodeInteger(&ki + 0, 1) - EncodeInteger(&ki + 6, charCode) - EncodeInteger(&ki + 8, 4) - EncodeInteger(&ki +28, 1) - EncodeInteger(&ki +34, charCode) - EncodeInteger(&ki +36, 4|2) - - DllCall("SendInput", "UInt", 2, "UInt", &ki, "Int", 28) -} - -BSSendUnicodeChar(charCode) -{ - send {bs} - VarSetCapacity(ki, 28 * 2, 0) - - EncodeInteger(&ki + 0, 1) - EncodeInteger(&ki + 6, charCode) - EncodeInteger(&ki + 8, 4) - EncodeInteger(&ki +28, 1) - EncodeInteger(&ki +34, charCode) - EncodeInteger(&ki +36, 4|2) - - DllCall("SendInput", "UInt", 2, "UInt", &ki, "Int", 28) -} - -CompUnicodeChar(charCode) -{ - send {bs} - VarSetCapacity(ki, 28 * 2, 0) - - EncodeInteger(&ki + 0, 1) - EncodeInteger(&ki + 6, charCode) - EncodeInteger(&ki + 8, 4) - EncodeInteger(&ki +28, 1) - EncodeInteger(&ki +34, charCode) - EncodeInteger(&ki +36, 4|2) - - DllCall("SendInput", "UInt", 2, "UInt", &ki, "Int", 28) -} - -Comp3UnicodeChar(charCode) -{ - send {bs} - send {bs} - VarSetCapacity(ki, 28 * 2, 0) - - EncodeInteger(&ki + 0, 1) - EncodeInteger(&ki + 6, charCode) - EncodeInteger(&ki + 8, 4) - EncodeInteger(&ki +28, 1) - EncodeInteger(&ki +34, charCode) - EncodeInteger(&ki +36, 4|2) - - DllCall("SendInput", "UInt", 2, "UInt", &ki, "Int", 28) -} - - -EncodeInteger(ref, val) -{ - DllCall("ntdll\RtlFillMemoryUlong", "Uint", ref, "Uint", 4, "Uint", val) -} - - -/* - ------------------------------------------------------ - Shift+Pause "pausiert" das Script. - ------------------------------------------------------ -*/ - -+pause::suspend - -; ------------------------------------ - -togglesuspend: - if state <> - { - state = - menu, tray, rename, %enable%, %disable% - } - else - { - state = : Deaktiviert - menu, tray, rename, %disable%, %enable% - } - - menu, tray, tip, %name%%state% - suspend -return - - -help: - Run, %A_WinDir%\hh mk:@MSITStore:autohotkey.chm -return - - -about: - msgbox, 64, %name% – Ergonomische Tastaturbelegung, - ( - %name% - `nDas Neo-Layout ersetzt das übliche deutsche - Tastaturlayout mit der Alternative Neo, - beschrieben auf http://neo-layout.org/. - `nDazu sind keine Administratorrechte nötig. - `nWenn Autohotkey aktiviert ist, werden alle Tastendrucke - abgefangen und statt dessen eine Übersetzung weitergeschickt. - `nDies geschieht transparent für den Anwender, - es muss nichts installiert werden. - `nDie Zeichenübersetzung kann leicht über das Icon im - Systemtray deaktiviert werden. `n - ) -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 -return \ No newline at end of file diff --git a/autohotkey/neo20-all-in-one.exe b/autohotkey/neo20-all-in-one.exe deleted file mode 100644 index 31a37b5..0000000 Binary files a/autohotkey/neo20-all-in-one.exe and /dev/null differ diff --git a/autohotkey/neo20_mod-test.ahk b/autohotkey/neo20_mod-test.ahk deleted file mode 100644 index bb7b736..0000000 --- a/autohotkey/neo20_mod-test.ahk +++ /dev/null @@ -1,2210 +0,0 @@ -/* - Titel: NEO 2.0 beta Autohotkey-Treiber - $Revision: 483 $ - $Date: 2008-04-15 12:53:09 +0200 (Di, 15 Apr 2008) $ - Autor: Stefan Mayer - Basiert auf: neo20-all-in-one.ahk vom 29.06.2007 - - TODO: - ausgiebig testen... - - Menü des Tasksymbols - - Bessere Lösung für das leeren von PriorDeadKey finden, damit die Sondertasten - nicht mehr abgefangen werden müssen. - - Ebene 4 und 5 tauschen (im Programmcode, in der Doku ists schon) - - CapsLock auf 1. und 2. Ebene einbauen: - Die Buchstaben reagieren richtig auf CapsLock, da hier "sendinput {blind}" - verwendet wird. Bei anderen Tasten muss CapsLock in der ersten und zweiten Ebene - explizit abgefragt werden. - (Lässt sich das elegant in eine Funktion auslagern?) - |------------------| - | - Compose-Taste | - |------------------| - Ideen: - Symbol ändern (Neo-Logo abwarten) - - bei Ebene 4 rechte Hand (Numpad) z.B. Numpad5 statt 5 senden - CHANGES: - Kein Parsen über die Zwischenablage mehr - - Vista-kompatibel - - Ebene 6 über Mod3+Mod4 -*/ - -; aus Noras script kopiert: -#usehook on -#singleinstance force -#LTrim - ; Quelltext kann eingerückt werden, - ; msgbox ist trotzdem linksbündig - -SendMode Input -SetTitleMatchMode 2 - -;name = NEO 2.0 -;enable = Aktiviere %name% -;disable = Deaktiviere %name% - -; Überprüfung auf deutsches Tastaturlayout -; ---------------------------------------- - -regread, inputlocale, HKEY_CURRENT_USER, Keyboard Layout\Preload, 1 -regread, inputlocalealias, HKEY_CURRENT_USER - , Keyboard Layout\Substitutes, %inputlocale% -if inputlocalealias <> - inputlocale = %inputlocalealias% -if inputlocale <> 00000407 -{ - suspend - regread, inputlocale, HKEY_LOCAL_MACHINE - , SYSTEM\CurrentControlSet\Control\Keyboard Layouts\%inputlocale% - , Layout Text - msgbox, 48, Warnung!, - ( - Nicht kompatibles Tastaturlayout: - `t%inputlocale% - `nDas deutsche QWERTZ muss als Standardlayout eingestellt - sein, damit %name% wie erwartet funktioniert. - `nÄndern Sie die Tastatureinstellung unter - `tSystemsteuerung - `t-> Regions- und Sprachoptionen - `t-> Sprachen - `t-> Details... `n - ) - exitapp -} - -/* - Variablen initialisieren -*/ - -Ebene = 1 -PriorDeadKey := "" - - -/* - ------------------------------------------------------ - Modifier - ------------------------------------------------------ -*/ - -; CapsLock durch Mod3+Mod3 -*#:: -*CapsLock:: - if GetKeyState("#","P") and GetKeyState("CapsLock","P") - { - if GetKeyState("CapsLock","T") - { - setcapslockstate, off - } - else - { - setcapslockstate, on - } - } -return - -; KP_Decimal durch Mod4+Mod4 -*<:: -*SC138:: - if GetKeyState("<","P") and GetKeyState("SC138","P") - { - send {numpaddot} - } - return - - -/* - Ablauf bei toten Tasten: - 1. Ebene Aktualisieren - 2. Abhängig von der Variablen "Ebene" Zeichen ausgeben und die Variable "PriorDeadKey" setzen - - Ablauf bei "lebenden" (sagt man das?) Tasten: - 1. Ebene Aktualisieren - 2. Abhängig von den Variablen "Ebene" und "PriorDeadKey" Zeichen ausgeben - 3. "PriorDeadKey" mit leerem String überschreiben - - ------------------------------------------------------ - Reihe 1 - ------------------------------------------------------ -*/ - -*^:: - EbeneAktualisieren() - if Ebene = 1 - { - SendUnicodeChar(0x02C6) ; circumflex, tot - PriorDeadKey := "c1" - } - else if Ebene = 2 - { - SendUnicodeChar(0x02C7) ; caron, tot - PriorDeadKey := "c2" - } - else if Ebene = 3 - { - SendUnicodeChar(0x02D8) ; brevis - PriorDeadKey := "c3" - } - else if Ebene = 4 - { - send - ; querstrich, tot - PriorDeadKey := "c4" - } - else if Ebene = 5 - { - SendUnicodeChar(0x00B7) ; Mittenpunkt, tot - PriorDeadKey := "c5" - } - else if Ebene = 7 - { - Send . ; punkt darunter (colon) - PriorDeadKey := "c6" - } -return - -*1:: - EbeneAktualisieren() - if Ebene = 1 - { - If (PriorDeadKey = "c1") ; circumflex 1 - BSSendUnicodeChar(0x00B9) - Else - send {blind}1 - } - else if Ebene = 2 - send ° - else if Ebene = 4 - SendUnicodeChar(0x2640) ; Piktogramm weiblich - else if Ebene = 5 - SendUnicodeChar(0x2022) ; bullet - else if Ebene = 7 - Send ¬ - PriorDeadKey := "" -return - -*2:: - EbeneAktualisieren() - if Ebene = 1 - { - If (PriorDeadKey = "c1") ; circumflex - BSSendUnicodeChar(0x00B2) - Else - send {blind}2 - } - else if Ebene = 2 - SendUnicodeChar(0x2116) ; numero - else if Ebene = 4 - SendUnicodeChar(0x26A5) ; Piktogramm Zwitter - else if Ebene = 5 - SendUnicodeChar(0x2023) ; aufzaehlungspfeil - else if Ebene = 7 - SendUnicodeChar(0x2228) ; logisch oder - PriorDeadKey := "" -return - -*3:: - EbeneAktualisieren() - if Ebene = 1 - { - If (PriorDeadKey = "c1") ; circumflex - BSSendUnicodeChar(0x00B3) - Else - send {blind}3 - } - else if Ebene = 2 - send § - else if Ebene = 4 - SendUnicodeChar(0x2642) ; Piktogramm männlich - else if Ebene = 7 - SendUnicodeChar(0x2227) ; logisch und - PriorDeadKey := "" -return - -*4:: - EbeneAktualisieren() - if Ebene = 1 - { - If (PriorDeadKey = "c1") ; circumflex - BSSendUnicodeChar(0x2074) - Else - send {blind}4 - } - else if Ebene = 2 - send » - else if Ebene = 3 - send › - else if Ebene = 5 - Send {PgUp} ; Prev - else if Ebene = 6 - Send +{Prev} - else if Ebene = 7 - SendUnicodeChar(0x22A5) ; Up Tack - PriorDeadKey := "" -return - -*5:: - EbeneAktualisieren() - if Ebene = 1 - { - If (PriorDeadKey = "c1") ; circumflex - BSSendUnicodeChar(0x2075) - Else - send {blind}5 - } - else if Ebene = 2 - send « - else if Ebene = 3 - send ‹ - else if Ebene = 7 - SendUnicodeChar(0x2221) ; gemessener Winkel - PriorDeadKey := "" -return - -*6:: - EbeneAktualisieren() - if Ebene = 1 - { - If (PriorDeadKey = "c1") ; circumflex - BSSendUnicodeChar(0x2076) - Else - send {blind}6 - } - else if Ebene = 2 - send $ - else if Ebene = 3 - send £ - else if Ebene = 5 - send ¤ - else if Ebene = 7 - SendUnicodeChar(0x2225) ; parallel zu - PriorDeadKey := "" -return - -*7:: - EbeneAktualisieren() - if Ebene = 1 - { - If (PriorDeadKey = "c1") ; circumflex - BSSendUnicodeChar(0x2077) - Else - send {blind}7 - } - else if Ebene = 2 - send € - else if Ebene = 3 - send ¢ - else if Ebene = 4 - SendUnicodeChar(0x03F0) ; varkappa - else if Ebene = 5 - send ¥ - else if Ebene = 7 - SendUnicodeChar(0x2209) ; nicht Element von - PriorDeadKey := "" -return - -*8:: - EbeneAktualisieren() - if Ebene = 1 - { - If (PriorDeadKey = "c1") ; circumflex - BSSendUnicodeChar(0x2078) - Else - send {blind}8 - } - else if Ebene = 2 - send „ - else if Ebene = 3 - send ‚ - else if Ebene = 5 - Send / - else if Ebene = 7 - SendUnicodeChar(0x2204) ; Nicht-Existenzquantor - PriorDeadKey := "" -return - -*9:: - EbeneAktualisieren() - if Ebene = 1 - { - If (PriorDeadKey = "c1") ; circumflex - BSSendUnicodeChar(0x2079) - Else - send {blind}9 - } - else if Ebene = 2 - send “ - else if Ebene = 3 - send ‘ - else if Ebene = 5 - Send * - else if Ebene = 7 - SendUnicodeChar(0x2226) ; Nicht parallel zu - PriorDeadKey := "" -return - -*0:: - EbeneAktualisieren() - if Ebene = 1 - { - If (PriorDeadKey = "c1") ; circumflex - BSSendUnicodeChar(0x2070) - Else - send {blind}0 - } - else if Ebene = 2 - send ” - else if Ebene = 3 - send ’ - else if Ebene = 5 - Send - - else if Ebene = 7 - SendUnicodeChar(0x2205) ; Leere Menge - PriorDeadKey := "" -return - -*ß:: - EbeneAktualisieren() - if Ebene = 1 - send {blind}- ; Bind - else if Ebene = 2 - SendUnicodeChar(0x2013) ; Ged - else if Ebene = 3 - SendUnicodeChar(0x2014) - else if Ebene = 4 - SendUnicodeChar(0x2011) - else if Ebene = 7 - SendUnicodeChar(0x254C) - PriorDeadKey := "" -return - -*´:: - EbeneAktualisieren() - if Ebene = 1 - { - send {´}{space} ; akut, tot - PriorDeadKey := "a1" - } - else if Ebene = 2 - { - send ``{space} - PriorDeadKey := "a2" - } - else if Ebene = 3 - { - send ¸ ; cedilla - PriorDeadKey := "a3" - } - else if Ebene = 4 - { - SendUnicodeChar(0x02DB) ; ogonek - PriorDeadKey := "a4" - } - else if Ebene = 5 - { - SendUnicodeChar(0x02D9) ; punkt oben drüber - PriorDeadKey := "a5" - } - else if Ebene = 7 - { - SendUnicodeChar(0x02DA) ; ring obendrauf - PriorDeadKey := "a6" - } -return - - -/* - ------------------------------------------------------ - Reihe 2 - ------------------------------------------------------ -*/ - -*q:: - EbeneAktualisieren() - if Ebene = 1 - sendinput {blind}x - else if Ebene = 2 - sendinput {blind}X - else if Ebene = 3 - send @ - else if Ebene = 4 - SendUnicodeChar(0x03BE) ;xi - else if Ebene = 5 - send @ ; Redundanz - else if Ebene = 7 - SendUnicodeChar(0x039E) ; Xi - PriorDeadKey := "" -return - - -*w:: - EbeneAktualisieren() - if Ebene = 1 - { - If (PriorDeadKey = "c6") ; punkt darunter - BSSendUnicodeChar(0x1E7F) - Else - sendinput {blind}v - } - else if Ebene = 2 - { - If (PriorDeadKey = "c6") ; punkt darunter - BSSendUnicodeChar(0x1E7E) - Else - sendinput {blind}V - } - else if Ebene = 3 - send _ - else if Ebene = 4 - SendUnicodeChar(0x03F5) ; varepsilon - else if Ebene = 5 - Send {Backspace} - else if Ebene = 7 - SendUnicodeChar(0x2259) ; estimates - PriorDeadKey := "" -return - - - -*e:: - EbeneAktualisieren() - if Ebene = 1 - { - If (PriorDeadKey = "t5") ; Schrägstrich - BSSendUnicodeChar(0x0142) - Else If (PriorDeadKey = "a1") ; akut - BSSendUnicodeChar(0x013A) - Else If (PriorDeadKey = "c2") ; caron - BSSendUnicodeChar(0x013E) - Else If (PriorDeadKey = "a3") ; cedilla - BSSendUnicodeChar(0x013C) - Else If (PriorDeadKey = "c5") ; Mittenpunkt - BSSendUnicodeChar(0x0140) - Else If (PriorDeadKey = "c6") ; punkt darunter - BSSendUnicodeChar(0x1E37) - Else - sendinput {blind}l - } - else if Ebene = 2 - { - If (PriorDeadKey = "a1") ; akut - BSSendUnicodeChar(0x0139) - Else If (PriorDeadKey = "c2") ; caron - BSSendUnicodeChar(0x013D) - Else If (PriorDeadKey = "a3") ; cedilla - BSSendUnicodeChar(0x013B) - Else If (PriorDeadKey = "t5") ; Schrägstrich - BSSendUnicodeChar(0x0141) - Else If (PriorDeadKey = "c5") ; Mittenpunkt - BSSendUnicodeChar(0x013F) - Else If (PriorDeadKey = "c6") ; punkt darunter - BSSendUnicodeChar(0x1E36) - Else - sendinput {blind}L - } - else if Ebene = 3 - send [ - else if Ebene = 4 - SendUnicodeChar(0x03BB) ;lambda - else if Ebene = 5 - Sendinput {Blind}{Up} - else if Ebene = 6 - Sendinput {Blind}+{Up} - else if Ebene = 7 - SendUnicodeChar(0x039B) ; Lambda - PriorDeadKey := "" -return - - -*r:: - EbeneAktualisieren() - if Ebene = 1 - { - If (PriorDeadKey = "c1") ; circumflex - BSSendUnicodeChar(0x0109) - Else If (PriorDeadKey = "c2") ; caron - BSSendUnicodeChar(0x010D) - Else If (PriorDeadKey = "a1") ; akut - BSSendUnicodeChar(0x0107) - Else If (PriorDeadKey = "a3") ; cedilla - BSSendUnicodeChar(0x00E7) - Else If (PriorDeadKey = "a5") ; punkt darüber - BSSendUnicodeChar(0x010B) - Else - sendinput {blind}c - } - else if Ebene = 2 - { - If (PriorDeadKey = "c1") ; circumflex - BSSendUnicodeChar(0x0108) - Else If (PriorDeadKey = "c2") ; caron - BSSendUnicodeChar(0x010C) - Else If (PriorDeadKey = "a1") ; akut - BSSendUnicodeChar(0x0106) - Else If (PriorDeadKey = "a3") ; cedilla - BSSendUnicodeChar(0x00E6) - Else If (PriorDeadKey = "a5") ; punkt darüber - BSSendUnicodeChar(0x010A) - Else - sendinput {blind}C - } - else if Ebene = 3 - send ] - else if Ebene = 4 - SendUnicodeChar(0x03C7) ;chi - else if Ebene = 5 - Send {Tab} - else if Ebene = 6 - Send +{Tab} - else if Ebene = 7 - SendUnicodeChar(0x2102) ; Komplexe Zahlen - PriorDeadKey := "" -return - -*t:: - EbeneAktualisieren() - if Ebene = 1 - { - If (PriorDeadKey = "c1") ; circumflex - BSSendUnicodeChar(0x0175) - Else - sendinput {blind}w - } - else if Ebene = 2 - { - If (PriorDeadKey = "c1") ; circumflex - BSSendUnicodeChar(0x0174) - Else - sendinput {blind}W - } - else if Ebene = 3 - send {^}{space} ; untot - else if Ebene = 4 - SendUnicodeChar(0x03C9) ; omega - else if Ebene = 5 - Send {Insert} - else if Ebene = 6 - Send +{Insert} - else if Ebene = 7 - SendUnicodeChar(0x03A9) ; Omega - PriorDeadKey := "" -return - -*z:: - EbeneAktualisieren() - if Ebene = 1 - { - If (PriorDeadKey = "a3") ; cedilla - BSSendUnicodeChar(0x0137) - Else If (PriorDeadKey = "c6") ; punkt darunter - BSSendUnicodeChar(0x1E33) - Else - sendinput {blind}k - } - else if Ebene = 2 - { - If (PriorDeadKey = "a3") ; cedilla - BSSendUnicodeChar(0x0136) - Else If (PriorDeadKey = "c6") ; punkt darunter - BSSendUnicodeChar(0x1E32) - Else - sendinput {blind}K - } - else if Ebene = 3 - sendraw ! - else if Ebene = 4 - SendUnicodeChar(0x03BA) ;kappa - else if Ebene = 5 - Send ¡ - else if Ebene = 7 - SendUnicodeChar(0x221A) ; Wurzelzeichen - PriorDeadKey := "" -return - -*u:: - EbeneAktualisieren() - if Ebene = 1 - { - If (PriorDeadKey = "c1") ; circumflex - BSSendUnicodeChar(0x0125) - Else If (PriorDeadKey = "c4") ; Querstrich - BSSendUnicodeChar(0x0127) - Else If (PriorDeadKey = "a5") ; punkt darüber - BSSendUnicodeChar(0x1E23) - Else If (PriorDeadKey = "c6") ; punkt darunter - BSSendUnicodeChar(0x1E25) - Else sendinput {blind}h - } - else if Ebene = 2 - { - If (PriorDeadKey = "c1") ; circumflex - BSSendUnicodeChar(0x0124) - Else If (PriorDeadKey = "c4") ; Querstrich - BSSendUnicodeChar(0x0126) - Else If (PriorDeadKey = "a5") ; punkt darüber - BSSendUnicodeChar(0x1E22) - Else If (PriorDeadKey = "c6") ; punkt darunter - BSSendUnicodeChar(0x1E24) - Else sendinput {blind}H - } - else if Ebene = 3 - { - If (PriorDeadKey = "c4") ; Querstrich - BSSendUnicodeChar(0x2264) ; kleiner gleich - Else - send {blind}< - } - else if Ebene = 4 - SendUnicodeChar(0x03C8) ;psi - else if Ebene = 5 - Send 7 - else if Ebene = 7 - SendUnicodeChar(0x03A8) ; Psi - PriorDeadKey := "" -return - -*i:: - EbeneAktualisieren() - if Ebene = 1 - { - If (PriorDeadKey = "c1") ; circumflex - BSSendUnicodeChar(0x011D) - Else If (PriorDeadKey = "c3") ; brevis - BSSendUnicodeChar(0x011F) - Else If (PriorDeadKey = "a3") ; cedilla - BSSendUnicodeChar(0x0123) - Else If (PriorDeadKey = "a5") ; punkt darüber - BSSendUnicodeChar(0x0121) - Else sendinput {blind}g - } - else if Ebene = 2 - { - If (PriorDeadKey = "c1") ; circumflex - BSSendUnicodeChar(0x011C) - Else If (PriorDeadKey = "c3") ; brevis - BSSendUnicodeChar(0x011E) - Else If (PriorDeadKey = "a3") ; cedilla - BSSendUnicodeChar(0x0122) - Else If (PriorDeadKey = "a5") ; punkt darüber - BSSendUnicodeChar(0x0120) - Else sendinput {blind}G - } - else if Ebene = 3 - { - If (PriorDeadKey = "c4") ; Querstrich - SendUnicodeChar(0x2265) ; größer gleich - Else - send > - } - else if Ebene = 4 - SendUnicodeChar(0x03B3) ;gamma - else if Ebene = 5 - Send 8 - else if Ebene = 7 - SendUnicodeChar(0x0393) ; Gamma - PriorDeadKey := "" -return - -*o:: - EbeneAktualisieren() - if Ebene = 1 - { - If (PriorDeadKey = "t5") ; durchgestrichen - BSSendUnicodeChar(0x0192) - Else If (PriorDeadKey = "a5") ; punkt darüber - BSSendUnicodeChar(0x1E1F) - Else sendinput {blind}f - } - else if Ebene = 2 - { - If (PriorDeadKey = "t5") ; durchgestrichen - BSSendUnicodeChar(0x0191) - Else If (PriorDeadKey = "a5") ; punkt darüber - BSSendUnicodeChar(0x1E1E) - Else sendinput {blind}F - } - else if Ebene = 3 - { - If (PriorDeadKey = "c1") ; circumflex - BSSendUnicodeChar(0x2259) ; entspricht - Else If (PriorDeadKey = "t1") ; tilde - BSSendUnicodeChar(0x2245) ; ungefähr gleich - Else If (PriorDeadKey = "t5") ; Schrägstrich - BSSendUnicodeChar(0x2260) ; ungleich - Else If (PriorDeadKey = "c4") ; Querstrich - BSSendUnicodeChar(0x2261) ; identisch - Else If (PriorDeadKey = "c2") ; caron - BSSendUnicodeChar(0x225A) ; EQUIANGULAR TO - Else If (PriorDeadKey = "a6") ; ring drüber - BSSendUnicodeChar(0x2257) ; ring equal to - Else - send `= - } - else if Ebene = 4 - SendUnicodeChar(0x0278) ; latin small letter phi - else if Ebene = 5 - Send 9 - else if Ebene = 7 - SendUnicodeChar(0x03A6) ; Phi - PriorDeadKey := "" -return - -*p:: - EbeneAktualisieren() - if Ebene = 1 - sendinput {blind}q - else if Ebene = 2 - sendinput {blind}Q - else if Ebene = 3 - send {&} - else if Ebene = 4 - SendUnicodeChar(0x03C6) ; phi - else if Ebene = 5 - Send {+} - else if Ebene = 7 - SendUnicodeChar(0x211A) ; Rationale Zahlen - PriorDeadKey := "" -return - -*ü:: - EbeneAktualisieren() - if Ebene = 1 - if GetKeyState("CapsLock","T") - { - SendUnicodeChar(0x1E9E) ; versal-ß - } - else - { - send ß - } - else if Ebene = 2 - if GetKeyState("CapsLock","T") - { - send ß - } - else - { - SendUnicodeChar(0x1E9E) ; versal-ß - } - else if Ebene = 3 - SendUnicodeChar(0x017F) ; langes s - else if Ebene = 4 - SendUnicodeChar(0x03C2) ; varsigma - else if Ebene = 7 - SendUnicodeChar(0x2218) ; Ring Operator - PriorDeadKey := "" -return - - -*+:: - EbeneAktualisieren() - if Ebene = 1 - { - SendUnicodeChar(0x02DC) ; tilde, tot - PriorDeadKey := "t1" - } - else if Ebene = 2 - { - SendUnicodeChar(0x00AF) ; macron, tot - PriorDeadKey := "t2" - } - else if Ebene = 3 - { - SendUnicodeChar(0x00A8) ; Diaerese - PriorDeadKey := "t3" - } - else if Ebene = 4 - { - send " ;doppelakut - PriorDeadKey := "t4" - } - else if Ebene = 5 - { - SendUnicodeChar(0x002F) ; Schrägstrich, tot - PriorDeadKey := "t5" - } - else if Ebene = 7 - { - SendUnicodeChar(0x02CF) ; komma drunter, tot - PriorDeadKey := "t6" - } -return - - -/* - ------------------------------------------------------ - Reihe 3 - ------------------------------------------------------ -*/ - -*a:: - EbeneAktualisieren() - if Ebene = 1 - { - If (PriorDeadKey = "c1") ; circumflex - BSSendUnicodeChar(0x00FB) - Else If (PriorDeadKey = "a1") ; akut - BSSendUnicodeChar(0x00FA) - Else If (PriorDeadKey = "a2") ; grave - BSSendUnicodeChar(0x00F9) - Else If (PriorDeadKey = "t3") ; Diaerese - Send, {bs}ü - Else If (PriorDeadKey = "t4") ; doppelakut - BSSendUnicodeChar(0x0171) - Else If (PriorDeadKey = "c3") ; brevis - BSSendUnicodeChar(0x016D) - Else If (PriorDeadKey = "t2") ; macron - BSSendUnicodeChar(0x016B) - Else If (PriorDeadKey = "a4") ; ogonek - BSSendUnicodeChar(0x0173) - Else If (PriorDeadKey = "a6") ; Ring - BSSendUnicodeChar(0x016F) - Else If (PriorDeadKey = "t1") ; tilde - BSSendUnicodeChar(0x0169) - Else If (PriorDeadKey = "c2") ; caron - BSSendUnicodeChar(0x01D4) - Else - sendinput {blind}u - } - else if Ebene = 2 - { - If (PriorDeadKey = "c1") ; circumflex - BSSendUnicodeChar(0x00DB) - Else If (PriorDeadKey = "a1") ; akut - BSSendUnicodeChar(0x00DA) - Else If (PriorDeadKey = "a2") ; grave - BSSendUnicodeChar(0x00D9) - Else If (PriorDeadKey = "t3") ; Diaerese - Send, {bs}Ü - Else If (PriorDeadKey = "a6") ; Ring - BSSendUnicodeChar(0x016E) - Else If (PriorDeadKey = "c3") ; brevis - BSSendUnicodeChar(0x016C) - Else If (PriorDeadKey = "t4") ; doppelakut - BSSendUnicodeChar(0x0170) - Else If (PriorDeadKey = "c2") ; caron - BSSendUnicodeChar(0x01D3) - Else If (PriorDeadKey = "t2") ; macron - BSSendUnicodeChar(0x016A) - Else If (PriorDeadKey = "a4") ; ogonek - BSSendUnicodeChar(0x0172) - Else If (PriorDeadKey = "t1") ; tilde - BSSendUnicodeChar(0x0168) - Else - sendinput {blind}U - } - else if Ebene = 3 - send \ - else if Ebene = 5 - Send {blind}{Home} - else if Ebene = 6 - Send {blind}+{Home} - else if Ebene = 7 - SendUnicodeChar(0x222E) ; Contour Integral - PriorDeadKey := "" -return - -*s:: - EbeneAktualisieren() - if Ebene = 1 - { - If (PriorDeadKey = "c1") ; circumflex - BSSendUnicodeChar(0x00EE) - Else If (PriorDeadKey = "a1") ; akut - BSSendUnicodeChar(0x00ED) - Else If (PriorDeadKey = "a2") ; grave - BSSendUnicodeChar(0x00EC) - Else If (PriorDeadKey = "t3") ; Diaerese - Send, {bs}ï - Else If (PriorDeadKey = "t2") ; macron - BSSendUnicodeChar(0x012B) - Else If (PriorDeadKey = "c3") ; brevis - BSSendUnicodeChar(0x012D) - Else If (PriorDeadKey = "a4") ; ogonek - BSSendUnicodeChar(0x012F) - Else If (PriorDeadKey = "t1") ; tilde - BSSendUnicodeChar(0x0129) - Else If (PriorDeadKey = "a5") ; (ohne) punkt darüber - BSSendUnicodeChar(0x0131) - Else - sendinput {blind}i - } - else if Ebene = 2 - { - If (PriorDeadKey = "c1") ; circumflex - BSSendUnicodeChar(0x00CE) - Else If (PriorDeadKey = "a1") ; akut - BSSendUnicodeChar(0x00CD) - Else If (PriorDeadKey = "a2") ; grave - BSSendUnicodeChar(0x00CC) - Else If (PriorDeadKey = "t3") ; Diaerese - Send, {bs}Ï - Else If (PriorDeadKey = "t2") ; macron - BSSendUnicodeChar(0x012A) - Else If (PriorDeadKey = "c3") ; brevis - BSSendUnicodeChar(0x012C) - Else If (PriorDeadKey = "a4") ; ogonek - BSSendUnicodeChar(0x012E) - Else If (PriorDeadKey = "t1") ; tilde - BSSendUnicodeChar(0x0128) - Else If (PriorDeadKey = "a5") ; punkt darüber - BSSendUnicodeChar(0x0130) - Else - sendinput {blind}I - } - else if Ebene = 3 - send `/ - else if Ebene = 4 - SendUnicodeChar(0x03B9) ;iota - else if Ebene = 5 - Sendinput {Blind}{Left} - else if Ebene = 6 - Sendinput {Blind}+{Left} - else if Ebene = 7 - sendUnicodeChar(0x222B) ; Integral - PriorDeadKey := "" -return - -*d:: - EbeneAktualisieren() - if Ebene = 1 - { - If (PriorDeadKey = "c1") ; circumflex - BSSendUnicodeChar(0x00E2) - Else If (PriorDeadKey = "a1") ; akut - BSSendUnicodeChar(0x00E1) - Else If (PriorDeadKey = "a2") ; grave - BSSendUnicodeChar(0x00E0) - Else If (PriorDeadKey = "t3") ; Diaerese - send {bs}ä - Else If (PriorDeadKey = "a6") ; Ring - Send {bs}å - Else If (PriorDeadKey = "t1") ; tilde - BSSendUnicodeChar(0x00E3) - Else If (PriorDeadKey = "a4") ; ogonek - BSSendUnicodeChar(0x0105) - Else If (PriorDeadKey = "t2") ; macron - BSSendUnicodeChar(0x0101) - Else If (PriorDeadKey = "c3") ; brevis - BSSendUnicodeChar(0x0103) - Else - sendinput {blind}a - } - else if Ebene = 2 - { - If (PriorDeadKey = "c1") ; circumflex - BSSendUnicodeChar(0x00C2) - Else If (PriorDeadKey = "a1") ; akut - BSSendUnicodeChar(0x00C1) - Else If (PriorDeadKey = "a2") ; grave - BSSendUnicodeChar(0x00C0) - Else If (PriorDeadKey = "t3") ; Diaerese - send {bs}Ä - Else If (PriorDeadKey = "t1") ; tilde - BSSendUnicodeChar(0x00C3) - Else If (PriorDeadKey = "a6") ; Ring - Send {bs}Å - Else If (PriorDeadKey = "t2") ; macron - BSSendUnicodeChar(0x0100) - Else If (PriorDeadKey = "c3") ; brevis - BSSendUnicodeChar(0x0102) - Else If (PriorDeadKey = "a4") ; ogonek - BSSendUnicodeChar(0x0104) - Else - sendinput {blind}A - } - else if Ebene = 3 - sendraw { - else if Ebene = 4 - SendUnicodeChar(0x03B1) ;alpha - else if Ebene = 5 - Sendinput {Blind}{Down} - else if Ebene = 6 - Sendinput {Blind}+{Down} - else if Ebene = 7 - SendUnicodeChar(0x2200) ; For All - PriorDeadKey := "" -return - -*f:: - EbeneAktualisieren() - if Ebene = 1 - { - If (PriorDeadKey = "c1") ; circumflex - BSSendUnicodeChar(0x00EA) - Else If (PriorDeadKey = "a1") ; akut - BSSendUnicodeChar(0x00E9) - Else If (PriorDeadKey = "a2") ; grave - BSSendUnicodeChar(0x00E8) - Else If (PriorDeadKey = "t3") ; Diaerese - Send, {bs}ë - Else If (PriorDeadKey = "a4") ; ogonek - BSSendUnicodeChar(0x0119) - Else If (PriorDeadKey = "t2") ; macron - BSSendUnicodeChar(0x0113) - Else If (PriorDeadKey = "c3") ; brevis - BSSendUnicodeChar(0x0115) - Else If (PriorDeadKey = "c2") ; caron - BSSendUnicodeChar(0x011B) - Else If (PriorDeadKey = "a5") ; punkt darüber - BSSendUnicodeChar(0x0117) - Else - sendinput {blind}e - } - else if Ebene = 2 - { - If (PriorDeadKey = "c1") ; circumflex - BSSendUnicodeChar(0x00CA) - Else If (PriorDeadKey = "a1") ; akut - BSSendUnicodeChar(0x00C9) - Else If (PriorDeadKey = "a2") ; grave - BSSendUnicodeChar(0x00C8) - Else If (PriorDeadKey = "t3") ; Diaerese - Send, {bs}Ë - Else If (PriorDeadKey = "c2") ; caron - BSSendUnicodeChar(0x011A) - Else If (PriorDeadKey = "t2") ; macron - BSSendUnicodeChar(0x0112) - Else If (PriorDeadKey = "c3") ; brevis - BSSendUnicodeChar(0x0114) - Else If (PriorDeadKey = "a4") ; ogonek - BSSendUnicodeChar(0x0118) - Else If (PriorDeadKey = "a5") ; punkt darüber - BSSendUnicodeChar(0x0116) - Else - sendinput {blind}E - } - else if Ebene = 3 - sendraw } - else if Ebene = 4 - SendUnicodeChar(0x03B5) ;epsilon - else if Ebene = 5 - Sendinput {Blind}{Right} - else if Ebene = 6 - Sendinput {Blind}+{Right} - else if Ebene = 7 - SendUnicodeChar(0x2203) ; Existensquantor - PriorDeadKey := "" -return - -*g:: - EbeneAktualisieren() - if Ebene = 1 - { - If (PriorDeadKey = "c1") ; circumflex - BSSendUnicodeChar(0x00F4) - Else If (PriorDeadKey = "a1") ; akut - BSSendUnicodeChar(0x00F3) - Else If (PriorDeadKey = "a2") ; grave - BSSendUnicodeChar(0x00F2) - Else If (PriorDeadKey = "t3") ; Diaerese - Send, {bs}ö - Else If (PriorDeadKey = "t1") ; tilde - BSSendUnicodeChar(0x00F5) - Else If (PriorDeadKey = "t4") ; doppelakut - BSSendUnicodeChar(0x0151) - Else If (PriorDeadKey = "t5") ; Schrägstrich - BSSendUnicodeChar(0x00F8) - Else If (PriorDeadKey = "t2") ; macron - BSSendUnicodeChar(0x014D) - Else If (PriorDeadKey = "c3") ; brevis - BSSendUnicodeChar(0x014F) - Else - sendinput {blind}o - } - else if Ebene = 2 - { - If (PriorDeadKey = "c1") ; circumflex - BSSendUnicodeChar(0x00D4) - Else If (PriorDeadKey = "a1") ; akut - BSSendUnicodeChar(0x00D3) - Else If (PriorDeadKey = "a2") ; grave - BSSendUnicodeChar(0x00D2) - Else If (PriorDeadKey = "t5") ; Schrägstrich - BSSendUnicodeChar(0x00D8) - Else If (PriorDeadKey = "t1") ; tilde - BSSendUnicodeChar(0x00D5) - Else If (PriorDeadKey = "t4") ; doppelakut - BSSendUnicodeChar(0x0150) - Else If (PriorDeadKey = "t3") ; Diaerese - send {bs}Ö - Else If (PriorDeadKey = "t2") ; macron - BSSendUnicodeChar(0x014C) - Else If (PriorDeadKey = "c3") ; brevis - BSSendUnicodeChar(0x014E) - Else - sendinput {blind}O - } - else if Ebene = 3 - send * - else if Ebene = 4 - SendUnicodeChar(0x03C9) ;omega - else if Ebene = 5 - Send {blind}{End} - else if Ebene = 6 - Send {blind}+{End} - else if Ebene = 7 - SendUnicodeChar(0x2208) ; Element von - PriorDeadKey := "" -return - -*h:: - EbeneAktualisieren() - if Ebene = 1 - { - If (PriorDeadKey = "c1") ; circumflex - BSSendUnicodeChar(0x015D) - Else If (PriorDeadKey = "a1") ; akut - BSSendUnicodeChar(0x015B) - Else If (PriorDeadKey = "c2") ; caron - BSSendUnicodeChar(0x0161) - Else If (PriorDeadKey = "a3") ; cedilla - BSSendUnicodeChar(0x015F) - Else If (PriorDeadKey = "a5") ; punkt darüber - BSSendUnicodeChar(0x1E61) - Else If (PriorDeadKey = "c6") ; punkt darunter - BSSendUnicodeChar(0x1E63) - Else - sendinput {blind}s - } - else if Ebene = 2 - { - If (PriorDeadKey = "c1") ; circumflex - BSSendUnicodeChar(0x015C) - Else If (PriorDeadKey = "c2") ; caron - BSSendUnicodeChar(0x0160) - Else If (PriorDeadKey = "a1") ; akut - BSSendUnicodeChar(0x015A) - Else If (PriorDeadKey = "a3") ; cedilla - BSSendUnicodeChar(0x015E) - Else If (PriorDeadKey = "a5") ; punkt darüber - BSSendUnicodeChar(0x1E60) - Else If (PriorDeadKey = "c6") ; punkt darunter - BSSendUnicodeChar(0x1E62) - Else - sendinput {blind}S - } - else if Ebene = 3 - send ? - else if Ebene = 4 - SendUnicodeChar(0x03C3) ;sigma - else if Ebene = 5 - Send ¿ - else if Ebene = 7 - SendUnicodeChar(0x03A3) ; Sigma - PriorDeadKey := "" -return - -*j:: - EbeneAktualisieren() - if Ebene = 1 - { - If (PriorDeadKey = "a1") ; akut - BSSendUnicodeChar(0x0144) - Else If (PriorDeadKey = "t1") ; tilde - BSSendUnicodeChar(0x00F1) - Else If (PriorDeadKey = "c2") ; caron - BSSendUnicodeChar(0x0148) - Else If (PriorDeadKey = "a3") ; cedilla - BSSendUnicodeChar(0x0146) - Else If (PriorDeadKey = "a5") ; punkt darüber - BSSendUnicodeChar(0x1E45) - Else - sendinput {blind}n - } - else if Ebene = 2 - { - If (PriorDeadKey = "c2") ; caron - BSSendUnicodeChar(0x0147) - Else If (PriorDeadKey = "t1") ; tilde - BSSendUnicodeChar(0x00D1) - Else If (PriorDeadKey = "a1") ; akut - BSSendUnicodeChar(0x0143) - Else If (PriorDeadKey = "a3") ; cedilla - BSSendUnicodeChar(0x0145) - Else If (PriorDeadKey = "a5") ; punkt darüber - BSSendUnicodeChar(0x1E44) - Else - sendinput {blind}N - } - else if Ebene = 3 - send ( - else if Ebene = 4 - SendUnicodeChar(0x03BD) ;nu - else if Ebene = 5 - Send 4 - else if Ebene = 7 - SendUnicodeChar(0x2115) ; Natürliche Zahlen - PriorDeadKey := "" -return - -*k:: - EbeneAktualisieren() - if Ebene = 1 - { - If (PriorDeadKey = "a1") ; akut - BSSendUnicodeChar(0x0155) - Else If (PriorDeadKey = "c2") ; caron - BSSendUnicodeChar(0x0159) - Else If (PriorDeadKey = "a3") ; cedilla - BSSendUnicodeChar(0x0157) - Else If (PriorDeadKey = "a5") ; punkt darüber - BSSendUnicodeChar(0x0E59) - Else If (PriorDeadKey = "c6") ; punkt darunter - BSSendUnicodeChar(0x1E5B) - Else - sendinput {blind}r - } - else if Ebene = 2 - { - If (PriorDeadKey = "c2") ; caron - BSSendUnicodeChar(0x0158) - Else If (PriorDeadKey = "a1") ; akut - BSSendUnicodeChar(0x0154) - Else If (PriorDeadKey = "a3") ; cedilla - BSSendUnicodeChar(0x0156) - Else If (PriorDeadKey = "a5") ; punkt darüber - BSSendUnicodeChar(0x1E58) - Else If (PriorDeadKey = "c6") ; punkt darunter - BSSendUnicodeChar(0x1E5A) - Else - sendinput {blind}R - } - else if Ebene = 3 - send ) - else if Ebene = 4 - SendUnicodeChar(0x03C1) ;rho - else if Ebene = 5 - Send 5 - else if Ebene = 7 - SendUnicodeChar(0x211D) ; Rationale Zahlen - PriorDeadKey := "" -return - -*l:: - EbeneAktualisieren() - if Ebene = 1 - { - If (PriorDeadKey = "c2") ; caron - BSSendUnicodeChar(0x0165) - Else If (PriorDeadKey = "a3") ; cedilla - BSSendUnicodeChar(0x0163) - Else If (PriorDeadKey = "c4") ; Querstrich - BSSendUnicodeChar(0x0167) - Else If (PriorDeadKey = "a5") ; punkt darüber - BSSendUnicodeChar(0x1E6B) - Else If (PriorDeadKey = "c6") ; punkt darunter - BSSendUnicodeChar(0x1E6D) - Else - sendinput {blind}t - } - else if Ebene = 2 - { - If (PriorDeadKey = "c2") ; caron - BSSendUnicodeChar(0x0164) - Else If (PriorDeadKey = "a3") ; cedilla - BSSendUnicodeChar(0x0162) - Else If (PriorDeadKey = "c4") ; Querstrich - BSSendUnicodeChar(0x0166) - Else If (PriorDeadKey = "a5") ; punkt darüber - BSSendUnicodeChar(0x1E6A) - Else If (PriorDeadKey = "c6") ; punkt darunter - BSSendUnicodeChar(0x1E6C) - Else - sendinput {blind}T - } - else if Ebene = 3 - send {blind}- ; Bind - else if Ebene = 4 - SendUnicodeChar(0x03C4) ;tau - else if Ebene = 5 - Send 6 - else if Ebene = 7 - SendUnicodeChar(0x2202) ; partielle Ableitung - PriorDeadKey := "" -return - -*ö:: - EbeneAktualisieren() - if Ebene = 1 - { - If (PriorDeadKey = "c4") ; Querstrich - BSSendUnicodeChar(0x0111) - Else If (PriorDeadKey = "t5") ; Schrägstrich - BSSendUnicodeChar(0x00F0) - Else If (PriorDeadKey = "c2") ; caron - BSSendUnicodeChar(0x010F) - Else If (PriorDeadKey = "a5") ; punkt darüber - BSSendUnicodeChar(0x1E0B) - Else If (PriorDeadKey = "c6") ; punkt darunter - BSSendUnicodeChar(0x1E0D) - Else - sendinput {blind}d - } - else if Ebene = 2 - { - If (PriorDeadKey = "c4") ; Querstrich - BSSendUnicodeChar(0x0110) - Else If (PriorDeadKey = "t5") ; Schrägstrich - BSSendUnicodeChar(0x00D0) - Else If (PriorDeadKey = "c2") ; caron - BSSendUnicodeChar(0x010E) - Else If (PriorDeadKey = "a5") ; punkt darüber - BSSendUnicodeChar(0x1E0A) - Else If (PriorDeadKey = "c6") ; punkt darunter - BSSendUnicodeChar(0x1E0D) - Else sendinput {blind}D - } - else if Ebene = 3 - send : - else if Ebene = 4 - SendUnicodeChar(0x03B4) ;delta - else if Ebene = 5 - Send `, - else if Ebene = 7 - SendUnicodeChar(0x0394) ; Delta - PriorDeadKey := "" -return - -*ä:: - EbeneAktualisieren() - if Ebene = 1 - { - If (PriorDeadKey = "t3") ; Diaerese - Send {bs}ÿ - Else If (PriorDeadKey = "a1") ; akut - BSSendUnicodeChar(0x00FD) - Else If (PriorDeadKey = "c1") ; circumflex - BSSendUnicodeChar(0x0177) - Else - sendinput {blind}y - } - else if Ebene = 2 - { - If (PriorDeadKey = "a1") ; akut - BSSendUnicodeChar(0x00DD) - Else If (PriorDeadKey = "t3") ; Diaerese - Send {bs}Ÿ - Else If (PriorDeadKey = "c1") ; circumflex - BSSendUnicodeChar(0x0176) - Else - sendinput {blind}Y - } - else if Ebene = 4 - SendUnicodeChar(0x03C5) ;upsilon - else if Ebene = 5 - SendUnicodeChar(0x2207) ; nabla - PriorDeadKey := "" -return - -;SC02B (#) wird zu Mod3 - - -/* - ------------------------------------------------------ - Reihe 4 - ------------------------------------------------------ -*/ - -;SC056 (<) wird zu Mod4 - -*y:: - EbeneAktualisieren() - if Ebene = 1 - sendinput {blind}ü - else if Ebene = 2 - sendinput {blind}Ü - else if Ebene = 3 - send {#} - else if Ebene = 5 - Send {Esc} - else if Ebene = 7 - SendUnicodeChar(0x221D) ; proportional zu - PriorDeadKey := "" -return - -*x:: - EbeneAktualisieren() - if Ebene = 1 - sendinput {blind}ö - else if Ebene = 2 - sendinput {blind}Ö - else if Ebene = 3 - send $ - else if Ebene = 5 - Send {Del} - else if Ebene = 6 - Send +{Del} - else if Ebene = 7 - SendUnicodeChar(0x2111) ; Black-Letter Capital I - PriorDeadKey := "" -return - -*c:: - EbeneAktualisieren() - if Ebene = 1 - sendinput {blind}ä - else if Ebene = 2 - sendinput {blind}Ä - else if Ebene = 3 - send | - else if Ebene = 4 - SendUnicodeChar(0x03B7) ;eta - else if Ebene = 5 - Send {PgDn} ; Next - else if Ebene = 6 - Send +{PgDn} - else if Ebene = 7 - SendUnicodeChar(0x211C) ; Black-Letter Capital I - PriorDeadKey := "" -return - -*v:: - EbeneAktualisieren() - if Ebene = 1 - { - If (PriorDeadKey = "a5") ; punkt darüber - BSSendUnicodeChar(0x1E57) - Else - sendinput {blind}p - } - else if Ebene = 2 - { - If (PriorDeadKey = "a5") ; punkt darüber - BSSendUnicodeChar(0x1E56) - Else - sendinput {blind}P - } - else if Ebene = 3 - { - If (PriorDeadKey = "t1") ; tilde - BSSendUnicodeChar(0x2248) - Else - sendraw ~ - } - else if Ebene = 4 - SendUnicodeChar(0x03C0) ;pi - else if Ebene = 5 - Send {Enter} - else if Ebene = 7 - SendUnicodeChar(0x03A0) ; Pi - PriorDeadKey := "" -return - -*b:: - EbeneAktualisieren() - if Ebene = 1 - { - If (PriorDeadKey = "c2") ; caron - BSSendUnicodeChar(0x017E) - Else If (PriorDeadKey = "a1") ; akut - BSSendUnicodeChar(0x017A) - Else If (PriorDeadKey = "a5") ; punkt drüber - BSSendUnicodeChar(0x017C) - Else If (PriorDeadKey = "c6") ; punkt drunter - BSSendUnicodeChar(0x1E93) - Else - sendinput {blind}z - } - else if Ebene = 2 - { - If (PriorDeadKey = "c2") ; caron - BSSendUnicodeChar(0x017D) - Else If (PriorDeadKey = "a1") ; akut - BSSendUnicodeChar(0x0179) - Else If (PriorDeadKey = "a5") ; punkt darüber - BSSendUnicodeChar(0x017B) - Else If (PriorDeadKey = "c6") ; punkt drunter - BSSendUnicodeChar(0x1E92) - Else - sendinput {blind}Z - } - else if Ebene = 3 - send ``{space} ; untot - else if Ebene = 4 - SendUnicodeChar(0x03B6) ;zeta - else if Ebene = 7 - SendUnicodeChar(0x2124) ; Ganze Zahlen - PriorDeadKey := "" -return - -*n:: - EbeneAktualisieren() - if Ebene = 1 - { - If (PriorDeadKey = "a5") ; punkt darüber - BSSendUnicodeChar(0x1E03) - Else - sendinput {blind}b - } - else if Ebene = 2 - { - If (PriorDeadKey = "a5") ; punkt darüber - BSSendUnicodeChar(0x1E02) - Else - sendinput {blind}B - } - else if Ebene = 3 - send {blind}{+} - else if Ebene = 4 - SendUnicodeChar(0x03B2) ;beta - else if Ebene = 7 - SendUnicodeChar(0x21D2) ; daraus folgt (Implikation) - PriorDeadKey := "" -return - -*m:: - EbeneAktualisieren() - if Ebene = 1 - { - If (PriorDeadKey = "a5") ; punkt darüber - BSSendUnicodeChar(0x1E41) - Else If (PriorDeadKey = "c6") ; punkt darunter - BSSendUnicodeChar(0x1E43) - Else - sendinput {blind}m - } - else if Ebene = 2 - { - If (PriorDeadKey = "a5") ; punkt darüber - BSSendUnicodeChar(0x1E40) - Else If (PriorDeadKey = "c6") ; punkt darunter - BSSendUnicodeChar(0x1E42) - Else - sendinput {blind}M - } - else if Ebene = 3 - send `% - else if Ebene = 4 - SendUnicodeChar(0x03BC) ;micro, mu wäre 0x00B5 - else if Ebene = 5 - Send 1 - else if Ebene = 7 - SendUnicodeChar(0x21D4) ; Äquivalenz - PriorDeadKey := "" -return - -*,:: - EbeneAktualisieren() - if Ebene = 1 - send {blind}, - else if Ebene = 3 - send ' - else if Ebene = 4 - SendUnicodeChar(0x03F1) ; varrho - else if Ebene = 5 - Send 2 - else if Ebene = 7 - SendUnicodeChar(0x21D0) ; Doppelpfeil nach links - PriorDeadKey := "" -return - -*.:: - EbeneAktualisieren() - if Ebene = 1 - send {blind}. - else if Ebene = 2 - SendUnicodeChar(0x2026) ; ellipse - else if Ebene = 3 - send " - else if Ebene = 4 - SendUnicodeChar(0x03B8) ;theta - else if Ebene = 5 - Send 3 - else if Ebene = 7 - SendUnicodeChar(0x0398) ; Theta - PriorDeadKey := "" -return - - -*-:: - EbeneAktualisieren() - if Ebene = 1 - { - If (PriorDeadKey = "c1") ; circumflex - BSSendUnicodeChar(0x0135) - Else If (PriorDeadKey = "c2") ; caron - BSSendUnicodeChar(0x01F0) - Else - sendinput {blind}j - } - else if Ebene = 2 - { - If (PriorDeadKey = "c1") ; circumflex - BSSendUnicodeChar(0x0134) - Else - sendinput {blind}J - } - else if Ebene = 3 - send `; - else if Ebene = 4 - SendUnicodeChar(0x03D1) ; vartheta - else if Ebene = 5 - Send . - else if Ebene = 7 - SendUnicodeChar(0x2261) ; identisch zu (auch über tote Tasten) - PriorDeadKey := "" -return - -/* - ------------------------------------------------------ - Numpad - ------------------------------------------------------ - - folgende Tasten verhalten sich bei ein- und ausgeschaltetem - NumLock gleich: -*/ - -*NumpadDiv:: - EbeneAktualisieren() - if ( (Ebene = 1) or (Ebene = 2) ) - send {NumpadDiv} - else if Ebene = 3 - send ÷ - else if ( (Ebene = 4) or (Ebene = 5) ) - SendUnicodeChar(0x2215) ; slash - PriorDeadKey := "" -return - -*NumpadMult:: - EbeneAktualisieren() - if ( (Ebene = 1) or (Ebene = 2) ) - send {NumpadMult} - else if Ebene = 3 - send × - else if ( (Ebene = 4) or (Ebene = 5) ) - SendUnicodeChar(0x22C5) ; cdot - PriorDeadKey := "" -return - -*NumpadSub:: - EbeneAktualisieren() - if ( (Ebene = 1) or (Ebene = 2) ) - { - If (PriorDeadKey = "c1") ; circumflex - BSSendUnicodeChar(0x207B) - Else - send {blind}{NumpadSub} - } - else if ( (Ebene = 3) or (Ebene = 4) or (Ebene = 5) ) - SendUnicodeChar(0x2212) ; echtes minus - PriorDeadKey := "" -return - -*NumpadAdd:: - EbeneAktualisieren() - if ( (Ebene = 1) or (Ebene = 2) ) - { - If (PriorDeadKey = "c1") ; circumflex - BSSendUnicodeChar(0x207A) - Else - send {blind}{NumpadAdd} - } - else if Ebene = 3 - send ± - else if ( (Ebene = 4) or (Ebene = 5) ) - SendUnicodeChar(0x2213) ; -+ - PriorDeadKey := "" -return - -*NumpadEnter:: - 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 := "" -return - -/* - folgende Tasten verhalten sich bei ein- und ausgeschaltetem NumLock - unterschiedlich: - - bei NumLock ein -*/ - -*Numpad7:: - EbeneAktualisieren() - if Ebene = 1 - send {blind}{Numpad7} - else if Ebene = 2 - send {NumpadHome} - else if Ebene = 3 - SendUnicodeChar(0x20D7) ; Combining Vektorpfeil - else if ( (Ebene = 4) or (Ebene = 5) ) - SendUnicodeChar(0x226A) ; ll - PriorDeadKey := "" -return - -*Numpad8:: - EbeneAktualisieren() - if Ebene = 1 - send {blind}{Numpad8} - else if Ebene = 2 - send {NumpadUp} - else if Ebene = 3 - SendUnicodeChar(0x2191) ; uparrow - else if ( (Ebene = 4) or (Ebene = 5) ) - SendUnicodeChar(0x2229) ; intersection - PriorDeadKey := "" -return - -*Numpad9:: - EbeneAktualisieren() - if Ebene = 1 - send {blind}{Numpad9} - else if Ebene = 2 - send {NumpadPgUp} - else if Ebene = 3 - SendUnicodeChar(0x2297) ; Circled Times - else if ( (Ebene = 4) or (Ebene = 5) ) - SendUnicodeChar(0x226B) ; gg - PriorDeadKey := "" -return - -*Numpad4:: - EbeneAktualisieren() - if Ebene = 1 - send {blind}{Numpad4} - else if Ebene = 2 - send {NumpadLeft} - else if Ebene = 3 - SendUnicodeChar(0x2190) ; leftarrow - else if ( (Ebene = 4) or (Ebene = 5) ) - SendUnicodeChar(0x2282) ; subset of - PriorDeadKey := "" -return - -*Numpad5:: - EbeneAktualisieren() - if Ebene = 1 - send {blind}{Numpad5} - else if Ebene = 2 - send {€} - else if Ebene = 3 - SendUnicodeChar(0x221E) ; Infty - else if ( (Ebene = 4) or (Ebene = 5) ) - SendUnicodeChar(0x220B) ; Element - PriorDeadKey := "" -return - -*Numpad6:: - EbeneAktualisieren() - if Ebene = 1 - send {blind}{Numpad6} - else if Ebene = 2 - send {NumpadRight} - else if Ebene = 3 - SendUnicodeChar(0x2192) ; rightarrow - else if ( (Ebene = 4) or (Ebene = 5) ) - SendUnicodeChar(0x2283) ; superset of - PriorDeadKey := "" -return - -*Numpad1:: - EbeneAktualisieren() - if Ebene = 1 - send {blind}{Numpad1} - else if Ebene = 2 - send {NumpadEnd} - else if Ebene = 3 - SendUnicodeChar(0x21CB) ; LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON - else if ( (Ebene = 4) or (Ebene = 5) ) - SendUnicodeChar(0x2264) ; leq - PriorDeadKey := "" -return - -*Numpad2:: - EbeneAktualisieren() - if Ebene = 1 - send {blind}{Numpad2} - else if Ebene = 2 - send {NumpadDown} - else if Ebene = 3 - SendUnicodeChar(0x2193) ; downarrow - else if ( (Ebene = 4) or (Ebene = 5) ) - SendUnicodeChar(0x222A) ; vereinigt - PriorDeadKey := "" -return - -*Numpad3:: - EbeneAktualisieren() - if Ebene = 1 - send {blind}{Numpad3} - 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 := "" -return - -*Numpad0:: - EbeneAktualisieren() - if Ebene = 1 - send {blind}{Numpad0} - else if Ebene = 2 - send {NumpadIns} - else if Ebene = 3 - send `% - else if ( (Ebene = 4) or (Ebene = 5) ) - send ‰ - PriorDeadKey := "" -return - -*NumpadDot:: - EbeneAktualisieren() - if Ebene = 1 - send {NumpadDot} - else if Ebene = 2 - send {NumpadDel} - else if Ebene = 3 - send . - else if ( (Ebene = 4) or (Ebene = 5) ) - send `, - PriorDeadKey := "" -return - -/* - bei NumLock aus -*/ - -*NumpadHome:: - EbeneAktualisieren() - if Ebene = 1 - send {blind}{Numpad7} - else if Ebene = 2 - send {NumpadHome} - else if Ebene = 3 - SendUnicodeChar(0x20D7) ; Combining Vektorpfeil - else if ( (Ebene = 4) or (Ebene = 5) ) - SendUnicodeChar(0x226A) ; ll - PriorDeadKey := "" -return - -*NumpadUp:: - EbeneAktualisieren() - if Ebene = 1 - send {NumpadUp} - else if Ebene = 2 - send {Numpad8} - else if Ebene = 3 - SendUnicodeChar(0x2191) ; uparrow - else if ( (Ebene = 4) or (Ebene = 5) ) - SendUnicodeChar(0x2229) ; intersection - PriorDeadKey := "" -return - -*NumpadPgUp:: - EbeneAktualisieren() - if Ebene = 1 - send {blind}{Numpad9} - else if Ebene = 2 - send {NumpadPgUp} - else if Ebene = 3 - SendUnicodeChar(0x2297) ; Circled Times - else if ( (Ebene = 4) or (Ebene = 5) ) - SendUnicodeChar(0x226B) ; gg - PriorDeadKey := "" -return - -*NumpadLeft:: - EbeneAktualisieren() - if Ebene = 1 - send {NumpadLeft} - else if Ebene = 2 - send {Numpad4} - else if Ebene = 3 - SendUnicodeChar(0x2190) ; leftarrow - else if ( (Ebene = 4) or (Ebene = 5) ) - SendUnicodeChar(0x2282) ; subset of - PriorDeadKey := "" -return - -*NumpadClear:: - EbeneAktualisieren() - if Ebene = 1 - send {blind}{Numpad5} - else if Ebene = 2 - send {€} - else if Ebene = 3 - SendUnicodeChar(0x221E) ; Infty - else if ( (Ebene = 4) or (Ebene = 5) ) - SendUnicodeChar(0x220B) ; Element - PriorDeadKey := "" -return - -*NumpadRight:: - EbeneAktualisieren() - if Ebene = 1 - send {NumpadRight} - else if Ebene = 2 - send {Numpad6} - else if Ebene = 3 - SendUnicodeChar(0x2192) ; rightarrow - else if ( (Ebene = 4) or (Ebene = 5) ) - SendUnicodeChar(0x2283) ; superset of - PriorDeadKey := "" -return - -*NumpadEnd:: - EbeneAktualisieren() - if Ebene = 1 - send {NumpadEnd} - else if Ebene = 2 - send {Numpad1} - else if Ebene = 3 - SendUnicodeChar(0x21CB) ; LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON - else if ( (Ebene = 4) or (Ebene = 5) ) - SendUnicodeChar(0x2264) ; leq - PriorDeadKey := "" -return - -*NumpadDown:: - EbeneAktualisieren() - if Ebene = 1 - send {NumpadDown} - else if Ebene = 2 - send {Numpad2} - else if Ebene = 3 - SendUnicodeChar(0x2193) ; downarrow - else if ( (Ebene = 4) or (Ebene = 5) ) - SendUnicodeChar(0x222A) ; vereinigt - PriorDeadKey := "" -return - -*NumpadPgDn:: - EbeneAktualisieren() - if Ebene = 1 - send {NumpadPgDn} - else if Ebene = 2 - send {Numpad3} - else if Ebene = 3 - SendUnicodeChar(0x21CC) ; RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON - else if ( (Ebene = 4) or (Ebene = 5) ) - SendUnicodeChar(0x2265) ; geq - PriorDeadKey := "" -return - -*NumpadIns:: - EbeneAktualisieren() - if Ebene = 1 - send {NumpadIns} - else if Ebene = 2 - send {Numpad0} - else if Ebene = 3 - send `% - else if ( (Ebene = 4) or (Ebene = 5) ) - send ‰ - PriorDeadKey := "" -return - -*NumpadDel:: - EbeneAktualisieren() - if Ebene = 1 - send {NumpadDel} - else if Ebene = 2 - send {NumpadDot} - else if Ebene = 3 - send . - else if ( (Ebene = 4) or (Ebene = 5) ) - send `, - PriorDeadKey := "" -return - - - -/* - ------------------------------------------------------ - Sondertasten - ------------------------------------------------------ -*/ - -*Space:: - EbeneAktualisieren() - if Ebene = 4 - SendUnicodeChar(0x00A0) ; geschütztes Leerzeichen - else if Ebene = 5 - Send 0 - else if Ebene = 7 - SendUnicodeChar(0x202F) ; schmales Leerzeichen - else - Send {blind}{Space} - PriorDeadKey := "" -return - -/* - Folgende Tasten sind nur aufgeführt, um PriorDeadKey zu leeren. - Irgendwie sieht das noch nicht schön aus. Vielleicht lässt sich dieses - Problem irgendwie eleganter lösen... - - Nachtrag: - Weil es mit Alt+Tab Probleme gab, wird hier jetzt erstmal rumgeflickschustert, - bis eine allgemeinere Lösung gefunden wurde. -*/ - -*Enter:: - sendinput {Blind}{Enter} - PriorDeadKey := "" -return - -*Backspace:: - sendinput {Blind}{Backspace} - PriorDeadKey := "" -return - - - -/* -Tab wurde rausgenommen, weil es Probleme mit AltTab und ShiftAltTab gab. -Allerdings kommt es jetzt zu komischen Ergebnissen, wenn man Tab nach -einem DeadKey drückt... - -*Tab:: - send {Blind}{Tab} - PriorDeadKey := "" -return - -*/ - -*Home:: - sendinput {Blind}{Home} - PriorDeadKey := "" -return - -*End:: - sendinput {Blind}{End} - PriorDeadKey := "" -return - -*PgUp:: - sendinput {Blind}{PgUp} - PriorDeadKey := "" -return - -*PgDn:: - sendinput {Blind}{PgDn} - PriorDeadKey := "" -return - -*Up:: - sendinput {Blind}{Up} - PriorDeadKey := "" -return - -*Down:: - sendinput {Blind}{Down} - PriorDeadKey := "" -return - -*Left:: - sendinput {Blind}{Left} - PriorDeadKey := "" -return - -*Right:: - sendinput {Blind}{Right} - PriorDeadKey := "" -return - - -/* - ------------------------------------------------------ - Funktionen - ------------------------------------------------------ -*/ - -EbeneAktualisieren() -{ - global - Ebene = 1 - - ; ist Shift down? - if ( GetKeyState("Shift","P") ) - { - Ebene += 1 - } - ; ist Mod3 down? - if ( GetKeyState("CapsLock","P") or GetKeyState("#","P") ) { - ; ist Mod4 down? - if ( GetKeyState("<","P") or GetKeyState("SC138","P") ) { - Ebene +=6 - } - else Ebene += 2 - } - ; ist Mod4 down? Mod3 hat Vorrang! - else if ( GetKeyState("<","P") or GetKeyState("SC138","P") ) { - ; ist Mod3 down? - if ( GetKeyState("CapsLock","P") or GetKeyState("#","P") ) { - Ebene +=6 - } - else Ebene += 4 - } - - return -} - - -/************************* - Alte Methoden -*************************/ - -/* -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 -} -*/ - -SendUnicodeChar(charCode) -{ - VarSetCapacity(ki, 28 * 2, 0) - - EncodeInteger(&ki + 0, 1) - EncodeInteger(&ki + 6, charCode) - EncodeInteger(&ki + 8, 4) - EncodeInteger(&ki +28, 1) - EncodeInteger(&ki +34, charCode) - EncodeInteger(&ki +36, 4|2) - - DllCall("SendInput", "UInt", 2, "UInt", &ki, "Int", 28) -} - - -BSSendUnicodeChar(charCode) -{ - send {bs} - VarSetCapacity(ki, 28 * 2, 0) - - EncodeInteger(&ki + 0, 1) - EncodeInteger(&ki + 6, charCode) - EncodeInteger(&ki + 8, 4) - EncodeInteger(&ki +28, 1) - EncodeInteger(&ki +34, charCode) - EncodeInteger(&ki +36, 4|2) - - DllCall("SendInput", "UInt", 2, "UInt", &ki, "Int", 28) -} - - -EncodeInteger(ref, val) -{ - DllCall("ntdll\RtlFillMemoryUlong", "Uint", ref, "Uint", 4, "Uint", val) -} - - -/* - ------------------------------------------------------ - Shift+Pause "pausiert" das Script. - ------------------------------------------------------ -*/ - -+pause::suspend diff --git a/kbdneo2/Quelldateien/README.txt b/kbdneo2/Quelldateien/README.txt deleted file mode 100644 index 8d00f7a..0000000 --- a/kbdneo2/Quelldateien/README.txt +++ /dev/null @@ -1,17 +0,0 @@ -1. WinDDK (Bestandteil von WDK) installieren. - -2. Im Ordner \src\input\layout\all_kbds\kbdneo2 des WDKs einen neuen Ordner namens 'kbdneo2' anlegen. - -3. Alle Quelldateien in diesen Ordner kopieren. - -4. Die Datei 'dirs' im Ordner \src\input\layout\all_kbds\kbdneo2 des WDKs um die Zeile 'kbdneo2' erweitern. Die Datei könnte nun so aussehen: -> DIRS= \ -> kbdfr \ -> kbdgr \ -> kbdneo2 - -5. Mit einem normalem Texteditor können nun die Quelldateien bearbeitet werden. - -6. Zum kompilieren des Treibers die 'Checked Build Environment' starten und zum Ordner mit den Quelldateien wechseln und den Befehl Build ausführen. -> cd src\input\layout\all_kbds\kbdneo2 -> build diff --git a/kbdneo2/Quelldateien/kbdneo2.c b/kbdneo2/Quelldateien/kbdneo2.c deleted file mode 100644 index 32e8ec4..0000000 --- a/kbdneo2/Quelldateien/kbdneo2.c +++ /dev/null @@ -1,804 +0,0 @@ -/***************************************************************************\ -* Module Name: KBDNEO2.C -* -* keyboard layout for German -* -* Copyright (c) 1985-2000, Microsoft Corporation -* -* History: -\***************************************************************************/ - -#include -#include "kbd.h" -#include "kbdneo2.h" - -#if defined(_M_IA64) -#pragma section(".data") -#define ALLOC_SECTION_LDATA __declspec(allocate(".data")) -#else -#pragma data_seg(".data") -#define ALLOC_SECTION_LDATA -#endif - -/***************************************************************************\ -* ausVK[] - Virtual Scan Code to Virtual Key conversion table for German -\***************************************************************************/ - -static ALLOC_SECTION_LDATA USHORT ausVK[] = { - T00, T01, T02, T03, T04, T05, T06, T07, - T08, T09, T0A, T0B, T0C, T0D, T0E, T0F, - T10, T11, T12, T13, T14, T15, T16, T17, - T18, T19, T1A, T1B, T1C, T1D, T1E, T1F, - T20, T21, T22, T23, T24, T25, T26, T27, - T28, T29, T2A, T2B, T2C, T2D, T2E, T2F, - T30, T31, T32, T33, T34, T35, - - /* - * Right-hand Shift key must have KBDEXT bit set. - */ - T36 | KBDEXT, - - T37 | KBDMULTIVK, // numpad_* + Shift/Alt -> SnapShot - - T38, T39, T3A, T3B, T3C, T3D, T3E, - T3F, T40, T41, T42, T43, T44, - - /* - * NumLock Key: - * KBDEXT - VK_NUMLOCK is an Extended key - * KBDMULTIVK - VK_NUMLOCK or VK_PAUSE (without or with CTRL) - */ - T45 | KBDEXT | KBDMULTIVK, - - T46 | KBDMULTIVK, - - /* - * Number Pad keys: - * KBDNUMPAD - digits 0-9 and decimal point. - * KBDSPECIAL - require special processing by Windows - */ - T47 | KBDNUMPAD | KBDSPECIAL, // Numpad 7 (Home) - T48 | KBDNUMPAD | KBDSPECIAL, // Numpad 8 (Up), - T49 | KBDNUMPAD | KBDSPECIAL, // Numpad 9 (PgUp), - T4A, - T4B | KBDNUMPAD | KBDSPECIAL, // Numpad 4 (Left), - T4C | KBDNUMPAD | KBDSPECIAL, // Numpad 5 (Clear), - T4D | KBDNUMPAD | KBDSPECIAL, // Numpad 6 (Right), - T4E, - T4F | KBDNUMPAD | KBDSPECIAL, // Numpad 1 (End), - T50 | KBDNUMPAD | KBDSPECIAL, // Numpad 2 (Down), - T51 | KBDNUMPAD | KBDSPECIAL, // Numpad 3 (PgDn), - T52 | KBDNUMPAD | KBDSPECIAL, // Numpad 0 (Ins), - T53 | KBDNUMPAD | KBDSPECIAL, // Numpad . (Del), - - T54, T55, T56, T57, T58, T59, T5A, T5B, - T5C, T5D, T5E, T5F, T60, T61, T62, T63, - T64, T65, T66, T67, T68, T69, T6A, T6B, - T6C, T6D, T6E, T6F, T70, T71, T72, T73, - T74, T75, T76, T77, T78, T79, T7A, T7B, - T7C, T7D, T7E - -}; - -static ALLOC_SECTION_LDATA VSC_VK aE0VscToVk[] = { - { 0x10, X10 | KBDEXT }, // Speedracer: Previous Track - { 0x19, X19 | KBDEXT }, // Speedracer: Next Track - { 0x1D, X1D | KBDEXT }, // RControl - { 0x20, X20 | KBDEXT }, // Speedracer: Volume Mute - { 0x21, X21 | KBDEXT }, // Speedracer: Launch App 2 - { 0x22, X22 | KBDEXT }, // Speedracer: Media Play/Pause - { 0x24, X24 | KBDEXT }, // Speedracer: Media Stop - { 0x2E, X2E | KBDEXT }, // Speedracer: Volume Down - { 0x30, X30 | KBDEXT }, // Speedracer: Volume Up - { 0x32, X32 | KBDEXT }, // Speedracer: Browser Home - { 0x35, X35 | KBDEXT }, // Numpad Divide - { 0x37, X37 | KBDEXT }, // Snapshot - { 0x38, X38 | KBDEXT }, // RMenu - { 0x47, X47 | KBDEXT }, // Home - { 0x48, X48 | KBDEXT }, // Up - { 0x49, X49 | KBDEXT }, // Prior - { 0x4B, X4B | KBDEXT }, // Left - { 0x4D, X4D | KBDEXT }, // Right - { 0x4F, X4F | KBDEXT }, // End - { 0x50, X50 | KBDEXT }, // Down - { 0x51, X51 | KBDEXT }, // Next - { 0x52, X52 | KBDEXT }, // Insert - { 0x53, X53 | KBDEXT }, // Delete - { 0x5B, X5B | KBDEXT }, // Left Win - { 0x5C, X5C | KBDEXT }, // Right Win - { 0x5D, X5D | KBDEXT }, // Application - { 0x5F, X5F | KBDEXT }, // Speedracer: Sleep - { 0x65, X65 | KBDEXT }, // Speedracer: Browser Search - { 0x66, X66 | KBDEXT }, // Speedracer: Browser Favorites - { 0x67, X67 | KBDEXT }, // Speedracer: Browser Refresh - { 0x68, X68 | KBDEXT }, // Speedracer: Browser Stop - { 0x69, X69 | KBDEXT }, // Speedracer: Browser Forward - { 0x6A, X6A | KBDEXT }, // Speedracer: Browser Back - { 0x6B, X6B | KBDEXT }, // Speedracer: Launch App 1 - { 0x6C, X6C | KBDEXT }, // Speedracer: Launch Mail - { 0x6D, X6D | KBDEXT }, // Speedracer: Launch Media Selector - { 0x1C, X1C | KBDEXT }, // Numpad Enter - { 0x46, X46 | KBDEXT }, // Break (Ctrl + Pause) - { 0, 0 } -}; - -static ALLOC_SECTION_LDATA VSC_VK aE1VscToVk[] = { - { 0x1D, Y1D }, // Pause - { 0 , 0 } -}; - -/***************************************************************************\ -* aVkToBits[] - map Virtual Keys to Modifier Bits -* -* See kbd.h for a full description. -* -* German Keyboard has only three shifter keys: -* SHIFT (L & R) affects alphabnumeric keys, -* CTRL (L & R) is used to generate control characters -* ALT (L & R) used for generating characters by number with numpad -\***************************************************************************/ -static ALLOC_SECTION_LDATA VK_TO_BIT aVkToBits[] = { - { VK_SHIFT , KBDSHIFT }, - { VK_CONTROL , KBDCTRL }, - { VK_MENU , KBDALT }, - { VK_KANA , KBDKANA }, - { 0 , 0 } -}; - -/***************************************************************************\ -* aModification[] - map character modifier bits to modification number -* -* See kbd.h for a full description. -* -\***************************************************************************/ -static ALLOC_SECTION_LDATA MODIFIERS CharModifiers = { - &aVkToBits[0], - 14, - { - // Modifier NEO - // Ebene 1 - nix - // Ebene 2 - Shift - // Ebene 3 - Kana - // Ebene 4 - AltGr - // Ebene 5 - Kana+Shift - // Ebene 6 - AltGr+Kana - // - // Modification# // Keys Pressed - // ============= // ============= - 0, // 0000 - 1, // 0001 Shift - 6, // 0010 Strg - 7, // 0011 Shift + Strg - SHFT_INVALID, // 0100 Menu - SHFT_INVALID, // 0101 Shift + Menu - 3, // 0110 Strg + Menu - SHFT_INVALID, // 0111 Shift + Strg + Menu - 2, // 1000 Kana - 4, // 1001 Shift + Kana - SHFT_INVALID, // 1010 Strg + Kana - SHFT_INVALID, // 1011 Shift + Strg + Kana - SHFT_INVALID, // 1100 Menu + Kana - SHFT_INVALID, // 1101 Shift + Menu + Kana - 5 // 1110 Menu + Strg + Kana - - } -}; - - -/***************************************************************************\ -* -* aVkToWch2[] - Virtual Key to WCHAR translation for 2 shift states -* aVkToWch3[] - Virtual Key to WCHAR translation for 3 shift states -* aVkToWch4[] - Virtual Key to WCHAR translation for 4 shift states -* aVkToWch5[] - Virtual Key to WCHAR translation for 5 shift states -* aVkToWch6[] - Virtual Key to WCHAR translation for 6 shift states -* aVkToWch7[] - Virtual Key to WCHAR translation for 7 shift states -* aVkToWch8[] - Virtual Key to WCHAR translation for 8 shift states -* aVkToWch9[] - Virtual Key to WCHAR translation for 9 shift states -* -* Table attributes: Unordered Scan, null-terminated -* -* Search this table for an entry with a matching Virtual Key to find the -* corresponding unshifted and shifted WCHAR characters. -* -* Special values for VirtualKey (column 1) -* 0xff - dead chars for the previous entry -* 0 - terminate the list -* -* Special values for Attributes (column 2) -* CAPLOK bit - CAPS-LOCK affect this key like SHIFT -* -* Special values for wch[*] (column 3 & 4) -* WCH_NONE - No character -* WCH_DEAD - Dead Key (diaresis) or invalid (US keyboard has none) -* WCH_LGTR - Ligature (generates multiple characters) -* -\***************************************************************************/ - -static ALLOC_SECTION_LDATA VK_TO_WCHARS2 aVkToWch2[] = { -// | | Shift | -// |===========|=========| -{VK_DECIMAL ,0 ,',' ,',' }, -{0 ,0 ,0 ,0 } -}; - -static ALLOC_SECTION_LDATA VK_TO_WCHARS4 aVkToWch4[] = { -// | | SHIFT | KANA | ALT+CTL | -// | |===============|================|===============| -{VK_ADD ,0 ,'+' ,'+' ,0x00b1 ,0x2213 }, -{VK_DIVIDE ,0 ,'/' ,'/' ,0x00f7 ,0x2215 }, -{VK_MULTIPLY ,0 ,'*' ,'*' ,0x00d7 ,0x22c5 }, -{VK_SUBTRACT ,0 ,'-' ,'-' ,WCH_NONE ,0x2052 }, -{0 ,0 ,0 ,0 ,0 ,0 } -}; - -static ALLOC_SECTION_LDATA VK_TO_WCHARS6 aVkToWch6[] = { -// | | SHIFT | KANA | ALT+CTL | KANA+Shift | ALT+CTL+Kana | -// | |===============|================|===============|===============|================| -{VK_OEM_1 ,0 ,WCH_DEAD ,WCH_DEAD ,WCH_DEAD ,WCH_DEAD ,WCH_DEAD ,WCH_DEAD }, -{0xff ,0 ,'^' ,0x030c ,0x0306 ,0x00b7 ,0x0335 ,0x0323 }, -{'1' ,CAPLOK ,'1' ,0x00b0 ,0x00B9 ,0x2022 ,0x2640 ,0x00ac }, -{'3' ,CAPLOK ,'3' ,0x00a7 ,0x00b3 ,WCH_NONE ,0x2640 ,0x2227 }, -{'4' ,CAPLOK ,'4' ,0x00bb ,0x203A ,WCH_NONE ,0x2113 ,0x02d4 }, -{'5' ,CAPLOK ,'5' ,0x00ab ,0x2039 ,WCH_NONE ,0x2020 ,0x2221 }, -{'7' ,CAPLOK ,'7' ,0x0024 ,0x00a5 ,0x00a4 ,0x03f0 ,0x2209 }, -{'8' ,CAPLOK ,'8' ,0x201E ,0x201A ,0x002F ,WCH_NONE ,0x2204 }, -{'9' ,CAPLOK ,'9' ,0x201C ,0x2018 ,0x002A ,WCH_NONE ,0x2226 }, -{'0' ,CAPLOK ,'0' ,0x201D ,0x2019 ,0x002D ,WCH_NONE ,0x2205 }, -{VK_OEM_MINUS ,0 ,'-' ,0x2013 ,0x2014 ,0X2011 ,0x00AD ,0x2227 }, -{VK_OEM_2 ,0 ,WCH_DEAD ,WCH_DEAD ,WCH_DEAD ,WCH_DEAD ,WCH_DEAD ,WCH_DEAD }, -{0xff ,0 ,0x0301 ,0x0300 ,0x0327 ,0x0307 ,0x0328 ,0x030a }, -{VK_TAB ,0 ,'\t' ,'\t' ,'\t' ,'\t' ,'\t' ,'\t' }, -{'X' ,CAPLOK ,'x' ,'X' ,WCH_NONE ,WCH_NONE ,0x03BE ,0x039E }, -{'V' ,CAPLOK ,'v' ,'V' ,'_' ,'\b' ,WCH_NONE ,0x2259 }, -{'L' ,CAPLOK ,'l' ,'L' ,'[' ,WCH_NONE ,0x03BB ,0x039b }, -{'C' ,CAPLOK ,'c' ,'C' ,']' ,0x007f ,0x03C7 ,0x2102 }, -{'W' ,CAPLOK ,'w' ,'W' ,0x005E ,WCH_NONE ,0x1f7c ,0x03a9 }, -{'K' ,CAPLOK ,'k' ,'K' ,'!' ,0x00A1 ,0x03BA ,0x221a }, -{'H' ,CAPLOK ,'h' ,'H' ,'<' ,'7' ,0x03C8 ,0x03A8 }, -{'G' ,CAPLOK ,'g' ,'G' ,'>' ,'8' ,0x03B3 ,0x0393 }, -{'F' ,CAPLOK ,'f' ,'F' ,'=' ,'9' ,0x03C6 ,0x03A6 }, -{'Q' ,CAPLOK ,'q' ,'Q' ,'&' ,'+' ,0x0278 ,0x211a }, -{'U' ,CAPLOK ,'u' ,'U' ,'\\' ,WCH_NONE ,WCH_NONE ,0x222e }, -{'I' ,CAPLOK ,'i' ,'I' ,'/' ,WCH_NONE ,0x03B9 ,0x222b }, -{'A' ,CAPLOK ,'a' ,'A' ,'{' ,WCH_NONE ,0x03B1 ,0x2200 }, -{'E' ,CAPLOK ,'e' ,'E' ,'}' ,WCH_NONE ,0x03B5 ,0x2203 }, -{'O' ,CAPLOK ,'o' ,'O' ,'*' ,WCH_NONE ,0x03bf ,0x2208 }, -{'S' ,CAPLOK ,'s' ,'S' ,'?' ,0x00BF ,0x03C3 ,0x03A3 }, -{'N' ,CAPLOK ,'n' ,'N' ,'(' ,'4' ,0x03BD ,0x2115 }, -{'R' ,CAPLOK ,'r' ,'R' ,')' ,'5' ,0x03C1 ,0x211d }, -{'T' ,CAPLOK ,'t' ,'T' ,'-' ,'6' ,0x03C4 ,0x2202 }, -{'D' ,CAPLOK ,'d' ,'D' ,':' ,',' ,0x03B4 ,0x0394 }, -{VK_OEM_5 ,CAPLOK ,0x00FC ,0x00DC ,'#' ,0x001b ,WCH_NONE ,0x221d }, -{VK_OEM_6 ,CAPLOK ,0x00F6 ,0x00D6 ,'$' ,'\t' ,WCH_NONE ,0x2111 }, -{VK_OEM_7 ,CAPLOK ,0x00E4 ,0x00C4 ,'|' ,WCH_NONE ,0x03B7 ,0x211c }, -{'P' ,CAPLOK ,'p' ,'P' ,'~' ,'\r' ,0x03C0 ,0x03A0 }, -{'Z' ,CAPLOK ,'z' ,'Z' ,'`' ,WCH_NONE ,0x03B6 ,0x2124 }, -{'B' ,CAPLOK ,'b' ,'B' ,'+' ,WCH_NONE ,0x03B2 ,0x212d }, -{'M' ,CAPLOK ,'m' ,'M' ,'%' ,'1' ,0x00b5 ,0x21d4 }, -{VK_OEM_COMMA ,0 ,',' ,0x22ee ,'\'' ,'2' ,0x03F1 ,0x21d0 }, -{VK_OEM_PERIOD ,0 ,'.' ,0x2026 ,'\"' ,'3' ,0x03B8 ,0x0398 }, -{0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 } -}; - -static ALLOC_SECTION_LDATA VK_TO_WCHARS7 aVkToWch7[] = { -// | | SHIFT | KANA | ALT+CTL | KANA+Shift | ALT+CTL+Kana | Control | -// | |===============|================|===============|===============|================|===============| -{VK_OEM_3 ,CAPLOK ,0x00df ,0x1E9E ,0x017F ,WCH_NONE ,0x03C2 ,0x018F ,0x2218 }, -{VK_OEM_4 ,0 ,WCH_DEAD ,WCH_DEAD ,WCH_DEAD ,WCH_DEAD ,WCH_DEAD ,WCH_DEAD ,0x001d }, -{0xff ,0 ,0x0303 ,0x0304 ,0x0308 ,0x0337 ,0x030b ,0x0326 ,WCH_NONE }, -{'Y' ,CAPLOK ,'y' ,'Y' ,'@' ,WCH_NONE ,0x03C5 ,0x2207 ,0x001c }, -{VK_SPACE ,0 ,' ' ,' ' ,0x00A0 ,'0' ,' ' ,0x2009 ,' ' }, -{VK_BACK ,0 ,'\b' ,'\b' ,WCH_NONE ,WCH_NONE ,WCH_NONE ,WCH_NONE ,0x007f }, -{VK_ESCAPE ,0 ,0x001b ,0x001b ,WCH_NONE ,WCH_NONE ,WCH_NONE ,WCH_NONE ,0x001b }, -{VK_RETURN ,0 ,'\r' ,'\r' ,WCH_NONE ,WCH_NONE ,WCH_NONE ,WCH_NONE ,'\n' }, -{VK_CANCEL ,0 ,0x0003 ,0x0003 ,WCH_NONE ,WCH_NONE ,WCH_NONE ,WCH_NONE ,0x0003 }, -{0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 } -}; - -static ALLOC_SECTION_LDATA VK_TO_WCHARS8 aVkToWch8[] = { -// | | SHIFT | KANA | ALT+CTL | KANA+Shift | ALT+CTL+Kana | Control | Control+Shift | -// | |===============|================|===============|===============|================|===============|===============| -{'2' ,CAPLOK ,'2' ,0x2116 ,0x00b2 ,0x2023 ,0x26A5 ,0x2228 ,WCH_NONE ,0x0000 }, -{'6' ,CAPLOK ,'6' ,0x20ac ,0x00Ac ,0x00a3 ,WCH_NONE ,0x2225 ,WCH_NONE ,0x001e }, -{'J' ,CAPLOK ,'j' ,'J' ,';' ,'.' ,0x03D1 ,0x2261 ,WCH_NONE ,0x001f }, -{0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 } -}; - -// Put this last so that VkKeyScan interprets number characters -// as coming from the main section of the kbd (aVkToWch2 and -// aVkToWch5) before considering the numpad (aVkToWch1). - -static ALLOC_SECTION_LDATA VK_TO_WCHARS1 aVkToWch1[] = { - { VK_NUMPAD0 , 0 , '0' }, - { VK_NUMPAD1 , 0 , '1' }, - { VK_NUMPAD2 , 0 , '2' }, - { VK_NUMPAD3 , 0 , '3' }, - { VK_NUMPAD4 , 0 , '4' }, - { VK_NUMPAD5 , 0 , '5' }, - { VK_NUMPAD6 , 0 , '6' }, - { VK_NUMPAD7 , 0 , '7' }, - { VK_NUMPAD8 , 0 , '8' }, - { VK_NUMPAD9 , 0 , '9' }, - { 0 , 0 , '\0' } -}; - -static ALLOC_SECTION_LDATA VK_TO_WCHAR_TABLE aVkToWcharTable[] = { - { (PVK_TO_WCHARS1)aVkToWch4, 4, sizeof(aVkToWch4[0]) }, - { (PVK_TO_WCHARS1)aVkToWch6, 6, sizeof(aVkToWch6[0]) }, - { (PVK_TO_WCHARS1)aVkToWch7, 7, sizeof(aVkToWch7[0]) }, - { (PVK_TO_WCHARS1)aVkToWch8, 8, sizeof(aVkToWch8[0]) }, - { (PVK_TO_WCHARS1)aVkToWch2, 2, sizeof(aVkToWch2[0]) }, - { (PVK_TO_WCHARS1)aVkToWch1, 1, sizeof(aVkToWch1[0]) }, - { NULL, 0, 0 }, -}; - -/***************************************************************************\ -* aKeyNames[], aKeyNamesExt[] - Virtual Scancode to Key Name tables -* -* Table attributes: Ordered Scan (by scancode), null-terminated -* -* Only the names of Extended, NumPad, Dead and Non-Printable keys are here. -* (Keys producing printable characters are named by that character) -\***************************************************************************/ - -static ALLOC_SECTION_LDATA VSC_LPWSTR aKeyNames[] = { - 0x01, L"ESC", - 0x0e, L"R\x00DC" L"CK", - 0x0f, L"TABULATOR", - 0x1c, L"EINGABE", - 0x1d, L"STRG", - 0x2a, L"UMSCHALT", - 0x36, L"UMSCHALT RECHTS", - 0x37, L" (ZEHNERTASTATUR)", - 0x38, L"ALT", - 0x39, L"LEER", - 0x3a, L"FESTSTELL", - 0x3b, L"F1", - 0x3c, L"F2", - 0x3d, L"F3", - 0x3e, L"F4", - 0x3f, L"F5", - 0x40, L"F6", - 0x41, L"F7", - 0x42, L"F8", - 0x43, L"F9", - 0x44, L"F10", - 0x45, L"PAUSE", - 0x46, L"ROLLEN-FESTSTELL", - 0x47, L"7 (ZEHNERTASTATUR)", - 0x48, L"8 (ZEHNERTASTATUR)", - 0x49, L"9 (ZEHNERTASTATUR)", - 0x4a, L"- (ZEHNERTASTATUR)", - 0x4b, L"4 (ZEHNERTASTATUR)", - 0x4c, L"5 (ZEHNERTASTATUR)", - 0x4d, L"6 (ZEHNERTASTATUR)", - 0x4e, L"+ (ZEHNERTASTATUR)", - 0x4f, L"1 (ZEHNERTASTATUR)", - 0x50, L"2 (ZEHNERTASTATUR)", - 0x51, L"3 (ZEHNERTASTATUR)", - 0x52, L"0 (ZEHNERTASTATUR)", - 0x53, L"KOMMA (ZEHNERTASTATUR)", - 0x57, L"F11", - 0x58, L"F12", - 0 , NULL -}; - -static ALLOC_SECTION_LDATA VSC_LPWSTR aKeyNamesExt[] = { - 0x1c, L"EINGABE (ZEHNERTASTATUR)", - 0x1d, L"STRG-RECHTS", - 0x35, L" (ZEHNERTASTATUR)", - 0x37, L"DRUCK", - 0x38, L"ALT GR", - 0x45, L"NUM-FESTSTELL", - 0x46, L"UNTBR", - 0x47, L"POS1", - 0x48, L"NACH-OBEN", - 0x49, L"BILD-NACH-OBEN", - 0x4b, L"NACH-LINKS", - 0x4d, L"NACH-RECHTS", - 0x4f, L"ENDE", - 0x50, L"NACH-UNTEN", - 0x51, L"BILD-NACH-UNTEN", - 0x52, L"EINFG", - 0x53, L"ENTF", - 0x54, L"<00>", - 0x56, L"HILFE", - 0x5b, L"LINKE WINDOWS", - 0x5c, L"RECHTE WINDOWS", - 0x5d, L"ANWENDUNG", - 0 , NULL -}; - -static ALLOC_SECTION_LDATA DEADKEY_LPWSTR aKeyNamesDead[] = { - L"^" L"ZIRKUMFLEX", - L"\x030c" L"CARON", - L"\x0306" L"BREVIS", - L"\x0335" L"QUERSTRICH", - L"\x00b7" L"DOT_MID", - L"\x0323" L"DOT_BELOW", - - L"\x0301" L"AKUT", - L"\x0300" L"GRAVIS", - L"\x0327" L"CEDILLA", - L"\x0328" L"OGONEK", - L"\x0307" L"DOT_ABOVE", - L"\x030a" L"RING", - - L"\x0303" L"TILDE", - L"\x0304" L"MAKRON", - L"\x0308" L"DIAERASE", - L"\x030b" L"DOPPEL_AKUT", - L"\x0337" L"SCHRAEGSTRICH", - L"\x0326" L"KOMMA_BELOW", - - - NULL -}; - -static ALLOC_SECTION_LDATA DEADKEY aDeadKey[] = { - -// Anfang der Taste links neben der 1 - DEADTRANS( L'1' , L'^' , 0x00b9 , 0x0000), //ZIRKUMFLEX - DEADTRANS( L'2' , L'^' , 0x00b2 , 0x0000), - DEADTRANS( L'3' , L'^' , 0x00b3 , 0x0000), - DEADTRANS( L'A' , L'^' , 0x00c2 , 0x0000), - DEADTRANS( L'E' , L'^' , 0x00ca , 0x0000), - DEADTRANS( L'I' , L'^' , 0x00ce , 0x0000), - DEADTRANS( L'O' , L'^' , 0x00d4 , 0x0000), - DEADTRANS( L'U' , L'^' , 0x00db , 0x0000), - DEADTRANS( L'a' , L'^' , 0x00e2 , 0x0000), - DEADTRANS( L'e' , L'^' , 0x00ea , 0x0000), - DEADTRANS( L'i' , L'^' , 0x00ee , 0x0000), - DEADTRANS( L'o' , L'^' , 0x00f4 , 0x0000), - DEADTRANS( L'u' , L'^' , 0x00fb , 0x0000), - DEADTRANS( L'C' , L'^' , 0x0108 , 0x0000), - DEADTRANS( L'c' , L'^' , 0x0109 , 0x0000), - DEADTRANS( L'G' , L'^' , 0x011c , 0x0000), - DEADTRANS( L'g' , L'^' , 0x011d , 0x0000), - DEADTRANS( L'H' , L'^' , 0x0124 , 0x0000), - DEADTRANS( L'h' , L'^' , 0x0125 , 0x0000), - DEADTRANS( L'J' , L'^' , 0x0134 , 0x0000), - DEADTRANS( L'j' , L'^' , 0x0135 , 0x0000), - DEADTRANS( L'S' , L'^' , 0x015c , 0x0000), - DEADTRANS( L's' , L'^' , 0x015d , 0x0000), - DEADTRANS( L'W' , L'^' , 0x0174 , 0x0000), - DEADTRANS( L'w' , L'^' , 0x0175 , 0x0000), - DEADTRANS( L'Y' , L'^' , 0x0176 , 0x0000), - DEADTRANS( L'y' , L'^' , 0x0177 , 0x0000), - DEADTRANS( L'Z' , L'^' , 0x1e90 , 0x0000), - DEADTRANS( L'z' , L'^' , 0x1e91 , 0x0000), - DEADTRANS( L'1' , L'^' , 0x00b9 , 0x0000), - DEADTRANS( L'2' , L'^' , 0x00b2 , 0x0000), - DEADTRANS( L'3' , L'^' , 0x00b3 , 0x0000), - DEADTRANS( L'4' , L'^' , 0x2074 , 0x0000), - DEADTRANS( L'5' , L'^' , 0x2075 , 0x0000), - DEADTRANS( L'6' , L'^' , 0x2076 , 0x0000), - DEADTRANS( L'7' , L'^' , 0x2077 , 0x0000), - DEADTRANS( L'8' , L'^' , 0x2078 , 0x0000), - DEADTRANS( L'9' , L'^' , 0x2079 , 0x0000), - DEADTRANS( L'0' , L'^' , 0x2070 , 0x0000), - DEADTRANS( L'+' , L'^' , 0x207a , 0x0000), - DEADTRANS( L'-' , L'^' , 0x207b , 0x0000), - DEADTRANS( L'=' , L'^' , 0x207c , 0x0000), - DEADTRANS( L'(' , L'^' , 0x207d , 0x0000), - DEADTRANS( L')' , L'^' , 0x207e , 0x0000), - DEADTRANS( L'n' , L'^' , 0x207f , 0x0000), - DEADTRANS( L' ' , L'^' , L'^' , 0x0000), - - DEADTRANS( L'C' , 0x030c , 0x010c , 0x0000), //CARON - DEADTRANS( L'c' , 0x030c , 0x010d , 0x0000), - DEADTRANS( L'D' , 0x030c , 0x010e , 0x0000), - DEADTRANS( L'd' , 0x030c , 0x010f , 0x0000), - DEADTRANS( L'E' , 0x030c , 0x011a , 0x0000), - DEADTRANS( L'e' , 0x030c , 0x011b , 0x0000), - DEADTRANS( L'L' , 0x030c , 0x013d , 0x0000), - DEADTRANS( L'l' , 0x030c , 0x013e , 0x0000), - DEADTRANS( L'N' , 0x030c , 0x0147 , 0x0000), - DEADTRANS( L'n' , 0x030c , 0x0148 , 0x0000), - DEADTRANS( L'R' , 0x030c , 0x0158 , 0x0000), - DEADTRANS( L'r' , 0x030c , 0x0159 , 0x0000), - DEADTRANS( L'S' , 0x030c , 0x0160 , 0x0000), - DEADTRANS( L's' , 0x030c , 0x0161 , 0x0000), - DEADTRANS( L'T' , 0x030c , 0x0164 , 0x0000), - DEADTRANS( L't' , 0x030c , 0x0165 , 0x0000), - DEADTRANS( L'Z' , 0x030c , 0x017d , 0x0000), - DEADTRANS( L'z' , 0x030c , 0x017e , 0x0000), - DEADTRANS( L'A' , 0x030c , 0x01cd , 0x0000), - DEADTRANS( L'a' , 0x030c , 0x01ce , 0x0000), - DEADTRANS( L'I' , 0x030c , 0x01cf , 0x0000), - DEADTRANS( L'i' , 0x030c , 0x01d0 , 0x0000), - DEADTRANS( L'O' , 0x030c , 0x01d1 , 0x0000), - DEADTRANS( L'o' , 0x030c , 0x01d2 , 0x0000), - DEADTRANS( L'U' , 0x030c , 0x01d3 , 0x0000), - DEADTRANS( L'u' , 0x030c , 0x01d4 , 0x0000), - DEADTRANS( L'G' , 0x030c , 0x01e6 , 0x0000), - DEADTRANS( L'g' , 0x030c , 0x01e7 , 0x0000), - DEADTRANS( L'K' , 0x030c , 0x01e8 , 0x0000), - DEADTRANS( L'k' , 0x030c , 0x01e9 , 0x0000), - DEADTRANS( L'j' , 0x030c , 0x01f0 , 0x0000), - DEADTRANS( L'H' , 0x030c , 0x021e , 0x0000), - DEADTRANS( L'h' , 0x030c , 0x021f , 0x0000), - DEADTRANS( 0x00fc , 0x030c , 0x01da , 0x0000), - DEADTRANS( 0x00dc , 0x030c , 0x01d9 , 0x0000), - DEADTRANS( L' ' , 0x030c , 0x030c , 0x0000), - - DEADTRANS( L'A' , 0x0306 , 0x0102 , 0x0000), //BREVIS - DEADTRANS( L'a' , 0x0306 , 0x0103 , 0x0000), - DEADTRANS( L'E' , 0x0306 , 0x0114 , 0x0000), - DEADTRANS( L'e' , 0x0306 , 0x0115 , 0x0000), - DEADTRANS( L'G' , 0x0306 , 0x011e , 0x0000), - DEADTRANS( L'g' , 0x0306 , 0x011f , 0x0000), - DEADTRANS( L'I' , 0x0306 , 0x012c , 0x0000), - DEADTRANS( L'i' , 0x0306 , 0x012d , 0x0000), - DEADTRANS( L'O' , 0x0306 , 0x014e , 0x0000), - DEADTRANS( L'o' , 0x0306 , 0x014f , 0x0000), - DEADTRANS( L'U' , 0x0306 , 0x016c , 0x0000), - DEADTRANS( L'u' , 0x0306 , 0x016d , 0x0000), - DEADTRANS( L' ' , 0x0306 , 0x0306 , 0x0000), - - DEADTRANS( L'1' , 0x0335 , 0x2081 , 0x0000), //QUERSTRICH - DEADTRANS( L'2' , 0x0335 , 0x2082 , 0x0000), - DEADTRANS( L'3' , 0x0335 , 0x2083 , 0x0000), - DEADTRANS( L'4' , 0x0335 , 0x2084 , 0x0000), - DEADTRANS( L'5' , 0x0335 , 0x2085 , 0x0000), - DEADTRANS( L'6' , 0x0335 , 0x2086 , 0x0000), - DEADTRANS( L'7' , 0x0335 , 0x2087 , 0x0000), - DEADTRANS( L'8' , 0x0335 , 0x2088 , 0x0000), - DEADTRANS( L'9' , 0x0335 , 0x2089 , 0x0000), - DEADTRANS( L'0' , 0x0335 , 0x2080 , 0x0000), - DEADTRANS( L'+' , 0x0335 , 0x208a , 0x0000), - DEADTRANS( L'-' , 0x0335 , 0x208b , 0x0000), - DEADTRANS( L'=' , 0x0335 , 0x208c , 0x0000), - DEADTRANS( L'(' , 0x0335 , 0x208d , 0x0000), - DEADTRANS( L')' , 0x0335 , 0x208e , 0x0000), - DEADTRANS( L'x' , 0x0335 , 0x2093 , 0x0000), - DEADTRANS( L' ' , 0x0335 , 0x0335 , 0x0000), - - DEADTRANS( L' ' , 0x00b7 , 0x00b7 , 0x0000), //DOT_MID - - DEADTRANS( L'B' , 0x0323 , 0x1e04 , 0x0000), //DOT_BELOW - DEADTRANS( L'b' , 0x0323 , 0x1e05 , 0x0000), - DEADTRANS( L'D' , 0x0323 , 0x1e0c , 0x0000), - DEADTRANS( L'd' , 0x0323 , 0x1e0d , 0x0000), - DEADTRANS( L'H' , 0x0323 , 0x1e24 , 0x0000), - DEADTRANS( L'h' , 0x0323 , 0x1e25 , 0x0000), - DEADTRANS( L'K' , 0x0323 , 0x1e32 , 0x0000), - DEADTRANS( L'k' , 0x0323 , 0x1e33 , 0x0000), - DEADTRANS( L'L' , 0x0323 , 0x1e36 , 0x0000), - DEADTRANS( L'l' , 0x0323 , 0x1e37 , 0x0000), - DEADTRANS( L'M' , 0x0323 , 0x1e42 , 0x0000), - DEADTRANS( L'm' , 0x0323 , 0x1e43 , 0x0000), - DEADTRANS( L'N' , 0x0323 , 0x1e46 , 0x0000), - DEADTRANS( L'n' , 0x0323 , 0x1e47 , 0x0000), - DEADTRANS( L'R' , 0x0323 , 0x1e5a , 0x0000), - DEADTRANS( L'r' , 0x0323 , 0x1e5b , 0x0000), - DEADTRANS( L'S' , 0x0323 , 0x1e62 , 0x0000), - DEADTRANS( L's' , 0x0323 , 0x1e63 , 0x0000), - DEADTRANS( L'T' , 0x0323 , 0x1e6c , 0x0000), - DEADTRANS( L't' , 0x0323 , 0x1e6d , 0x0000), - DEADTRANS( L'V' , 0x0323 , 0x1e7e , 0x0000), - DEADTRANS( L'v' , 0x0323 , 0x1e7f , 0x0000), - DEADTRANS( L'W' , 0x0323 , 0x1e88 , 0x0000), - DEADTRANS( L'w' , 0x0323 , 0x1e89 , 0x0000), - DEADTRANS( L'Z' , 0x0323 , 0x1e92 , 0x0000), - DEADTRANS( L'z' , 0x0323 , 0x1e93 , 0x0000), - DEADTRANS( L'A' , 0x0323 , 0x1ea0 , 0x0000), - DEADTRANS( L'a' , 0x0323 , 0x1ea1 , 0x0000), - DEADTRANS( L'E' , 0x0323 , 0x1eb8 , 0x0000), - DEADTRANS( L'e' , 0x0323 , 0x1eb9 , 0x0000), - DEADTRANS( L'I' , 0x0323 , 0x1eca , 0x0000), - DEADTRANS( L'i' , 0x0323 , 0x1ecb , 0x0000), - DEADTRANS( L'O' , 0x0323 , 0x1ecc , 0x0000), - DEADTRANS( L'o' , 0x0323 , 0x1ecd , 0x0000), - DEADTRANS( L'Y' , 0x0323 , 0x1ef4 , 0x0000), - DEADTRANS( L'y' , 0x0323 , 0x1ef5 , 0x0000), - DEADTRANS( L' ' , 0x0323 , 0x0323 , 0x0000), -// Ende der Taste links neben der 1 -// Anfang der Tasten zwei rechts neben der 0 - DEADTRANS( L'a' , 0x0301 , 0x00e1 , 0x0000), //AKUT - DEADTRANS( L'e' , 0x0301 , 0x00e9 , 0x0000), - DEADTRANS( L'i' , 0x0301 , 0x00ed , 0x0000), - DEADTRANS( L'o' , 0x0301 , 0x00f3 , 0x0000), - DEADTRANS( L'u' , 0x0301 , 0x00fa , 0x0000), - DEADTRANS( L'y' , 0x0301 , 0x00fd , 0x0000), - DEADTRANS( L'A' , 0x0301 , 0x00c1 , 0x0000), - DEADTRANS( L'E' , 0x0301 , 0x00c9 , 0x0000), - DEADTRANS( L'I' , 0x0301 , 0x00cd , 0x0000), - DEADTRANS( L'O' , 0x0301 , 0x00d3 , 0x0000), - DEADTRANS( L'U' , 0x0301 , 0x00da , 0x0000), - DEADTRANS( L'Y' , 0x0301 , 0x00dd , 0x0000), - DEADTRANS( L'C' , 0x0301 , 0x0106 , 0x0000), - DEADTRANS( L'c' , 0x0301 , 0x0106 , 0x0000), - DEADTRANS( L'L' , 0x0301 , 0x0139 , 0x0000), - DEADTRANS( L'l' , 0x0301 , 0x013a , 0x0000), - DEADTRANS( L'N' , 0x0301 , 0x0143 , 0x0000), - DEADTRANS( L'n' , 0x0301 , 0x0144 , 0x0000), - DEADTRANS( L'R' , 0x0301 , 0x0154 , 0x0000), - DEADTRANS( L'r' , 0x0301 , 0x0155 , 0x0000), - DEADTRANS( L'S' , 0x0301 , 0x015a , 0x0000), - DEADTRANS( L's' , 0x0301 , 0x015b , 0x0000), - DEADTRANS( L'Z' , 0x0301 , 0x0179 , 0x0000), - DEADTRANS( L'z' , 0x0301 , 0x017a , 0x0000), - DEADTRANS( 0x00fc , 0x0301 , 0x01d8 , 0x0000), - DEADTRANS( 0x00dc , 0x0301 , 0x01d7 , 0x0000), - DEADTRANS( L'G' , 0x0301 , 0x01f4 , 0x0000), - DEADTRANS( L'g' , 0x0301 , 0x01f5 , 0x0000), - DEADTRANS( L'K' , 0x0301 , 0x1e30 , 0x0000), - DEADTRANS( L'k' , 0x0301 , 0x1e31 , 0x0000), - DEADTRANS( L'M' , 0x0301 , 0x1e3e , 0x0000), - DEADTRANS( L'm' , 0x0301 , 0x1e3f , 0x0000), - DEADTRANS( L'P' , 0x0301 , 0x1e54 , 0x0000), - DEADTRANS( L'p' , 0x0301 , 0x1e55 , 0x0000), - DEADTRANS( L'W' , 0x0301 , 0x1e82 , 0x0000), - DEADTRANS( L'w' , 0x0301 , 0x1e83 , 0x0000), - DEADTRANS( L' ' , 0x0301 , 0x0301 , 0x0000), - - DEADTRANS( L'a' , 0x0300 , 0x00e0 , 0x0000), //GRAVIS - DEADTRANS( L'e' , 0x0300 , 0x00e8 , 0x0000), - DEADTRANS( L'i' , 0x0300 , 0x00ec , 0x0000), - DEADTRANS( L'o' , 0x0300 , 0x00f2 , 0x0000), - DEADTRANS( L'u' , 0x0300 , 0x00f9 , 0x0000), - DEADTRANS( L'A' , 0x0300 , 0x00c0 , 0x0000), - DEADTRANS( L'E' , 0x0300 , 0x00c8 , 0x0000), - DEADTRANS( L'I' , 0x0300 , 0x00cc , 0x0000), - DEADTRANS( L'O' , 0x0300 , 0x00d2 , 0x0000), - DEADTRANS( L'U' , 0x0300 , 0x00d9 , 0x0000), - DEADTRANS( 0x00dc , 0x0300 , 0x01db , 0x0000), - DEADTRANS( 0x00fc , 0x0300 , 0x01dc , 0x0000), - DEADTRANS( L'N' , 0x0300 , 0x01f8 , 0x0000), - DEADTRANS( L'n' , 0x0300 , 0x01f9 , 0x0000), - DEADTRANS( L'W' , 0x0300 , 0x1e80 , 0x0000), - DEADTRANS( L'w' , 0x0300 , 0x1e81 , 0x0000), - DEADTRANS( L'Y' , 0x0300 , 0x1ef2 , 0x0000), - DEADTRANS( L'y' , 0x0300 , 0x1ef3 , 0x0000), - DEADTRANS( L' ' , 0x0300 , 0x0300 , 0x0000), - - DEADTRANS( L'C' , 0x0327 , 0x00c7 , 0x0000), //CEDILLA - DEADTRANS( L'c' , 0x0327 , 0x00e7 , 0x0000), - DEADTRANS( L'G' , 0x0327 , 0x0122 , 0x0000), - DEADTRANS( L'g' , 0x0327 , 0x0123 , 0x0000), - DEADTRANS( L'K' , 0x0327 , 0x0136 , 0x0000), - DEADTRANS( L'k' , 0x0327 , 0x0137 , 0x0000), - DEADTRANS( L'L' , 0x0327 , 0x013b , 0x0000), - DEADTRANS( L'l' , 0x0327 , 0x013c , 0x0000), - DEADTRANS( L'N' , 0x0327 , 0x0145 , 0x0000), - DEADTRANS( L'n' , 0x0327 , 0x0146 , 0x0000), - DEADTRANS( L'R' , 0x0327 , 0x0156 , 0x0000), - DEADTRANS( L'r' , 0x0327 , 0x0157 , 0x0000), - DEADTRANS( L'S' , 0x0327 , 0x015e , 0x0000), - DEADTRANS( L's' , 0x0327 , 0x015f , 0x0000), - DEADTRANS( L'T' , 0x0327 , 0x0162 , 0x0000), - DEADTRANS( L't' , 0x0327 , 0x0163 , 0x0000), - DEADTRANS( L'E' , 0x0327 , 0x0228 , 0x0000), - DEADTRANS( L'e' , 0x0327 , 0x0229 , 0x0000), - DEADTRANS( L'D' , 0x0327 , 0x1e10 , 0x0000), - DEADTRANS( L'd' , 0x0327 , 0x1e11 , 0x0000), - DEADTRANS( L'H' , 0x0327 , 0x1e28 , 0x0000), - DEADTRANS( L'h' , 0x0327 , 0x1e29 , 0x0000), - DEADTRANS( L' ' , 0x0327 , 0x0327 , 0x0000), - - DEADTRANS( L'A' , 0x0328 , 0x0104 , 0x0000), //OGONEK - DEADTRANS( L'a' , 0x0328 , 0x0105 , 0x0000), - DEADTRANS( L'E' , 0x0328 , 0x0118 , 0x0000), - DEADTRANS( L'e' , 0x0328 , 0x0119 , 0x0000), - DEADTRANS( L'I' , 0x0328 , 0x012e , 0x0000), - DEADTRANS( L'i' , 0x0328 , 0x012f , 0x0000), - DEADTRANS( L'U' , 0x0328 , 0x0172 , 0x0000), - DEADTRANS( L'u' , 0x0328 , 0x0173 , 0x0000), - DEADTRANS( L'O' , 0x0328 , 0x01ea , 0x0000), - DEADTRANS( L'o' , 0x0328 , 0x01eb , 0x0000), - DEADTRANS( L' ' , 0x0328 , 0x0328 , 0x0000), - - DEADTRANS( L'C' , 0x0307 , 0x010a , 0x0000), //DOT_ABOVE - DEADTRANS( L'c' , 0x0307 , 0x010b , 0x0000), - DEADTRANS( L'E' , 0x0307 , 0x0116 , 0x0000), - DEADTRANS( L'e' , 0x0307 , 0x0117 , 0x0000), - DEADTRANS( L'G' , 0x0307 , 0x0120 , 0x0000), - DEADTRANS( L'g' , 0x0307 , 0x0121 , 0x0000), - DEADTRANS( L'I' , 0x0307 , 0x0130 , 0x0000), - DEADTRANS( L'i' , 0x0307 , 0x0131 , 0x0000), - DEADTRANS( L'Z' , 0x0307 , 0x017b , 0x0000), - DEADTRANS( L'z' , 0x0307 , 0x017c , 0x0000), - DEADTRANS( L'A' , 0x0307 , 0x0226 , 0x0000), - DEADTRANS( L'a' , 0x0307 , 0x0227 , 0x0000), - DEADTRANS( L'O' , 0x0307 , 0x022e , 0x0000), - DEADTRANS( L'o' , 0x0307 , 0x022f , 0x0000), - DEADTRANS( L'B' , 0x0307 , 0x1e02 , 0x0000), - DEADTRANS( L'b' , 0x0307 , 0x1e03 , 0x0000), - DEADTRANS( L'D' , 0x0307 , 0x1e0a , 0x0000), - DEADTRANS( L'd' , 0x0307 , 0x1e0b , 0x0000), - DEADTRANS( L'F' , 0x0307 , 0x1e1e , 0x0000), - DEADTRANS( L'f' , 0x0307 , 0x1e1f , 0x0000), - DEADTRANS( L'H' , 0x0307 , 0x1e22 , 0x0000), - DEADTRANS( L'h' , 0x0307 , 0x1e23 , 0x0000), - DEADTRANS( L'M' , 0x0307 , 0x1e40 , 0x0000), - DEADTRANS( L'm' , 0x0307 , 0x1e41 , 0x0000), - DEADTRANS( L'N' , 0x0307 , 0x1e44 , 0x0000), - DEADTRANS( L'n' , 0x0307 , 0x1e45 , 0x0000), - DEADTRANS( L'P' , 0x0307 , 0x1e56 , 0x0000), - DEADTRANS( L'p' , 0x0307 , 0x1e57 , 0x0000), - DEADTRANS( L'R' , 0x0307 , 0x1e58 , 0x0000), - DEADTRANS( L'r' , 0x0307 , 0x1e59 , 0x0000), - DEADTRANS( L'S' , 0x0307 , 0x1e60 , 0x0000), - DEADTRANS( L's' , 0x0307 , 0x1e61 , 0x0000), - DEADTRANS( L'T' , 0x0307 , 0x1e6a , 0x0000), - DEADTRANS( L't' , 0x0307 , 0x1e6b , 0x0000), - DEADTRANS( L'W' , 0x0307 , 0x1e86 , 0x0000), - DEADTRANS( L'w' , 0x0307 , 0x1e87 , 0x0000), - DEADTRANS( L'X' , 0x0307 , 0x1e8a , 0x0000), - DEADTRANS( L'x' , 0x0307 , 0x1e8b , 0x0000), - DEADTRANS( L'Y' , 0x0307 , 0x1e8e , 0x0000), - DEADTRANS( L'y' , 0x0307 , 0x1e8f , 0x0000), - DEADTRANS( L' ' , 0x0307 , 0x0307 , 0x0000), - - DEADTRANS( L'E' , 0x030a , 0x0116 , 0x0000), //RING - DEADTRANS( L'e' , 0x030a , 0x030a , 0x0000), - DEADTRANS( L'e' , 0x030a , 0x030a , 0x0000), - - - DEADTRANS( L'e' , 0x030a , 0x030a , 0x0000), - - - - - - - - - - -// Ende der Tasten zwei rechts neben der 0 -//Fehlt noch viel :( - 0, 0 -}; - - -static ALLOC_SECTION_LDATA KBDTABLES KbdTables = { - /* - * Modifier keys - */ - &CharModifiers, - - /* - * Characters tables - */ - aVkToWcharTable, - - /* - * Diacritics - */ - aDeadKey, - - /* - * Names of Keys - */ - aKeyNames, - aKeyNamesExt, - aKeyNamesDead, - - /* - * Scan codes to Virtual Keys - */ - ausVK, - sizeof(ausVK) / sizeof(ausVK[0]), - aE0VscToVk, - aE1VscToVk, - - /* - * Locale-specific special processing - */ - MAKELONG(KLLF_ALTGR, KBD_VERSION), - - /* - * Ligatures - */ - 0, - 0, - NULL -}; - -PKBDTABLES KbdLayerDescriptor(VOID) -{ - return &KbdTables; -} diff --git a/kbdneo2/Quelldateien/kbdneo2.def b/kbdneo2/Quelldateien/kbdneo2.def deleted file mode 100644 index 6207414..0000000 --- a/kbdneo2/Quelldateien/kbdneo2.def +++ /dev/null @@ -1,4 +0,0 @@ -LIBRARY KBDNEO2 - -EXPORTS - KbdLayerDescriptor @1 diff --git a/kbdneo2/Quelldateien/kbdneo2.h b/kbdneo2/Quelldateien/kbdneo2.h deleted file mode 100644 index e4177b1..0000000 --- a/kbdneo2/Quelldateien/kbdneo2.h +++ /dev/null @@ -1,109 +0,0 @@ -/****************************** Module Header ******************************\ -* Module Name: KBDNEO2.H -* -* keyboard layout header for NEO German -* -* Various defines for use by keyboard input code. -* -* History: Ver 0.1 -* -\***************************************************************************/ - -/* - * kbd type should be controlled by cl command-line argument - */ -#define KBD_TYPE 4 - -/* -* Include the basis of all keyboard table values -*/ -#include "kbd.h" -#include -/***************************************************************************\ -* The table below defines the virtual keys for various keyboard types where -* the keyboard differ from the US keyboard. -* -* _EQ() : all keyboard types have the same virtual key for this scancode -* _NE() : different virtual keys for this scancode, depending on kbd type -* -* +------+ +----------+----------+----------+----------+----------+----------+ -* | Scan | | kbd | kbd | kbd | kbd | kbd | kbd | -* | code | | type 1 | type 2 | type 3 | type 4 | type 5 | type 6 | -\****+-------+_+----------+----------+----------+----------+----------+----------+*/ - -#undef T0D -#define T0D _EQ( OEM_2 ) -#undef T10 -#define T10 _EQ( 'X' ) -#undef T11 -#define T11 _EQ( 'V' ) -#undef T12 -#define T12 _EQ( 'L' ) -#undef T13 -#define T13 _EQ( 'C' ) -#undef T14 -#define T14 _EQ( 'W' ) -#undef T15 -#define T15 _EQ( 'K' ) -#undef T16 -#define T16 _EQ( 'H' ) -#undef T17 -#define T17 _EQ( 'G' ) -#undef T18 -#define T18 _EQ( 'F' ) -#undef T19 -#define T19 _EQ( 'Q' ) -#undef T1A -#define T1A _EQ( OEM_3 ) -#undef T1B -#define T1B _EQ( OEM_4 ) -#undef T1E -#define T1E _EQ( 'U' ) -#undef T1F -#define T1F _EQ( 'I' ) -#undef T20 -#define T20 _EQ( 'A' ) -#undef T21 -#define T21 _EQ( 'E' ) -#undef T22 -#define T22 _EQ( 'O' ) -#undef T23 -#define T23 _EQ( 'S' ) -#undef T24 -#define T24 _EQ( 'N' ) -#undef T25 -#define T25 _EQ( 'R' ) -#undef T26 -#define T26 _EQ( 'T' ) -#undef T27 -#define T27 _EQ( 'D' ) -#undef T28 -#define T28 _EQ( 'Y' ) -#undef T29 -#define T29 _EQ( OEM_1 ) -#undef T2B -#define T2B _EQ( KANA ) // Mod 3 -// #define T2B _EQ( OEM_ROYA ) -#undef T2C -#define T2C _EQ( OEM_5 ) -#undef T2D -#define T2D _EQ( OEM_6 ) -#undef T2E -#define T2E _EQ( OEM_7 ) -#undef T2F -#define T2F _EQ( 'P' ) -#undef T30 -#define T30 _EQ( 'Z' ) -#undef T31 -#define T31 _EQ( 'B' ) -#undef T35 -#define T35 _EQ( 'J' ) -#undef T3A -#define T3A _EQ( KANA )// Mod 3 -// #define T3A _EQ( OEM_ROYA ) -#undef X38 -#define X38 _EQ( RMENU )// Mod 5 -// #define X38 _EQ( OEM_102 ) -#undef T56 -#define T56 _EQ( RMENU )// Mod 5 -// #define T56 _EQ( OEM_102 ) \ No newline at end of file diff --git a/kbdneo2/Quelldateien/kbdneo2.rc b/kbdneo2/Quelldateien/kbdneo2.rc deleted file mode 100644 index ec83d64..0000000 --- a/kbdneo2/Quelldateien/kbdneo2.rc +++ /dev/null @@ -1,11 +0,0 @@ -#include -#include - -#define VER_FILETYPE VFT_DLL -#define VER_FILESUBTYPE VFT2_DRV_KEYBOARD -#define VER_FILEDESCRIPTION_STR "NEO2 German ergonomic Keyboard Layout" -#define VER_INTERNALNAME_STR "kbdneo2" -#define VER_ORIGINALFILENAME_STR "kbdneo2.dll" - -#define VER_LANGNEUTRAL -#include "common.ver" diff --git a/kbdneo2/Quelldateien/makefile b/kbdneo2/Quelldateien/makefile deleted file mode 100644 index 23d6985..0000000 --- a/kbdneo2/Quelldateien/makefile +++ /dev/null @@ -1,15 +0,0 @@ -# -# DO NOT EDIT THIS FILE!!! Edit .\sources. if you want to add a new source -# file to this component. This file merely indirects to the real make file -# that is shared by all the components of NT OS/2 -# -!IF DEFINED(_NT_TARGET_VERSION) -! IF $(_NT_TARGET_VERSION)>=0x501 -! INCLUDE $(NTMAKEENV)\makefile.def -! ELSE -! message BUILDMSG: Warning : The sample "$(MAKEDIR)" is not valid for the current OS target. -! ENDIF -!ELSE -! INCLUDE $(NTMAKEENV)\makefile.def -!ENDIF - diff --git a/kbdneo2/Quelldateien/makefile.inc b/kbdneo2/Quelldateien/makefile.inc deleted file mode 100644 index fdf82aa..0000000 --- a/kbdneo2/Quelldateien/makefile.inc +++ /dev/null @@ -1 +0,0 @@ -!INCLUDE ..\..\makefile.inc diff --git a/kbdneo2/Quelldateien/sources b/kbdneo2/Quelldateien/sources deleted file mode 100644 index a4d98f3..0000000 --- a/kbdneo2/Quelldateien/sources +++ /dev/null @@ -1,2 +0,0 @@ -TARGETNAME=kbdneo2 -!INCLUDE ..\..\sources.inc diff --git a/kbdneo2/Treiber/32bit_Windows_Server_2003/NEO20.dll b/kbdneo2/Treiber/32bit_Windows_Server_2003/NEO20.dll deleted file mode 100644 index 0f69144..0000000 Binary files a/kbdneo2/Treiber/32bit_Windows_Server_2003/NEO20.dll and /dev/null differ diff --git a/kbdneo2/Treiber/32bit_Windows_Vista_und_Windows_Server_Longhorn/NEO20.dll b/kbdneo2/Treiber/32bit_Windows_Vista_und_Windows_Server_Longhorn/NEO20.dll deleted file mode 100644 index ad26439..0000000 Binary files a/kbdneo2/Treiber/32bit_Windows_Vista_und_Windows_Server_Longhorn/NEO20.dll and /dev/null differ diff --git a/kbdneo2/Treiber/32bit_Windows_XP/NEO20.dll b/kbdneo2/Treiber/32bit_Windows_XP/NEO20.dll deleted file mode 100644 index f207250..0000000 Binary files a/kbdneo2/Treiber/32bit_Windows_XP/NEO20.dll and /dev/null differ diff --git a/kbdneo2/Treiber/64bit_Windows_Server_2003_und Windows_XP/NEO20.dll b/kbdneo2/Treiber/64bit_Windows_Server_2003_und Windows_XP/NEO20.dll deleted file mode 100644 index 8fdcd18..0000000 Binary files a/kbdneo2/Treiber/64bit_Windows_Server_2003_und Windows_XP/NEO20.dll and /dev/null differ diff --git a/kbdneo2/Treiber/64bit_Windows_Vista_und_Windows_Server_Longhorn/NEO20.dll b/kbdneo2/Treiber/64bit_Windows_Vista_und_Windows_Server_Longhorn/NEO20.dll deleted file mode 100644 index 24c8ce4..0000000 Binary files a/kbdneo2/Treiber/64bit_Windows_Vista_und_Windows_Server_Longhorn/NEO20.dll and /dev/null differ diff --git a/kbdneo2/Treiber/README.txt b/kbdneo2/Treiber/README.txt deleted file mode 100644 index 622623e..0000000 --- a/kbdneo2/Treiber/README.txt +++ /dev/null @@ -1,24 +0,0 @@ -==Windows-Treiber== -Leider gibt es bislang noch keine eigene Installationsroutine. Zur Installation -muss deshalb zur Zeit noch die MSKLC-Variante installiert werden, anschließend -muss die NEO20.dll-Datei im Ordner \WINDOWS\system32 mit der hier vorhandenen -Datei überschrieben werden. - -1.) MSKLC-Variante installieren -2.) NEO20.dll nach \WINDOWS\system32 kopieren und die dort vorhandene Version - überschreiben - -Es ist keine Registry-Änderung mehr nötig! - - - -==Einschränkungen des Windows-Treibers== -1.) Einige Steuertasten lassen sich (noch?) nicht belegen und stehen deshalb -nicht zur Verfügung. -Dazu gehören leider auch die Pfeiltasten, Entf, Seite -hoch/runter, Einfg, Pos1 und Ende. -2.) Ein Einrasten von Modifiern ist leider nicht möglich. -3.) Bei vielen Programmen wird die Kombination Alt+Strg+… für Shortcuts verwendet -und kann so in Konflikt mit den höheren Ebenen (Ebene 4 und 6) kommen. -4.) Die Belegung des Ziffernblocks ist noch unvollständig. -5.) Es gibt keine Kombo-/Komponier-/Compose-/Multi-Key-Taste. \ No newline at end of file diff --git a/msklc/NEO20_amd64.msi b/msklc/NEO20_amd64.msi deleted file mode 100644 index ef7bf58..0000000 Binary files a/msklc/NEO20_amd64.msi and /dev/null differ diff --git a/msklc/NEO20_i386.msi b/msklc/NEO20_i386.msi deleted file mode 100644 index 2a6916e..0000000 Binary files a/msklc/NEO20_i386.msi and /dev/null differ diff --git a/msklc/NEO20_ia64.msi b/msklc/NEO20_ia64.msi deleted file mode 100644 index 5c5911d..0000000 Binary files a/msklc/NEO20_ia64.msi and /dev/null differ diff --git a/msklc/amd64/NEO20.dll b/msklc/amd64/NEO20.dll deleted file mode 100644 index 0bf4509..0000000 Binary files a/msklc/amd64/NEO20.dll and /dev/null differ diff --git a/msklc/i386/NEO20.dll b/msklc/i386/NEO20.dll deleted file mode 100644 index 83bd5dd..0000000 Binary files a/msklc/i386/NEO20.dll and /dev/null differ diff --git a/msklc/ia64/NEO20.dll b/msklc/ia64/NEO20.dll deleted file mode 100644 index c757ccf..0000000 Binary files a/msklc/ia64/NEO20.dll and /dev/null differ diff --git a/msklc/setup.exe b/msklc/setup.exe deleted file mode 100644 index 605579e..0000000 Binary files a/msklc/setup.exe and /dev/null differ diff --git a/msklc/wow64/NEO20.dll b/msklc/wow64/NEO20.dll deleted file mode 100644 index 0f23157..0000000 Binary files a/msklc/wow64/NEO20.dll and /dev/null differ diff --git a/neo_portable.zip b/neo_portable.zip deleted file mode 100644 index ccf3666..0000000 Binary files a/neo_portable.zip and /dev/null differ -- cgit v1.2.3