diff options
author | florian <florian@b9310e46-f624-0410-8ea1-cfbb3a30dc96> | 2008-05-06 10:30:11 +0000 |
---|---|---|
committer | florian <florian@b9310e46-f624-0410-8ea1-cfbb3a30dc96> | 2008-05-06 10:30:11 +0000 |
commit | 39ad27b08aea1e2363e4317469c60fe7961244ee (patch) | |
tree | 7462348efcb8462e600ee3432fa7792fccfeb362 | |
parent | 0012904f168be57d1c98ec187572174c330eb14f (diff) | |
download | neo-layout-39ad27b08aea1e2363e4317469c60fe7961244ee.tar.gz neo-layout-39ad27b08aea1e2363e4317469c60fe7961244ee.tar.bz2 neo-layout-39ad27b08aea1e2363e4317469c60fe7961244ee.zip |
git-svn-id: https://svn.neo-layout.org@502 b9310e46-f624-0410-8ea1-cfbb3a30dc96
28 files changed, 0 insertions, 6505 deletions
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 <stm (at) neo-layout.org>
- 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 Binary files differdeleted file mode 100644 index 31a37b5..0000000 --- a/autohotkey/neo20-all-in-one.exe +++ /dev/null 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 <stm@neo-layout.org>
- 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 <windows.h>
-#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 <dontuse.h>
-/***************************************************************************\
-* 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 <windows.h>
-#include <ntverp.h>
-
-#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 Binary files differdeleted file mode 100644 index 0f69144..0000000 --- a/kbdneo2/Treiber/32bit_Windows_Server_2003/NEO20.dll +++ /dev/null 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 Binary files differdeleted file mode 100644 index ad26439..0000000 --- a/kbdneo2/Treiber/32bit_Windows_Vista_und_Windows_Server_Longhorn/NEO20.dll +++ /dev/null diff --git a/kbdneo2/Treiber/32bit_Windows_XP/NEO20.dll b/kbdneo2/Treiber/32bit_Windows_XP/NEO20.dll Binary files differdeleted file mode 100644 index f207250..0000000 --- a/kbdneo2/Treiber/32bit_Windows_XP/NEO20.dll +++ /dev/null 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 Binary files differdeleted file mode 100644 index 8fdcd18..0000000 --- a/kbdneo2/Treiber/64bit_Windows_Server_2003_und Windows_XP/NEO20.dll +++ /dev/null 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 Binary files differdeleted file mode 100644 index 24c8ce4..0000000 --- a/kbdneo2/Treiber/64bit_Windows_Vista_und_Windows_Server_Longhorn/NEO20.dll +++ /dev/null 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 Binary files differdeleted file mode 100644 index ef7bf58..0000000 --- a/msklc/NEO20_amd64.msi +++ /dev/null diff --git a/msklc/NEO20_i386.msi b/msklc/NEO20_i386.msi Binary files differdeleted file mode 100644 index 2a6916e..0000000 --- a/msklc/NEO20_i386.msi +++ /dev/null diff --git a/msklc/NEO20_ia64.msi b/msklc/NEO20_ia64.msi Binary files differdeleted file mode 100644 index 5c5911d..0000000 --- a/msklc/NEO20_ia64.msi +++ /dev/null diff --git a/msklc/amd64/NEO20.dll b/msklc/amd64/NEO20.dll Binary files differdeleted file mode 100644 index 0bf4509..0000000 --- a/msklc/amd64/NEO20.dll +++ /dev/null diff --git a/msklc/i386/NEO20.dll b/msklc/i386/NEO20.dll Binary files differdeleted file mode 100644 index 83bd5dd..0000000 --- a/msklc/i386/NEO20.dll +++ /dev/null diff --git a/msklc/ia64/NEO20.dll b/msklc/ia64/NEO20.dll Binary files differdeleted file mode 100644 index c757ccf..0000000 --- a/msklc/ia64/NEO20.dll +++ /dev/null diff --git a/msklc/setup.exe b/msklc/setup.exe Binary files differdeleted file mode 100644 index 605579e..0000000 --- a/msklc/setup.exe +++ /dev/null diff --git a/msklc/wow64/NEO20.dll b/msklc/wow64/NEO20.dll Binary files differdeleted file mode 100644 index 0f23157..0000000 --- a/msklc/wow64/NEO20.dll +++ /dev/null diff --git a/neo_portable.zip b/neo_portable.zip Binary files differdeleted file mode 100644 index ccf3666..0000000 --- a/neo_portable.zip +++ /dev/null |