2008-05-06 11:41:19 +00:00
/*
Titel: NEO 2.0 beta Autohotkey - Treiber
2008-06-10 20:35:23 +00:00
$Revision$
$Date$
2008-05-06 11:41:19 +00:00
Autor: Stefan Mayer < stm ( at ) neo - layout . org >
Basiert auf : neo20 - all - in - one . ahk vom 29.06 . 2007
2008-06-11 17:08:16 +00:00
TODO: - ausgiebig testen . . . ( besonders Vollst <EFBFBD> ndigkeit bei Deadkeys )
2008-05-06 11:41:19 +00:00
- Bessere L <EFBFBD> sung f <EFBFBD> r das leeren von PriorDeadKey finden , damit die Sondertasten
nicht mehr abgefangen werden m <EFBFBD> ssen .
2008-06-11 17:08:16 +00:00
- Testen ob die Capslockl <EFBFBD> sung ( siehe * 1 : : ebene 1 ) auch f <EFBFBD> r Numpad gebraucht wird
2008-06-14 11:43:05 +00:00
- Sind Ebenen vom Touchpad noch richtig ?
2008-06-10 20:35:23 +00:00
2008-05-06 11:41:19 +00:00
Ideen: - Symbol <EFBFBD> ndern ( Neo - Logo abwarten )
- bei Ebene 4 rechte Hand ( Numpad ) z . B . Numpad5 statt 5 senden
2008-06-14 20:31:51 +00:00
CHANGEHISTORY:
2008-06-25 02:33:50 +00:00
Aktuelle Revision ( von Matthias Berg ) :
- Sonderzeichen , Umlaute , z und y durch ScanCodes ersetzt
* jetzt wird auch bei eingestelltem US Layout Neo verwendet .
( z . B . f <EFBFBD> r C h i n e s i s c h e I n p u t M e t h o d E d i t o r s )
* rechter Mod3 geht noch nicht bei US Layout ( weder ScanCode noch " \ " )
Revision 567 ( von Dennis Heidsiek ) :
- Aktivierter Mod4 Lock wird jetzt <EFBFBD> ber die Rollen - LED des Keybord angezeigt
2008-06-24 12:12:18 +00:00
( a n a l o g z u C a p s L o c k ) , d i e N U M - L E D b e h <EFBFBD> l t i h r b i s h e r i g e s V e r h a l t e n
- Neue Option im Skript : UseMod4Light
Revision 561 ( von Matthias Berg ) :
2008-06-22 10:53:17 +00:00
- Ebene 4 Tab verh <EFBFBD> lt sich jetzt wie das andere Tab dank " goto neo_tab "
Revision 560 ( von Dennis Heidsiek ) :
2008-06-22 01:27:36 +00:00
- Neue Option im Skript : bildschirmTastaturEinbinden bindet die PNG - Bilder der
Bildschirmtastur mit in die exe - Datei ein , so dass sich der Benutzer nur eine Datei
herunterladen muss
Revision 559 ( von Matthias Berg ) :
2008-06-22 01:10:47 +00:00
- Shift + Alt + Tab Problem gel <EFBFBD> st ( muss noch mehr auf Nebeneffekte getestet werden )
Revision 558 ( von Matthias Berg ) :
2008-06-22 00:21:54 +00:00
- Icon - Bug behoben
* Hotkeys d <EFBFBD> rfen nicht vor der folgenden Zeile stehen :
" menu, tray, icon, neo.ico,,1 "
- lernModus - Konfigurations - Bug behoben : or statt and ( not )
2008-06-22 00:24:15 +00:00
- Ein paar leere Else - F <EFBFBD> lle eingebaut ( Verst <EFBFBD> ndlichkeit , m <EFBFBD> gliche Compilerprobleme vermeiden )
2008-06-22 00:21:54 +00:00
Revision 556 ( von Matthias Berg ) :
2008-06-21 19:27:39 +00:00
- lernModus ( an / aus mit Strg + Komma )
* im Skript konfigurierbar
* Schaltet z . B . Qwertz Tasten aus , die es auf der 4. Ebene gibt ( Return , Backspace , . . . )
2008-06-22 01:27:36 +00:00
* Kann auch Backspace und / oder Entfernen der 4. Ebene ausschalten ( gut zum Lernen richtig
zu schreiben )
2008-06-21 19:27:39 +00:00
- Bug aufgetaucht : Icons werden nicht mehr angezeigt
Revision 544 ( von Stefan Mayer ) :
2008-06-21 18:36:19 +00:00
- , . : ; auf dem Mod4 - Ziffernblock an die aktuelle Referenz angepasst
- Versionen von rho , theta , kappa und phi an die aktuelle Referenz angepasst
Revision 542 ( von Matthias Berg ) :
2008-06-19 09:24:55 +00:00
- bei EinHandNeo ist jetzt Space + y auch Mod4
- AltGr - Bug hoffentlich wieder behoben . Diesmal mit extra altGrPressed Variable
- nurEbenenFuenfUndSechs umbenannt in ahkTreiberKombi und auf Ebene 4 statt 5 und 6 ge <EFBFBD> ndert
Revision 540 ( von Matthias Berg ) :
2008-06-18 23:26:43 +00:00
- stark <EFBFBD> berarbeitet um Wartbarkeit zu erh <EFBFBD> hen und Redundanz zu veringern
2008-06-19 09:24:55 +00:00
- nurEbenenFuenfUndSechs sollte nun auch auf Neo Treiber statt Qwertz laufen
2008-06-18 23:26:43 +00:00
* aber es muss noch jemand testen
* Problem : was kann man abfangen , wenn eine tote Taste gedr <EFBFBD> ckt wird
- einHandNeo :
* An - / Ausschalten mit STRG + Punkt
* Buchstaben der rechten Hand werden mit Space zur linken Hand
* Nebeneffekt : es gibt beim Festhalten von Space keine wiederholten Leerzeichen mehr
Revision 532 ( von Matthias Berg ) :
2008-06-16 17:29:58 +00:00
- BildschirmTastatur
* aktiviert mit strg + F1 bis 7 schaltet Keyboard ein oder aus
* strg + F7 zeigt die zuletzt angezeigte Ebene an ( und wieder aus ) .
* strg + F8 schaltet AlwaysOnTop um
Revision 529 ( von Stefan Mayer ) :
2008-06-22 01:27:36 +00:00
- Icon wird automatisch geladen , falls . ico - Dateien im selbem Ordner
- in der . exe sind die . ico mitgespeichert und werden geladen
Revision 528 ( von Matthias Berg ) :
2008-06-14 20:31:51 +00:00
- Neo - Icon
- Neo - Prozess jetzt automatisch auf hoher Prioritaet
( s i e h e g l o b a l e S c h a l t e r )
- Mod3 - Lock ( nur wenn rechtes Mod3 zuerst gedr <EFBFBD> ckt wird , andere L <EFBFBD> sung f <EFBFBD> hrte zum Caps - Bug )
- Mod4 - Lock ( nur wenn das linke Mod4 zuerst gedr <EFBFBD> ckt wird , andere L <EFBFBD> sung f <EFBFBD> hte zum AltGr - Bug )
- Ein paar falsche Zeichen korrigiert
Revision 527 ( von Matthias Berg ) :
2008-06-14 12:48:46 +00:00
- AltGr Problem hoffentlich behoben
- Umschalt + Mod4 Bug behoben
Revision 526 ( von Matthias Berg ) :
2008-06-14 11:43:05 +00:00
- Ebenen 1 bis 4 ausschalten per Umschalter siehe erste Codezeile
nurEbenenFuenfUndSechs = 0
- Mod4 - Lock durch Mod4 + Mod4
- EbenenAktualisierung neu geschrieben
- Ebene 6 <EFBFBD> ber Mod3 + Mod4
- Ebenen ( besonders Matheebene ) an Referenz angepasst
( a l l e r d i n g s k a u m u m E b e n e n 1 & 2 g e k <EFBFBD> m m e r t , b e s o n d e r s C o m p o s e k <EFBFBD> n n t e n o c h <EFBFBD> b e r h o l t w e r d e n )
2008-06-11 17:08:16 +00:00
Revision 525 ( von Matthias Berg ) :
- Capslock bei Zahlen und Sonderzeichen ber <EFBFBD> cksichtigt
Revision 524 ( von Matthias Berg ) :
- umgekehrtes ^ f <EFBFBD> r o , a , <EFBFBD> , i sowie f <EFBFBD> r die grossen vokale ( 3. ton chinesisch )
<EFBFBD> damit wird jetzt PinYin vollst <EFBFBD> ndig unterst <EFBFBD> tzt caron , macron , akut , grave auf uiaeo <EFBFBD>
- Sonderzeichen senden wieder blind - > Shortcuts funktionieren , Capslock ist leider Shiftlock
Revision 523 ( von Matthias Berg ) :
2008-06-22 01:27:36 +00:00
- CapsLock geht jetzt auch bei allen Zeichen ( 'send Zeichen ' statt 'send { blind } Zeichen ')
2008-06-11 17:08:16 +00:00
- vertikale Ellipse eingebaut
- Umschalt + Umschalt f <EFBFBD> r Capslock statt Mod3 + Mod3
- bei Suspend wird jetzt wirklich togglesuspend aufgerufen ( auch beim aktivieren per shift + pause )
Revsion 490 ( von Stefan Mayer ) :
- SUBSCRIPT von 0 bis 9 sowie ( auf Ziffernblock ) + und -
<EFBFBD> auch bei Ziffernblock auf der 5. Ebene
2008-05-06 11:41:19 +00:00
- Kein Parsen <EFBFBD> ber die Zwischenablage mehr
- Vista - kompatibel
- Compose - Taste
2008-06-11 17:08:16 +00:00
<EFBFBD> Br <EFBFBD> che ( auf Zahlenreihe und Hardware - Ziffernblock )
<EFBFBD> r <EFBFBD> mische Zahlen
<EFBFBD> Ligaturen und Copyright
2008-05-06 11:41:19 +00:00
* /
2008-06-14 11:43:05 +00:00
/* * * * * * * * * * * * * * * * * *
Globale Schalter *
2008-06-22 01:27:36 +00:00
* * * * * * * * * * * * * * * * * * *
2008-06-14 12:48:46 +00:00
* /
2008-06-22 01:27:36 +00:00
; Im folgenden gilt (soweit nicht anders angegeben) Ja = 1, Nein = 0:
ahkTreiberKombi := 0 ; Sollen Ebenen 1-4 ignoriert werden? (kann z.B. vom dll Treiber <20> bernommen werden)
einHandNeo := 0 ; Soll der Treiber im Einhandmodus betrieben werden?
lernModus := 0 ; Soll der Lernmodus aktiviert werden?
bildschirmTastaturEinbinden := 1 ; Sollen die Bilder f<> r die Bildschirmtastatur in die EXE-Datei miteingebunden werden (Nachteil: gr<67> ssere Dateigr<67> sse, Vorteil: Referenz f<> r Anfanger stets einfach verf<72> gbar)
2008-06-25 02:33:50 +00:00
UseMod4Light := 1 ; Aktivierter Mod4 Lock wird <20> ber die Rollen-LED des Keybord angezeigt (analog zu CapsLock)
2008-06-18 23:26:43 +00:00
Process , Priority , , High
2008-06-22 01:27:36 +00:00
/* * * * * * * * * * * * * * * * * * * * * * * * *
Recourcen - Verwaltung *
* * * * * * * * * * * * * * * * * * * * * * * * * *
* /
; Versuche zuerst, eventuell in die EXE eingebundenen Dateien zu extrahieren
FileInstall , neo . ico , neo . ico , 1
FileInstall , neo_disabled . ico , neo_disabled . ico , 1
if ( bildschirmTastaturEinbinden == 1 ) {
FileInstall , ebene1 . png , ebene1 . png , 1
FileInstall , ebene2 . png , ebene2 . png , 1
FileInstall , ebene3 . png , ebene3 . png , 1
FileInstall , ebene4 . png , ebene4 . png , 1
FileInstall , ebene5 . png , ebene5 . png , 1
FileInstall , ebene6 . png , ebene6 . png , 1
}
; Benutze die Dateien (soweit sie vorhanden sind)
2008-06-16 17:29:58 +00:00
if ( FileExist ( " ebene1.png " ) & & FileExist ( " ebene2.png " ) & & FileExist ( " ebene3.png " ) & & FileExist ( " ebene4.png " ) & & FileExist ( " ebene5.png " ) & & FileExist ( " ebene6.png " ) )
zeigeBildschirmTastatur = 1
if ( FileExist ( " neo.ico " ) & & FileExist ( " neo_disabled.ico " ) )
2008-06-14 21:24:20 +00:00
iconBenutzen = 1
2008-06-14 20:31:51 +00:00
2008-06-21 19:27:39 +00:00
/* * * * * * * * * * * * * * * * * * * * * * * * *
lernModus Konfiguration *
nur relevant wenn *
lernModus = 1 *
2008-06-24 12:12:18 +00:00
Strg + Komma schaltet um *
2008-06-21 19:27:39 +00:00
* * * * * * * * * * * * * * * * * * * * * * * * * *
* /
; 0 = aus, 1 = an
; die Nachfolgenden sind n<> tzlich um sich die Qwertz-Tasten abzugew<65> hnen, da alle auf der 4. Ebene vorhanden.
lernModus_std_Return = 0
lernModus_std_Backspace = 0
lernModus_std_PgUp = 0
lernModus_std_PgDn = 0
lernModus_std_Einf = 0
lernModus_std_Entf = 0
2008-06-22 00:21:54 +00:00
lernModus_std_Pos0 = 0
2008-06-21 19:27:39 +00:00
lernModus_std_Ende = 0
lernModus_std_Hoch = 0
lernModus_std_Runter = 0
lernModus_std_Links = 0
lernModus_std_Rechts = 0
lernModus_std_ZahlenReihe = 0
; im folgenden kann man auch noch ein paar Tasten der 4. Ebene deaktivieren
; n<> tzlich um sich zu zwingen, richtig zu schreiben
lernModus_neo_Backspace = 0
lernModus_neo_Entf = 1
2008-06-14 21:24:20 +00:00
2008-06-14 11:43:05 +00:00
2008-05-06 11:41:19 +00:00
; aus Noras script kopiert:
#usehook on
#singleinstance force
#LTrim
; Quelltext kann einger<65> ckt werden,
; msgbox ist trotzdem linksb<73> ndig
SetTitleMatchMode 2
2008-06-08 13:58:50 +00:00
SendMode Input
2008-05-06 11:41:19 +00:00
name = Neo 2.0
enable = Aktiviere %name%
disable = Deaktiviere %name%
; <20> berpr<70> fung auf deutsches Tastaturlayout
; ----------------------------------------
regread , inputlocale , HKEY_CURRENT_USER , Keyboard Layout \Preload , 1
regread , inputlocalealias , HKEY_CURRENT_USER
, Keyboard Layout \Substitutes , %inputlocale%
if inputlocalealias < >
inputlocale = %inputlocalealias%
if inputlocale < > 00000407
{
suspend
regread , inputlocale , HKEY_LOCAL_MACHINE
, SYSTEM \CurrentControlSet \Control \Keyboard Layouts \%inputlocale%
, Layout Text
msgbox , 48 , Warnung ! ,
(
Nicht kompatibles Tastaturlayout :
`t %inputlocale%
`n Das deutsche QWERTZ muss als Standardlayout eingestellt
sein , damit %name% wie erwartet funktioniert .
`n <EFBFBD> ndern Sie die Tastatureinstellung unter
`t Systemsteuerung
`t - > Regions - und Sprachoptionen
`t - > Sprachen
`t - > Details . . . `n
)
exitapp
}
; Men<65> des Systray-Icons
; ----------------------
2008-06-14 20:31:51 +00:00
if ( iconBenutzen )
menu , tray , icon , neo . ico , , 1
2008-05-06 11:41:19 +00:00
menu , tray , nostandard
menu , tray , add , <EFBFBD> ffnen , open
menu , helpmenu , add , About , about
menu , helpmenu , add , Autohotkey - Hilfe , help
menu , helpmenu , add
menu , helpmenu , add , http : / / & autohotkey . com / , autohotkey
menu , helpmenu , add , http : / / www . neo - layout . org / , neo
2008-06-10 20:35:23 +00:00
menu , tray , add , Hilfe , : helpmenu
2008-05-06 11:41:19 +00:00
menu , tray , add
menu , tray , add , %disable% , togglesuspend
menu , tray , default , %disable%
menu , tray , add
menu , tray , add , Edit , edit
menu , tray , add , Reload , reload
menu , tray , add
menu , tray , add , Nicht im Systray anzeigen , hide
menu , tray , add , %name% beenden , exitprogram
menu , tray , tip , %name%
/*
Variablen initialisieren
* /
Ebene = 1
PriorDeadKey := " "
2008-06-18 23:26:43 +00:00
/*
EinHandNeo
* /
spacepressed := 0
keypressed: = 0
; Reihe 1
gespiegelt_7 = neo_6
gespiegelt_8 = neo_5
gespiegelt_9 = neo_4
gespiegelt_0 = neo_3
gespiegelt_strich = neo_2
gespiegelt_tot2 = neo_1
; Reihe 2
gespiegelt_k = neo_w
gespiegelt_h = neo_c
gespiegelt_g = neo_l
gespiegelt_f = neo_v
gespiegelt_q = neo_x
gespiegelt_sz = neo_tab
gespiegelt_tot3 = neo_tot1
; Reihe 3
gespiegelt_s = neo_o
gespiegelt_n = neo_e
gespiegelt_r = neo_a
gespiegelt_t = neo_i
gespiegelt_d = neo_u
; Reihe 4
gespiegelt_b = neo_z
gespiegelt_m = neo_p
gespiegelt_komma = neo_ <EFBFBD>
gespiegelt_punkt = neo_ <EFBFBD>
gespiegelt_j = neo_ <EFBFBD>
2008-05-06 11:41:19 +00:00
/*
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Modifier
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
* /
2008-06-10 20:35:23 +00:00
; CapsLock durch Umschalt+Umschalt
2008-06-14 20:31:51 +00:00
;*CapsLock::return ; Nichts machen beim Capslock release event (weil es Mod3 ist)
2008-06-11 17:08:16 +00:00
2008-06-25 02:33:50 +00:00
* # : : return ; Nichts machen beim # release event (weil es Mod3 ist) ; # = SC02B
2008-06-10 20:35:23 +00:00
;RShift wenn vorher LShift gedr<64> ckt wurde
LShift & ~ RShift : :
if GetKeyState ( " CapsLock " , " T " )
{
setcapslockstate , off
}
else
{
setcapslockstate , on
}
return
;LShift wenn vorher RShift gedr<64> ckt wurde
RShift & ~ LShift : :
2008-05-06 11:41:19 +00:00
if GetKeyState ( " CapsLock " , " T " )
{
setcapslockstate , off
}
else
{
setcapslockstate , on
}
return
2008-06-14 11:43:05 +00:00
; Mod4-Lock durch Mod4+Mod4
IsMod4Locked := 0
< & * SC138 : :
if ( IsMod4Locked )
{
2008-06-22 01:10:47 +00:00
; MsgBox Mod4-Feststellung aufgebehoben
2008-06-14 11:43:05 +00:00
IsMod4Locked = 0
2008-06-24 12:12:18 +00:00
if ( UseMod4Light == 1 ) {
KeyboardLED ( 1 , " off " )
}
2008-06-14 11:43:05 +00:00
}
else
{
2008-06-24 12:12:18 +00:00
; MsgBox Mod4 festgestellt: Um Mod4 wieder zu l<> sen dr<64> cke beide Mod4 Tasten gleichzeitig
2008-06-14 11:43:05 +00:00
IsMod4Locked = 1
2008-06-24 12:12:18 +00:00
if ( UseMod4Light == 1 ) {
KeyboardLED ( 1 , " on " )
}
2008-06-14 11:43:05 +00:00
}
return
2008-06-19 09:24:55 +00:00
* SC138 : :
altGrPressed := 1
return ; Damit AltGr nicht extra etwas schickt und als stiller Modifier geht.
* SC138 up : :
altGrPressed := 0
return
2008-06-14 12:48:46 +00:00
2008-06-22 01:10:47 +00:00
/* ; das folgende wird seltsamerweise nicht gebraucht :) oder f<> hrt zum AltGr Bug; Umschalt+<2B> (Mod4) Zeigt <20>
2008-06-14 11:43:05 +00:00
SC138 & * < : :
if ( IsMod4Locked )
{
MsgBox Mod4 - Feststellung aufgebehoben
IsMod4Locked = 0
}
else
{
MsgBox Mod4 festgestellt : Um Mod4 wieder zu l <EFBFBD> sen dr <EFBFBD> cke beide Mod4 Tasten gleichzeitig
IsMod4Locked = 1
}
return
2008-06-14 20:31:51 +00:00
* /
; Mod3-Lock durch Mod3+Mod3
IsMod3Locked := 0
2008-06-25 02:33:50 +00:00
SC02B & * Capslock : : ; #
2008-06-14 20:31:51 +00:00
if ( IsMod3Locked )
{
MsgBox Mod3 - Feststellung aufgebehoben
IsMod3Locked = 0
}
else
{
MsgBox Mod3 festgestellt : Um Mod3 wieder zu l <EFBFBD> sen dr <EFBFBD> cke beide Mod3 Tasten gleichzeitig
IsMod3Locked = 1
}
return
2008-06-24 12:12:18 +00:00
2008-06-14 20:31:51 +00:00
* Capslock : : return
2008-06-24 12:12:18 +00:00
;Capslock::MsgBox hallo
2008-06-14 20:31:51 +00:00
/*
2008-06-25 02:33:50 +00:00
Capslock & * :
2008-06-14 20:31:51 +00:00
if ( IsMod3Locked )
{
MsgBox Mod3 - Feststellung aufgebehoben
IsMod3Locked = 0
}
else
{
MsgBox Mod3 festgestellt : Um Mod3 wieder zu l <EFBFBD> sen dr <EFBFBD> cke beide Mod3 Tasten gleichzeitig
IsMod3Locked = 1
}
return
2008-06-14 11:43:05 +00:00
* /
/*
; Wird nicht mehr gebraucht weil jetzt auf b (bzw. *n::)
2008-05-06 11:41:19 +00:00
; KP_Decimal durch Mod4+Mod4
* < : :
* SC138 : :
if GetKeyState ( " < " , " P " ) and GetKeyState ( " SC138 " , " P " )
{
send { numpaddot }
}
2008-06-14 11:43:05 +00:00
return
* /
2008-06-18 23:26:43 +00:00
/*
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
QWERTZ - > Neo umwandlung
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
* /
; Reihe 1
2008-06-25 02:33:50 +00:00
* SC029 : : goto neo_tot1 ; Zirkumflex ^
2008-06-18 23:26:43 +00:00
* 1 : : goto neo_1
* 2 : : goto neo_2
* 3 : : goto neo_3
* 4 : : goto neo_4
* 5 : : goto neo_5
* 6 : : goto neo_6
* 7 : :
if ( not ( einHandNeo ) or not ( spacepressed ) )
goto neo_7
else
{
keypressed := 1
goto %gespiegelt_7%
}
return
* 8 : :
if ( not ( einHandNeo ) or not ( spacepressed ) )
goto neo_8
else
{
keypressed := 1
goto %gespiegelt_8%
}
return
* 9 : :
if ( not ( einHandNeo ) or not ( spacepressed ) )
goto neo_9
else
{
keypressed := 1
goto %gespiegelt_9%
}
return
* 0 : :
if ( not ( einHandNeo ) or not ( spacepressed ) )
goto neo_0
else
{
keypressed := 1
goto %gespiegelt_0%
}
return
2008-06-25 02:33:50 +00:00
* SC00C : : ; <20>
2008-06-19 09:24:55 +00:00
if ( not ( ahkTreiberKombi ) )
2008-06-18 23:26:43 +00:00
{
if ( not ( einHandNeo ) or not ( spacepressed ) )
goto neo_strich
else
{
keypressed := 1
goto %gespiegelt_strich%
}
}
else
{
goto neo_sz
}
2008-06-25 02:33:50 +00:00
* SC00D : : goto neo_tot2 ; Akkut
2008-06-18 23:26:43 +00:00
; Reihe 2
* Tab : : goto neo_tab
* q : :
2008-06-19 09:24:55 +00:00
if ( not ( ahkTreiberKombi ) )
2008-06-18 23:26:43 +00:00
{
goto neo_x
}
else
{
goto neo_q
}
* w : :
2008-06-19 09:24:55 +00:00
if ( not ( ahkTreiberKombi ) )
2008-06-18 23:26:43 +00:00
{
goto neo_v
}
else
{
goto neo_w
}
* e : :
2008-06-19 09:24:55 +00:00
if ( not ( ahkTreiberKombi ) )
2008-06-18 23:26:43 +00:00
{
goto neo_l
}
else
{
goto neo_e
}
* r : :
2008-06-19 09:24:55 +00:00
if ( not ( ahkTreiberKombi ) )
2008-06-18 23:26:43 +00:00
{
goto neo_c
}
else
{
goto neo_r
}
* t : :
2008-06-19 09:24:55 +00:00
if ( not ( ahkTreiberKombi ) )
2008-06-18 23:26:43 +00:00
{
goto neo_w
}
else
{
goto neo_t
}
2008-06-25 02:33:50 +00:00
* SC015 : : ; z
2008-06-19 09:24:55 +00:00
if ( not ( ahkTreiberKombi ) )
2008-06-18 23:26:43 +00:00
{
if ( not ( einHandNeo ) or not ( spacepressed ) )
goto neo_k
else
{
keypressed := 1
goto %gespiegelt_k%
}
}
else
{
goto neo_z
}
* u : :
2008-06-19 09:24:55 +00:00
if ( not ( ahkTreiberKombi ) )
2008-06-18 23:26:43 +00:00
{
if ( not ( einHandNeo ) or not ( spacepressed ) )
goto neo_h
else
{
keypressed := 1
goto %gespiegelt_h%
}
}
else
{
goto neo_u
}
* i : :
2008-06-19 09:24:55 +00:00
if ( not ( ahkTreiberKombi ) )
2008-06-18 23:26:43 +00:00
{
if ( not ( einHandNeo ) or not ( spacepressed ) )
goto neo_g
else
{
keypressed := 1
goto %gespiegelt_g%
}
}
else
{
goto neo_i
}
* o : :
2008-06-19 09:24:55 +00:00
if ( not ( ahkTreiberKombi ) )
2008-06-18 23:26:43 +00:00
{
if ( not ( einHandNeo ) or not ( spacepressed ) )
goto neo_f
else
{
keypressed := 1
goto %gespiegelt_f%
}
}
else
{
goto neo_o
}
* p : :
2008-06-19 09:24:55 +00:00
if ( not ( ahkTreiberKombi ) )
2008-06-18 23:26:43 +00:00
{
if ( not ( einHandNeo ) or not ( spacepressed ) )
goto neo_q
else
{
keypressed := 1
goto %gespiegelt_q%
}
}
else
{
goto neo_p
}
2008-06-25 02:33:50 +00:00
* SC01A : : ; <20>
2008-06-19 09:24:55 +00:00
if ( not ( ahkTreiberKombi ) )
2008-06-18 23:26:43 +00:00
{
if ( not ( einHandNeo ) or not ( spacepressed ) )
goto neo_sz
else
{
keypressed := 1
goto %gespiegelt_sz%
}
}
else
{
goto neo_ <EFBFBD>
}
2008-06-25 02:33:50 +00:00
* SC01B : : ; +
2008-06-19 09:24:55 +00:00
if ( not ( ahkTreiberKombi ) )
2008-06-18 23:26:43 +00:00
{
if ( not ( einHandNeo ) or not ( spacepressed ) )
goto neo_tot3
else
{
keypressed := 1
goto %gespiegelt_tot3%
}
}
else
{ } ; this should never happen
; Reihe 3
* a : :
2008-06-19 09:24:55 +00:00
if ( not ( ahkTreiberKombi ) )
2008-06-18 23:26:43 +00:00
{
goto neo_u
}
else
{
goto neo_a
}
* s : :
2008-06-19 09:24:55 +00:00
if ( not ( ahkTreiberKombi ) )
2008-06-18 23:26:43 +00:00
{
goto neo_i
}
else
{
goto neo_s
}
* d : : goto neo_a
2008-06-19 09:24:55 +00:00
if ( not ( ahkTreiberKombi ) )
2008-06-18 23:26:43 +00:00
{
goto neo_a
}
else
{
goto neo_d
}
* f : :
2008-06-19 09:24:55 +00:00
if ( not ( ahkTreiberKombi ) )
2008-06-18 23:26:43 +00:00
{
goto neo_e
}
else
{
goto neo_f
}
* g : :
2008-06-19 09:24:55 +00:00
if ( not ( ahkTreiberKombi ) )
2008-06-18 23:26:43 +00:00
{
goto neo_o
}
else
{
goto neo_g
}
* h : :
2008-06-19 09:24:55 +00:00
if ( not ( ahkTreiberKombi ) )
2008-06-18 23:26:43 +00:00
{
if ( not ( einHandNeo ) or not ( spacepressed ) )
goto neo_s
else
{
keypressed := 1
goto %gespiegelt_s%
}
}
else
{
goto neo_h
}
* j : :
2008-06-19 09:24:55 +00:00
if ( not ( ahkTreiberKombi ) )
2008-06-18 23:26:43 +00:00
{
if ( not ( einHandNeo ) or not ( spacepressed ) )
goto neo_n
else
{
keypressed := 1
goto %gespiegelt_n%
}
}
else
{
goto neo_j
}
* k : :
2008-06-19 09:24:55 +00:00
if ( not ( ahkTreiberKombi ) )
2008-06-18 23:26:43 +00:00
{
if ( not ( einHandNeo ) or not ( spacepressed ) )
goto neo_r
else
{
keypressed := 1
goto %gespiegelt_r%
}
}
else
{
goto neo_k
}
* l : :
2008-06-19 09:24:55 +00:00
if ( not ( ahkTreiberKombi ) )
2008-06-18 23:26:43 +00:00
{
if ( not ( einHandNeo ) or not ( spacepressed ) )
goto neo_t
else
{
keypressed := 1
goto %gespiegelt_t%
}
}
else
{
goto neo_l
}
2008-06-25 02:33:50 +00:00
* SC027 : : ; <20>
2008-06-19 09:24:55 +00:00
if ( not ( ahkTreiberKombi ) )
2008-06-18 23:26:43 +00:00
{
if ( not ( einHandNeo ) or not ( spacepressed ) )
goto neo_d
else
{
keypressed := 1
goto %gespiegelt_d%
}
}
else
{
goto neo_ <EFBFBD>
}
2008-06-25 02:33:50 +00:00
* SC028 : : ; <20>
2008-06-19 09:24:55 +00:00
if ( not ( ahkTreiberKombi ) )
2008-06-18 23:26:43 +00:00
{
goto neo_y
}
else
{
goto neo_ <EFBFBD>
}
; Reihe 4
2008-06-25 02:33:50 +00:00
* SC02C : : ; y
2008-06-19 09:24:55 +00:00
if ( not ( ahkTreiberKombi ) )
2008-06-18 23:26:43 +00:00
{
goto neo_ <EFBFBD>
}
else
{
goto neo_y
}
* x : :
2008-06-19 09:24:55 +00:00
if ( not ( ahkTreiberKombi ) )
2008-06-18 23:26:43 +00:00
{
goto neo_ <EFBFBD>
}
else
{
goto neo_x
}
* c : :
2008-06-19 09:24:55 +00:00
if ( not ( ahkTreiberKombi ) )
2008-06-18 23:26:43 +00:00
{
goto neo_ <EFBFBD>
}
else
{
goto neo_c
}
* v : :
2008-06-19 09:24:55 +00:00
if ( not ( ahkTreiberKombi ) )
2008-06-18 23:26:43 +00:00
{
goto neo_p
}
else
{
goto neo_v
}
* b : :
2008-06-19 09:24:55 +00:00
if ( not ( ahkTreiberKombi ) )
2008-06-18 23:26:43 +00:00
{
goto neo_z
}
else
{
goto neo_b
}
* n : :
2008-06-19 09:24:55 +00:00
if ( not ( ahkTreiberKombi ) )
2008-06-18 23:26:43 +00:00
{
if ( not ( einHandNeo ) or not ( spacepressed ) )
goto neo_b
else
{
keypressed := 1
goto %gespiegelt_b%
}
}
else
{
goto neo_n
}
* m : :
if ( not ( einHandNeo ) or not ( spacepressed ) )
goto neo_m
else
{
keypressed := 1
goto %gespiegelt_m%
}
return
2008-06-25 02:33:50 +00:00
* SC033 : : ; Komma ,
2008-06-18 23:26:43 +00:00
if ( not ( einHandNeo ) or not ( spacepressed ) )
goto neo_komma
else
{
keypressed := 1
goto %gespiegelt_komma%
}
return
2008-06-25 02:33:50 +00:00
* SC034 : : ; Punkt .
2008-06-18 23:26:43 +00:00
if ( not ( einHandNeo ) or not ( spacepressed ) )
goto neo_punkt
else
{
keypressed := 1
goto %gespiegelt_punkt%
}
return
2008-06-25 02:33:50 +00:00
* SC035 : : ; Minus -
2008-06-19 09:24:55 +00:00
if ( not ( ahkTreiberKombi ) )
2008-06-18 23:26:43 +00:00
{
if ( not ( einHandNeo ) or not ( spacepressed ) )
goto neo_j
else
{
keypressed := 1
goto %gespiegelt_j%
}
}
else
{
goto neo_strich
}
; Numpad
* NumpadDiv : : goto neo_NumpadDiv
* NumpadMult : : goto neo_NumpadMult
* NumpadSub : : goto neo_NumpadSub
* NumpadAdd : : goto neo_NumpadAdd
* NumpadEnter : : goto neo_NumpadEnter
* Numpad7 : : goto neo_Numpad7
* Numpad8 : : goto neo_Numpad8
* Numpad9 : : goto neo_Numpad9
* Numpad4 : : goto neo_Numpad4
* Numpad5 : : goto neo_Numpad5
* Numpad6 : : goto neo_Numpad6
* Numpad1 : : goto neo_Numpad1
* Numpad2 : : goto neo_Numpad2
* Numpad3 : : goto neo_Numpad3
* Numpad0 : : goto neo_Numpad0
* NumpadDot : : goto neo_NumpadDot
* NumpadHome : : goto neo_NumpadHome
* NumpadUp : : goto neo_NumpadUp
* NumpadPgUp : : goto neo_NumpadPgUp
* NumpadLeft : : goto neo_NumpadLeft
* NumpadClear : : goto neo_NumpadClear
* NumpadRight : : goto neo_NumpadRight
* NumpadEnd : : goto neo_NumpadEnd
* NumpadDown : : goto neo_NumpadDown
* NumpadPgDn : : goto neo_NumpadPgDn
* NumpadIns : : goto neo_NumpadIns
* NumpadDel : : goto neo_NumpadDel
2008-05-06 11:41:19 +00:00
/*
Ablauf bei toten Tasten :
1. Ebene Aktualisieren
2. Abh <EFBFBD> ngig von der Variablen " Ebene " Zeichen ausgeben und die Variable " PriorDeadKey " setzen
Ablauf bei " lebenden " ( sagt man das ? ) Tasten :
1. Ebene Aktualisieren
2. Abh <EFBFBD> ngig von den Variablen " Ebene " und " PriorDeadKey " Zeichen ausgeben
3. " PriorDeadKey " mit leerem String <EFBFBD> berschreiben
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Reihe 1
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
* /
2008-06-18 23:26:43 +00:00
neo_tot1:
2008-05-06 11:41:19 +00:00
EbeneAktualisieren ( )
if Ebene = 1
{
SendUnicodeChar ( 0x02C6 ) ; circumflex, tot
PriorDeadKey := " c1 "
}
else if Ebene = 2
{
SendUnicodeChar ( 0x02C7 ) ; caron, tot
PriorDeadKey := " c2 "
}
else if Ebene = 3
{
SendUnicodeChar ( 0x02D8 ) ; brevis
PriorDeadKey := " c3 "
}
else if Ebene = 4
{
2008-06-14 11:43:05 +00:00
SendUnicodeChar ( 0x00B7 ) ; Mittenpunkt, tot
PriorDeadKey := " c5 "
2008-05-06 11:41:19 +00:00
}
else if Ebene = 5
{
2008-06-14 11:43:05 +00:00
send - ; querstrich, tot
PriorDeadKey := " c4 "
2008-05-06 11:41:19 +00:00
}
else if Ebene = 6
{
Send . ; punkt darunter (colon)
PriorDeadKey := " c6 "
}
return
2008-06-18 23:26:43 +00:00
neo_1:
2008-05-06 11:41:19 +00:00
EbeneAktualisieren ( )
if Ebene = 1
{
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " c1 " ) ; circumflex 1
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x00B9 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " c4 " ) ; toter -
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x2081 )
2008-06-14 11:43:05 +00:00
else if ( CompKey = " r_small_1 " )
2008-05-06 11:41:19 +00:00
Comp3UnicodeChar ( 0x217A ) ; r<> misch xi
2008-06-14 11:43:05 +00:00
else if ( CompKey = " r_capital_1 " )
2008-05-06 11:41:19 +00:00
Comp3UnicodeChar ( 0x216A ) ; r<> misch XI
2008-06-14 11:43:05 +00:00
else
2008-06-11 17:08:16 +00:00
{
2008-06-14 11:43:05 +00:00
if GetKeyState ( " CapsLock " , " T " )
2008-06-11 17:08:16 +00:00
{
2008-06-14 11:43:05 +00:00
if ( IsModifierPressed ( ) )
2008-06-11 17:08:16 +00:00
{
send { blind } 1
}
2008-06-14 11:43:05 +00:00
else
2008-06-11 17:08:16 +00:00
{
send 1
2008-06-14 11:43:05 +00:00
}
2008-06-11 17:08:16 +00:00
}
2008-06-14 11:43:05 +00:00
else {
2008-06-22 00:21:54 +00:00
if ( not ( lernModus ) or ( lernModus_std_ZahlenReihe ) )
2008-06-21 19:27:39 +00:00
{
send { blind } 1
}
2008-06-11 17:08:16 +00:00
}
}
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " comp " )
2008-05-06 11:41:19 +00:00
CompKey := " 1 "
2008-06-14 11:43:05 +00:00
else if ( CompKey = " r_small " )
2008-05-06 11:41:19 +00:00
CompKey := " r_small_1 "
2008-06-14 11:43:05 +00:00
else if ( CompKey = " r_capital " )
2008-05-06 11:41:19 +00:00
CompKey := " r_capital_1 "
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
CompKey := " "
}
else if Ebene = 2
{
send <EFBFBD>
CompKey := " "
}
2008-06-14 11:43:05 +00:00
else if Ebene = 3
{
SendUnicodeChar ( 0x00B9 ) ; 2 Hochgestellte
CompKey := " "
}
2008-05-06 11:41:19 +00:00
else if Ebene = 4
{
2008-06-14 11:43:05 +00:00
SendUnicodeChar ( 0x2022 ) ; bullet
2008-05-06 11:41:19 +00:00
CompKey := " "
}
else if Ebene = 5
{
2008-06-14 11:43:05 +00:00
SendUnicodeChar ( 0x2640 ) ; Piktogramm weiblich
CompKey := " "
}
else if Ebene = 6
{
SendUnicodeChar ( 0x00AC ) ; Nicht-Symbol
2008-05-06 11:41:19 +00:00
CompKey := " "
}
PriorDeadKey := " "
return
2008-06-18 23:26:43 +00:00
neo_2:
2008-05-06 11:41:19 +00:00
EbeneAktualisieren ( )
if Ebene = 1
{
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " c1 " ) ; circumflex
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x00B2 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " c4 " ) ; toter -
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x2082 )
2008-06-14 11:43:05 +00:00
else if ( CompKey = " r_small " )
2008-05-06 11:41:19 +00:00
CompUnicodeChar ( 0x2171 ) ; r<> misch ii
2008-06-14 11:43:05 +00:00
else if ( CompKey = " r_capital " )
2008-05-06 11:41:19 +00:00
CompUnicodeChar ( 0x2161 ) ; r<> misch II
2008-06-14 11:43:05 +00:00
else if ( CompKey = " r_small_1 " )
2008-05-06 11:41:19 +00:00
Comp3UnicodeChar ( 0x217B ) ; r<> misch xii
2008-06-14 11:43:05 +00:00
else if ( CompKey = " r_capital_1 " )
2008-05-06 11:41:19 +00:00
Comp3UnicodeChar ( 0x216B ) ; r<> misch XII
2008-06-14 11:43:05 +00:00
else
2008-06-11 17:08:16 +00:00
{
2008-06-14 11:43:05 +00:00
if GetKeyState ( " CapsLock " , " T " )
2008-06-11 17:08:16 +00:00
{
2008-06-14 11:43:05 +00:00
if ( IsModifierPressed ( ) )
2008-06-11 17:08:16 +00:00
{
send { blind } 2
}
2008-06-14 11:43:05 +00:00
else
2008-06-11 17:08:16 +00:00
{
send 2
}
}
2008-06-14 11:43:05 +00:00
else {
2008-06-22 00:21:54 +00:00
if ( not ( lernModus ) or ( lernModus_std_ZahlenReihe ) )
2008-06-21 19:27:39 +00:00
{
send { blind } 2
}
2008-06-11 17:08:16 +00:00
}
}
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " comp " )
2008-05-06 11:41:19 +00:00
CompKey := " 2 "
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
CompKey := " "
}
else if Ebene = 2
{
SendUnicodeChar ( 0x2116 ) ; numero
CompKey := " "
}
2008-06-14 11:43:05 +00:00
else if Ebene = 3
{
SendUnicodeChar ( 0x00B2 ) ; 2 Hochgestellte
CompKey := " "
}
2008-05-06 11:41:19 +00:00
else if Ebene = 4
{
2008-06-14 11:43:05 +00:00
SendUnicodeChar ( 0x2023 ) ; aufzaehlungspfeil
2008-05-06 11:41:19 +00:00
CompKey := " "
}
else if Ebene = 5
{
2008-06-14 11:43:05 +00:00
SendUnicodeChar ( 0x26A5 ) ; Piktogramm Zwitter
CompKey := " "
}
else if Ebene = 6
{
SendUnicodeChar ( 0x2228 ) ; Logisches Oder
2008-05-06 11:41:19 +00:00
CompKey := " "
}
PriorDeadKey := " "
return
2008-06-18 23:26:43 +00:00
neo_3:
2008-05-06 11:41:19 +00:00
EbeneAktualisieren ( )
if Ebene = 1
{
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " c1 " ) ; circumflex
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x00B3 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " c4 " ) ; toter -
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x2083 )
2008-06-14 11:43:05 +00:00
else if ( CompKey = " 1 " )
2008-05-06 11:41:19 +00:00
CompUnicodeChar ( 0x2153 ) ; 1/3
2008-06-14 11:43:05 +00:00
else if ( CompKey = " 2 " )
2008-05-06 11:41:19 +00:00
CompUnicodeChar ( 0x2154 ) ; 2/3
2008-06-14 11:43:05 +00:00
else if ( CompKey = " r_small " )
2008-05-06 11:41:19 +00:00
CompUnicodeChar ( 0x2172 ) ; r<> misch iii
2008-06-14 11:43:05 +00:00
else if ( CompKey = " r_capital " )
2008-05-06 11:41:19 +00:00
CompUnicodeChar ( 0x2162 ) ; r<> misch III
2008-06-14 11:43:05 +00:00
else
2008-06-11 17:08:16 +00:00
{
2008-06-14 11:43:05 +00:00
if GetKeyState ( " CapsLock " , " T " )
2008-06-11 17:08:16 +00:00
{
2008-06-14 11:43:05 +00:00
if ( IsModifierPressed ( ) )
2008-06-11 17:08:16 +00:00
{
send { blind } 3
}
2008-06-14 11:43:05 +00:00
else
2008-06-11 17:08:16 +00:00
{
2008-06-21 19:27:39 +00:00
send 3
}
2008-06-11 17:08:16 +00:00
}
2008-06-14 11:43:05 +00:00
else {
2008-06-22 00:21:54 +00:00
if ( not ( lernModus ) or ( lernModus_std_ZahlenReihe ) )
2008-06-21 19:27:39 +00:00
{
send { blind } 3
}
2008-06-11 17:08:16 +00:00
}
}
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " comp " )
2008-05-06 11:41:19 +00:00
CompKey := " 3 "
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
CompKey := " "
}
else if Ebene = 2
{
send <EFBFBD>
CompKey := " "
}
2008-06-14 11:43:05 +00:00
else if Ebene = 3
{
SendUnicodeChar ( 0x00B3 ) ; 3 Hochgestellte
CompKey := " "
}
2008-05-06 11:41:19 +00:00
else if Ebene = 4
2008-06-14 11:43:05 +00:00
{ } ; leer
else if Ebene = 5
2008-05-06 11:41:19 +00:00
{
2008-06-14 11:43:05 +00:00
SendUnicodeChar ( 0x2642 ) ; Piktogramm Mann
2008-05-06 11:41:19 +00:00
CompKey := " "
}
2008-06-14 11:43:05 +00:00
else if Ebene = 6
{
SendUnicodeChar ( 0x2227 ) ; Logisches Und
CompKey := " "
}
2008-05-06 11:41:19 +00:00
PriorDeadKey := " "
return
2008-06-18 23:26:43 +00:00
neo_4:
2008-05-06 11:41:19 +00:00
EbeneAktualisieren ( )
if Ebene = 1
{
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " c1 " ) ; circumflex
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x2074 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " c4 " ) ; toter -
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x2084 )
2008-06-14 11:43:05 +00:00
else if ( CompKey = " r_small " )
2008-05-06 11:41:19 +00:00
CompUnicodeChar ( 0x2173 ) ; r<> misch iv
2008-06-14 11:43:05 +00:00
else if ( CompKey = " r_capital " )
2008-05-06 11:41:19 +00:00
CompUnicodeChar ( 0x2163 ) ; r<> misch IV
2008-06-14 11:43:05 +00:00
else
2008-06-11 17:08:16 +00:00
{
2008-06-14 11:43:05 +00:00
if GetKeyState ( " CapsLock " , " T " )
2008-06-11 17:08:16 +00:00
{
2008-06-14 11:43:05 +00:00
if ( IsModifierPressed ( ) )
2008-06-11 17:08:16 +00:00
{
send { blind } 4
}
2008-06-14 11:43:05 +00:00
else
2008-06-11 17:08:16 +00:00
{
send 4
}
}
2008-06-21 19:27:39 +00:00
else
{
2008-06-22 00:21:54 +00:00
if ( not ( lernModus ) or ( lernModus_std_ZahlenReihe ) )
2008-06-21 19:27:39 +00:00
{
send { blind } 4
}
2008-06-11 17:08:16 +00:00
}
}
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " comp " )
2008-05-06 11:41:19 +00:00
CompKey := " 4 "
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
CompKey := " "
}
else if Ebene = 2
{
send <EFBFBD>
CompKey := " "
}
2008-06-14 11:43:05 +00:00
else if Ebene = 3
2008-05-06 11:41:19 +00:00
{
send <EFBFBD>
CompKey := " "
}
2008-06-14 11:43:05 +00:00
else if Ebene = 4
2008-05-06 11:41:19 +00:00
{
Send { PgUp } ; Prev
CompKey := " "
}
2008-06-14 11:43:05 +00:00
else if Ebene = 5
2008-05-06 11:41:19 +00:00
{
2008-06-14 11:43:05 +00:00
SendUnicodeChar ( 0x2113 ) ; Script small L
2008-05-06 11:41:19 +00:00
CompKey := " "
}
2008-06-14 11:43:05 +00:00
else if Ebene = 6
{
SendUnicodeChar ( 0x22A5 ) ; Senkrecht
CompKey := " "
}
2008-05-06 11:41:19 +00:00
PriorDeadKey := " "
return
2008-06-18 23:26:43 +00:00
neo_5:
2008-05-06 11:41:19 +00:00
EbeneAktualisieren ( )
if Ebene = 1
{
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " c1 " ) ; circumflex
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x2075 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " c4 " ) ; toter -
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x2085 )
2008-06-14 11:43:05 +00:00
else if ( CompKey = " 1 " )
2008-05-06 11:41:19 +00:00
CompUnicodeChar ( 0x2155 ) ; 1/5
2008-06-14 11:43:05 +00:00
else if ( CompKey = " 2 " )
2008-05-06 11:41:19 +00:00
CompUnicodeChar ( 0x2156 ) ; 2/5
2008-06-14 11:43:05 +00:00
else if ( CompKey = " 3 " )
2008-05-06 11:41:19 +00:00
CompUnicodeChar ( 0x2157 ) ; 3/5
2008-06-14 11:43:05 +00:00
else if ( CompKey = " 4 " )
2008-05-06 11:41:19 +00:00
CompUnicodeChar ( 0x2158 ) ; 4/5
2008-06-14 11:43:05 +00:00
else if ( CompKey = " r_small " )
2008-05-06 11:41:19 +00:00
CompUnicodeChar ( 0x2174 ) ; r<> misch v
2008-06-14 11:43:05 +00:00
else if ( CompKey = " r_capital " )
2008-05-06 11:41:19 +00:00
CompUnicodeChar ( 0x2164 ) ; r<> misch V
2008-06-14 11:43:05 +00:00
else
2008-06-11 17:08:16 +00:00
{
2008-06-14 11:43:05 +00:00
if GetKeyState ( " CapsLock " , " T " )
2008-06-11 17:08:16 +00:00
{
2008-06-14 11:43:05 +00:00
if ( IsModifierPressed ( ) )
2008-06-11 17:08:16 +00:00
{
send { blind } 5
}
2008-06-14 11:43:05 +00:00
else
2008-06-11 17:08:16 +00:00
{
send 5
}
}
2008-06-14 11:43:05 +00:00
else {
2008-06-22 00:21:54 +00:00
if ( not ( lernModus ) or ( lernModus_std_ZahlenReihe ) )
2008-06-21 19:27:39 +00:00
{
send { blind } 5
}
2008-06-11 17:08:16 +00:00
}
}
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " comp " )
2008-05-06 11:41:19 +00:00
CompKey := " 5 "
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
CompKey := " "
}
else if Ebene = 2
{
send <EFBFBD>
CompKey := " "
}
else if Ebene = 3
{
send <EFBFBD>
CompKey := " "
}
2008-06-14 11:43:05 +00:00
else if Ebene = 4
{ } ; leer
else if Ebene = 5
2008-05-06 11:41:19 +00:00
{
2008-06-14 11:43:05 +00:00
SendUnicodeChar ( 0x2020 ) ; Kreuz (Dagger)
2008-05-06 11:41:19 +00:00
CompKey := " "
}
2008-06-14 11:43:05 +00:00
else if Ebene = 6
{
SendUnicodeChar ( 0x2221 ) ; Winkel
CompKey := " "
}
2008-05-06 11:41:19 +00:00
PriorDeadKey := " "
return
2008-06-18 23:26:43 +00:00
neo_6:
2008-05-06 11:41:19 +00:00
EbeneAktualisieren ( )
if Ebene = 1
{
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " c1 " ) ; circumflex
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x2076 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " c4 " ) ; toter -
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x2086 )
2008-06-14 11:43:05 +00:00
else if ( CompKey = " 1 " )
2008-05-06 11:41:19 +00:00
CompUnicodeChar ( 0x2159 ) ; 1/6
2008-06-14 11:43:05 +00:00
else if ( CompKey = " 5 " )
2008-05-06 11:41:19 +00:00
CompUnicodeChar ( 0x215A ) ; 5/6
2008-06-14 11:43:05 +00:00
else if ( CompKey = " r_small " )
2008-05-06 11:41:19 +00:00
CompUnicodeChar ( 0x2175 ) ; r<> misch vi
2008-06-14 11:43:05 +00:00
else if ( CompKey = " r_capital " )
2008-05-06 11:41:19 +00:00
CompUnicodeChar ( 0x2165 ) ; r<> misch VI
2008-06-14 11:43:05 +00:00
else
2008-06-11 17:08:16 +00:00
{
2008-06-14 11:43:05 +00:00
if GetKeyState ( " CapsLock " , " T " )
2008-06-11 17:08:16 +00:00
{
2008-06-14 11:43:05 +00:00
if ( IsModifierPressed ( ) )
2008-06-11 17:08:16 +00:00
{
send { blind } 6
}
2008-06-14 11:43:05 +00:00
else
2008-06-11 17:08:16 +00:00
{
send 6
}
}
2008-06-14 11:43:05 +00:00
else {
2008-06-22 00:21:54 +00:00
if ( not ( lernModus ) or ( lernModus_std_ZahlenReihe ) )
2008-06-21 19:27:39 +00:00
{
send { blind } 6
}
2008-06-11 17:08:16 +00:00
}
}
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " comp " )
2008-05-06 11:41:19 +00:00
CompKey := " 6 "
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
CompKey := " "
}
else if Ebene = 2
{
send <EFBFBD>
CompKey := " "
}
else if Ebene = 3
{
2008-06-14 11:43:05 +00:00
send <EFBFBD>
2008-05-06 11:41:19 +00:00
CompKey := " "
}
else if Ebene = 4
{
2008-06-14 11:43:05 +00:00
send <EFBFBD>
2008-05-06 11:41:19 +00:00
CompKey := " "
}
2008-06-14 11:43:05 +00:00
else if Ebene = 5
{ } ; leer
2008-05-06 11:41:19 +00:00
else if Ebene = 6
{
2008-06-14 11:43:05 +00:00
SendUnicodeChar ( 0x2225 ) ; parallel
2008-05-06 11:41:19 +00:00
CompKey := " "
}
PriorDeadKey := " "
return
2008-06-18 23:26:43 +00:00
neo_7:
2008-05-06 11:41:19 +00:00
EbeneAktualisieren ( )
if Ebene = 1
{
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " c1 " ) ; circumflex
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x2077 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " c4 " ) ; toter -
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x2087 )
2008-06-14 11:43:05 +00:00
else if ( CompKey = " r_small " )
2008-05-06 11:41:19 +00:00
CompUnicodeChar ( 0x2176 ) ; r<> misch vii
2008-06-14 11:43:05 +00:00
else if ( CompKey = " r_capital " )
2008-05-06 11:41:19 +00:00
CompUnicodeChar ( 0x2166 ) ; r<> misch VII
2008-06-14 11:43:05 +00:00
else
2008-06-11 17:08:16 +00:00
{
2008-06-14 11:43:05 +00:00
if GetKeyState ( " CapsLock " , " T " )
2008-06-11 17:08:16 +00:00
{
2008-06-14 11:43:05 +00:00
if ( IsModifierPressed ( ) )
2008-06-11 17:08:16 +00:00
{
send { blind } 7
}
2008-06-14 11:43:05 +00:00
else
2008-06-11 17:08:16 +00:00
{
send 7
}
}
2008-06-14 11:43:05 +00:00
else {
2008-06-22 00:21:54 +00:00
if ( not ( lernModus ) or ( lernModus_std_ZahlenReihe ) )
2008-06-21 19:27:39 +00:00
{
send { blind } 7
}
2008-06-11 17:08:16 +00:00
}
}
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " comp " )
2008-05-06 11:41:19 +00:00
CompKey := " 7 "
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
CompKey := " "
}
else if Ebene = 2
{
send $
CompKey := " "
}
else if Ebene = 3
{
2008-06-14 11:43:05 +00:00
send <EFBFBD>
2008-05-06 11:41:19 +00:00
CompKey := " "
}
else if Ebene = 4
{
2008-06-14 11:43:05 +00:00
send <EFBFBD>
CompKey := " "
}
else if Ebene = 5
{
2008-06-21 16:18:44 +00:00
SendUnicodeChar ( 0x03BA ) ; greek small letter kappa
2008-06-14 11:43:05 +00:00
CompKey := " "
2008-05-06 11:41:19 +00:00
}
else if Ebene = 6
{
2008-06-14 11:43:05 +00:00
SendUnicodeChar ( 0x2209 ) ; nicht Element von
2008-05-06 11:41:19 +00:00
CompKey := " "
}
PriorDeadKey := " "
return
2008-06-18 23:26:43 +00:00
neo_8:
2008-05-06 11:41:19 +00:00
EbeneAktualisieren ( )
if Ebene = 1
{
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " c1 " ) ; circumflex
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x2078 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " c4 " ) ; toter -
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x2088 )
2008-06-14 11:43:05 +00:00
else if ( CompKey = " 1 " )
2008-05-06 11:41:19 +00:00
CompUnicodeChar ( 0x215B ) ; 1/8
2008-06-14 11:43:05 +00:00
else if ( CompKey = " 3 " )
2008-05-06 11:41:19 +00:00
CompUnicodeChar ( 0x215C ) ; 3/8
2008-06-14 11:43:05 +00:00
else if ( CompKey = " 5 " )
2008-05-06 11:41:19 +00:00
CompUnicodeChar ( 0x215D ) ; 5/8
2008-06-14 11:43:05 +00:00
else if ( CompKey = " 7 " )
2008-05-06 11:41:19 +00:00
CompUnicodeChar ( 0x215E ) ; 7/8
2008-06-14 11:43:05 +00:00
else if ( CompKey = " r_small " )
2008-05-06 11:41:19 +00:00
CompUnicodeChar ( 0x2177 ) ; r<> misch viii
2008-06-14 11:43:05 +00:00
else if ( CompKey = " r_capital " )
2008-05-06 11:41:19 +00:00
CompUnicodeChar ( 0x2167 ) ; r<> misch VIII
2008-06-14 11:43:05 +00:00
else
2008-06-11 17:08:16 +00:00
{
2008-06-14 11:43:05 +00:00
if GetKeyState ( " CapsLock " , " T " )
2008-06-11 17:08:16 +00:00
{
2008-06-14 11:43:05 +00:00
if ( IsModifierPressed ( ) )
2008-06-11 17:08:16 +00:00
{
send { blind } 8
}
2008-06-14 11:43:05 +00:00
else
2008-06-11 17:08:16 +00:00
{
send 8
}
}
2008-06-14 11:43:05 +00:00
else {
2008-06-22 00:21:54 +00:00
if ( not ( lernModus ) or ( lernModus_std_ZahlenReihe ) )
2008-06-21 19:27:39 +00:00
{
send { blind } 8
}
2008-06-11 17:08:16 +00:00
}
}
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " comp " )
2008-05-06 11:41:19 +00:00
CompKey := " 8 "
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
CompKey := " "
}
else if Ebene = 2
{
send <EFBFBD>
CompKey := " "
}
else if Ebene = 3
{
send <EFBFBD>
CompKey := " "
}
2008-06-14 11:43:05 +00:00
else if Ebene = 4
2008-05-06 11:41:19 +00:00
{
Send /
CompKey := " "
}
2008-06-14 11:43:05 +00:00
else if Ebene = 5
{ } ; leer
2008-05-06 11:41:19 +00:00
else if Ebene = 6
{
2008-06-14 11:43:05 +00:00
SendUnicodeChar ( 0x2204 ) ; es existiert nicht
2008-05-06 11:41:19 +00:00
CompKey := " "
}
PriorDeadKey := " "
return
2008-06-18 23:26:43 +00:00
neo_9:
2008-05-06 11:41:19 +00:00
EbeneAktualisieren ( )
if Ebene = 1
{
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " c1 " ) ; circumflex
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x2079 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " c4 " ) ; toter -
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x2089 )
2008-06-14 11:43:05 +00:00
else if ( CompKey = " r_small " )
2008-05-06 11:41:19 +00:00
CompUnicodeChar ( 0x2178 ) ; r<> misch ix
2008-06-14 11:43:05 +00:00
else if ( CompKey = " r_capital " )
2008-05-06 11:41:19 +00:00
CompUnicodeChar ( 0x2168 ) ; r<> misch IX
2008-06-14 11:43:05 +00:00
else
2008-06-11 17:08:16 +00:00
{
2008-06-14 11:43:05 +00:00
if GetKeyState ( " CapsLock " , " T " )
2008-06-11 17:08:16 +00:00
{
2008-06-14 11:43:05 +00:00
if ( IsModifierPressed ( ) )
2008-06-11 17:08:16 +00:00
{
send { blind } 9
}
2008-06-14 11:43:05 +00:00
else
2008-06-11 17:08:16 +00:00
{
send 9
}
}
2008-06-14 11:43:05 +00:00
else {
2008-06-22 00:21:54 +00:00
if ( not ( lernModus ) or ( lernModus_std_ZahlenReihe ) )
2008-06-21 19:27:39 +00:00
{
send { blind } 9
}
2008-06-11 17:08:16 +00:00
}
}
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " comp " )
2008-05-06 11:41:19 +00:00
CompKey := " 9 "
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
CompKey := " "
}
else if Ebene = 2
{
send <EFBFBD>
CompKey := " "
}
else if Ebene = 3
{
send <EFBFBD>
CompKey := " "
}
2008-06-14 11:43:05 +00:00
else if Ebene = 4
2008-05-06 11:41:19 +00:00
{
Send *
CompKey := " "
}
2008-06-14 11:43:05 +00:00
else if Ebene = 5
{ } ; leer
2008-05-06 11:41:19 +00:00
else if Ebene = 6
{
2008-06-14 11:43:05 +00:00
SendUnicodeChar ( 0x2226 ) ; nicht parallel
2008-05-06 11:41:19 +00:00
CompKey := " "
}
PriorDeadKey := " "
return
2008-06-18 23:26:43 +00:00
neo_0:
2008-05-06 11:41:19 +00:00
EbeneAktualisieren ( )
if Ebene = 1
{
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " c1 " ) ; circumflex
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x2070 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " c4 " ) ; toter -
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x2080 )
2008-06-14 11:43:05 +00:00
else if ( CompKey = " r_small_1 " )
2008-05-06 11:41:19 +00:00
Comp3UnicodeChar ( 0x2179 ) ; r<> misch x
2008-06-14 11:43:05 +00:00
else if ( CompKey = " r_capital_1 " )
2008-05-06 11:41:19 +00:00
Comp3UnicodeChar ( 0x2169 ) ; r<> misch X
2008-06-14 11:43:05 +00:00
else
2008-06-11 17:08:16 +00:00
{
2008-06-14 11:43:05 +00:00
if GetKeyState ( " CapsLock " , " T " )
2008-06-11 17:08:16 +00:00
{
2008-06-14 11:43:05 +00:00
if ( IsModifierPressed ( ) )
2008-06-11 17:08:16 +00:00
{
send { blind } 0
}
2008-06-14 11:43:05 +00:00
else
2008-06-11 17:08:16 +00:00
{
send 0
}
}
2008-06-14 11:43:05 +00:00
else {
2008-06-22 00:21:54 +00:00
if ( not ( lernModus ) or ( lernModus_std_ZahlenReihe ) )
2008-06-21 19:27:39 +00:00
{
send { blind } 0
}
2008-06-11 17:08:16 +00:00
}
}
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " comp " )
2008-05-06 11:41:19 +00:00
CompKey := " 0 "
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
CompKey := " "
}
else if Ebene = 2
{
send <EFBFBD>
CompKey := " "
}
else if Ebene = 3
{
send <EFBFBD>
CompKey := " "
}
2008-06-14 11:43:05 +00:00
else if Ebene = 4
2008-05-06 11:41:19 +00:00
{
Send -
CompKey := " "
}
2008-06-14 11:43:05 +00:00
else if Ebene = 5
{ } ; leer
2008-05-06 11:41:19 +00:00
else if Ebene = 6
{
2008-06-14 11:43:05 +00:00
SendUnicodeChar ( 0x2205 ) ; leere Menge
2008-05-06 11:41:19 +00:00
CompKey := " "
}
PriorDeadKey := " "
return
2008-06-18 23:26:43 +00:00
neo_strich:
2008-05-06 11:41:19 +00:00
EbeneAktualisieren ( )
if Ebene = 1
2008-06-11 17:08:16 +00:00
{
2008-06-14 11:43:05 +00:00
if GetKeyState ( " CapsLock " , " T " )
2008-06-11 17:08:16 +00:00
{
2008-06-14 11:43:05 +00:00
if ( IsModifierPressed ( ) )
2008-06-11 17:08:16 +00:00
{
send { blind } -
}
2008-06-14 11:43:05 +00:00
else
2008-06-11 17:08:16 +00:00
{
send -
}
}
2008-06-14 11:43:05 +00:00
else {
2008-06-11 17:08:16 +00:00
send { blind } - ;Bindestrich
}
}
else if Ebene = 2
SendUnicodeChar ( 0x2013 ) ; Gedankenstrich
2008-05-06 11:41:19 +00:00
else if Ebene = 3
2008-06-14 11:43:05 +00:00
SendUnicodeChar ( 0x2014 ) ; Englische Gedankenstrich
2008-05-06 11:41:19 +00:00
else if Ebene = 4
2008-06-14 11:43:05 +00:00
{ } ; leer ... SendUnicodeChar(0x254C)
2008-05-06 11:41:19 +00:00
else if Ebene = 5
2008-06-14 11:43:05 +00:00
SendUnicodeChar ( 0x2011 ) ; gesch<63> tzter Bindestrich
2008-05-06 11:41:19 +00:00
else if Ebene = 6
2008-06-14 11:43:05 +00:00
SendUnicodeChar ( 0x00AD ) ; weicher Trennstrich
2008-05-06 11:41:19 +00:00
PriorDeadKey := " " CompKey := " "
return
2008-06-18 23:26:43 +00:00
neo_tot2:
2008-05-06 11:41:19 +00:00
EbeneAktualisieren ( )
if Ebene = 1
{
send { <EFBFBD> } { space } ; akut, tot
PriorDeadKey := " a1 "
}
else if Ebene = 2
{
send `` { space }
PriorDeadKey := " a2 "
}
else if Ebene = 3
{
send <EFBFBD> ; cedilla
PriorDeadKey := " a3 "
}
else if Ebene = 4
{
2008-06-14 11:43:05 +00:00
SendUnicodeChar ( 0x02D9 ) ; punkt oben dr<64> ber
PriorDeadKey := " a5 "
2008-05-06 11:41:19 +00:00
}
else if Ebene = 5
{
2008-06-14 11:43:05 +00:00
SendUnicodeChar ( 0x02DB ) ; ogonek
PriorDeadKey := " a4 "
2008-05-06 11:41:19 +00:00
}
else if Ebene = 6
{
SendUnicodeChar ( 0x02DA ) ; ring obendrauf
PriorDeadKey := " a6 "
}
return
/*
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Reihe 2
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
* /
2008-06-18 23:26:43 +00:00
neo_x:
2008-05-06 11:41:19 +00:00
EbeneAktualisieren ( )
if Ebene = 1
sendinput { blind } x
else if Ebene = 2
sendinput { blind } X
2008-06-14 11:43:05 +00:00
else if Ebene = 5
2008-05-06 11:41:19 +00:00
SendUnicodeChar ( 0x03BE ) ;xi
else if Ebene = 6
SendUnicodeChar ( 0x039E ) ; Xi
PriorDeadKey := " " CompKey := " "
return
2008-06-18 23:26:43 +00:00
neo_v:
2008-05-06 11:41:19 +00:00
EbeneAktualisieren ( )
if Ebene = 1
{
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " c6 " ) ; punkt darunter
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x1E7F )
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
sendinput { blind } v
}
else if Ebene = 2
{
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " c6 " ) ; punkt darunter
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x1E7E )
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
sendinput { blind } V
}
else if Ebene = 3
send _
2008-06-14 11:43:05 +00:00
else if Ebene = 4
2008-06-22 00:21:54 +00:00
if ( not ( lernModus ) or ( lernModus_neo_Backspace ) )
2008-06-21 19:27:39 +00:00
{
Send { Backspace }
}
2008-06-22 00:21:54 +00:00
else
{ } ; leer
2008-05-06 11:41:19 +00:00
else if Ebene = 6
2008-06-14 11:43:05 +00:00
SendUnicodeChar ( 0x2259 ) ; estimates
2008-05-06 11:41:19 +00:00
PriorDeadKey := " " CompKey := " "
return
2008-06-18 23:26:43 +00:00
neo_l:
2008-05-06 11:41:19 +00:00
EbeneAktualisieren ( )
if Ebene = 1
{
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " t5 " ) ; Schr<68> gstrich
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x0142 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " a1 " ) ; akut
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x013A )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " c2 " ) ; caron
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x013E )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " a3 " ) ; cedilla
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x013C )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " c5 " ) ; Mittenpunkt
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x0140 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " c6 " ) ; punkt darunter
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x1E37 )
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
sendinput { blind } l
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " comp " ) ; compose
2008-05-06 11:41:19 +00:00
CompKey := " l_small "
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
CompKey := " "
}
else if Ebene = 2
{
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " a1 " ) ; akut
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x0139 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " c2 " ) ; caron
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x013D )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " a3 " ) ; cedilla
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x013B )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " t5 " ) ; Schr<68> gstrich
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x0141 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " c5 " ) ; Mittenpunkt
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x013F )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " c6 " ) ; punkt darunter
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x1E36 )
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
sendinput { blind } L
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " comp " ) ; compose
2008-05-06 11:41:19 +00:00
CompKey := " l_capital "
2008-06-14 11:43:05 +00:00
else CompKey := " "
2008-05-06 11:41:19 +00:00
}
else if Ebene = 3
{
send [
CompKey := " "
}
else if Ebene = 4
{
2008-06-14 11:43:05 +00:00
Sendinput { Blind } { Up }
2008-05-06 11:41:19 +00:00
CompKey := " "
}
else if Ebene = 5
{
2008-06-14 11:43:05 +00:00
SendUnicodeChar ( 0x03BB ) ; lambda
2008-05-06 11:41:19 +00:00
CompKey := " "
}
else if Ebene = 6
{
2008-06-14 11:43:05 +00:00
SendUnicodeChar ( 0x039B ) ; Lambda
2008-05-06 11:41:19 +00:00
CompKey := " "
}
PriorDeadKey := " "
return
2008-06-18 23:26:43 +00:00
neo_c:
2008-05-06 11:41:19 +00:00
EbeneAktualisieren ( )
if Ebene = 1
{
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " c1 " ) ; circumflex
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x0109 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " c2 " ) ; caron
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x010D )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " a1 " ) ; akut
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x0107 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " a3 " ) ; cedilla
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x00E7 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " a5 " ) ; punkt dar<61> ber
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x010B )
2008-06-14 11:43:05 +00:00
else if ( ( CompKey = " o_small " ) or ( CompKey = " o_capital " ) )
2008-05-06 11:41:19 +00:00
Send { bs } <EFBFBD>
2008-06-14 11:43:05 +00:00
else
2008-06-19 09:24:55 +00:00
{
sendinput { blind } c
}
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " comp " )
2008-05-06 11:41:19 +00:00
CompKey := " c_small "
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
CompKey := " "
}
else if Ebene = 2
{
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " c1 " ) ; circumflex
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x0108 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " c2 " ) ; caron
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x010C )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " a1 " ) ; akut
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x0106 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " a3 " ) ; cedilla
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x00E6 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " a5 " ) ; punkt dar<61> ber
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x010A )
2008-06-14 11:43:05 +00:00
else if ( ( CompKey = " o_small " ) or ( CompKey = " o_capital " ) )
2008-05-06 11:41:19 +00:00
Send { bs } <EFBFBD>
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
sendinput { blind } C
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " comp " )
2008-05-06 11:41:19 +00:00
CompKey = " c_capital "
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
CompKey := " "
}
else if Ebene = 3
{
send ]
CompKey := " "
}
else if Ebene = 4
{
2008-06-22 00:21:54 +00:00
if ( not ( lernModus ) or ( lernModus_neo_Entf ) )
2008-06-21 19:27:39 +00:00
{
Send { Del }
CompKey := " "
}
2008-06-22 00:21:54 +00:00
else
{ } ; leer
2008-05-06 11:41:19 +00:00
}
else if Ebene = 5
{
2008-06-14 11:43:05 +00:00
SendUnicodeChar ( 0x03C7 ) ;chi
2008-05-06 11:41:19 +00:00
CompKey := " "
}
else if Ebene = 6
{
2008-06-14 11:43:05 +00:00
SendUnicodeChar ( 0x2102 ) ; C (Komplexe Zahlen)
2008-05-06 11:41:19 +00:00
CompKey := " "
}
PriorDeadKey := " "
return
2008-06-18 23:26:43 +00:00
neo_w:
2008-05-06 11:41:19 +00:00
EbeneAktualisieren ( )
if Ebene = 1
{
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " c1 " ) ; circumflex
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x0175 )
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
sendinput { blind } w
}
else if Ebene = 2
{
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " c1 " ) ; circumflex
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x0174 )
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
sendinput { blind } W
}
else if Ebene = 3
send { ^ } { space } ; untot
2008-06-14 11:43:05 +00:00
else if Ebene = 4
2008-05-06 11:41:19 +00:00
Send { Insert }
2008-06-14 11:43:05 +00:00
else if Ebene = 5
SendUnicodeChar ( 0x03C9 ) ; omega
2008-05-06 11:41:19 +00:00
else if Ebene = 6
2008-06-14 11:43:05 +00:00
SendUnicodeChar ( 0x03A9 ) ; Omega
2008-05-06 11:41:19 +00:00
PriorDeadKey := " " CompKey := " "
return
2008-06-18 23:26:43 +00:00
neo_k:
2008-05-06 11:41:19 +00:00
EbeneAktualisieren ( )
if Ebene = 1
{
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " a3 " ) ; cedilla
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x0137 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " c6 " ) ; punkt darunter
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x1E33 )
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
sendinput { blind } k
}
else if Ebene = 2
{
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " a3 " ) ; cedilla
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x0136 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " c6 " ) ; punkt darunter
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x1E32 )
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
sendinput { blind } K
}
else if Ebene = 3
sendraw !
else if Ebene = 4
Send <EFBFBD>
2008-06-14 11:43:05 +00:00
else if Ebene = 5
2008-06-21 16:18:44 +00:00
SendUnicodeChar ( 0x03F0 ) ;kappa symbol (varkappa)
2008-06-14 11:43:05 +00:00
else if Ebene = 6
SendUnicodeChar ( 0x221A ) ; Wurzel
2008-05-06 11:41:19 +00:00
PriorDeadKey := " " CompKey := " "
return
2008-06-18 23:26:43 +00:00
neo_h:
2008-05-06 11:41:19 +00:00
EbeneAktualisieren ( )
if Ebene = 1
{
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " c1 " ) ; circumflex
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x0125 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " c4 " ) ; Querstrich
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x0127 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " a5 " ) ; punkt dar<61> ber
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x1E23 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " c6 " ) ; punkt darunter
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x1E25 )
2008-06-14 11:43:05 +00:00
else sendinput { blind } h
2008-05-06 11:41:19 +00:00
}
else if Ebene = 2
{
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " c1 " ) ; circumflex
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x0124 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " c4 " ) ; Querstrich
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x0126 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " a5 " ) ; punkt dar<61> ber
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x1E22 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " c6 " ) ; punkt darunter
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x1E24 )
2008-06-14 11:43:05 +00:00
else sendinput { blind } H
2008-05-06 11:41:19 +00:00
}
else if Ebene = 3
{
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " c4 " ) ; Querstrich
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x2264 ) ; kleiner gleich
2008-06-14 11:43:05 +00:00
else
2008-06-11 17:08:16 +00:00
send { blind } <
2008-05-06 11:41:19 +00:00
}
else if Ebene = 4
{
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " c1 " ) ; circumflex
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x2077 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " c4 " ) ; toter -
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x2087 )
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
Send 7
}
2008-06-14 11:43:05 +00:00
else if Ebene = 5
SendUnicodeChar ( 0x03C8 ) ;psi
2008-05-06 11:41:19 +00:00
else if Ebene = 6
SendUnicodeChar ( 0x03A8 ) ; Psi
PriorDeadKey := " " CompKey := " "
return
2008-06-18 23:26:43 +00:00
neo_g:
2008-05-06 11:41:19 +00:00
EbeneAktualisieren ( )
if Ebene = 1
{
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " c1 " ) ; circumflex
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x011D )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " c3 " ) ; brevis
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x011F )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " a3 " ) ; cedilla
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x0123 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " a5 " ) ; punkt dar<61> ber
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x0121 )
2008-06-14 11:43:05 +00:00
else sendinput { blind } g
2008-05-06 11:41:19 +00:00
}
else if Ebene = 2
{
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " c1 " ) ; circumflex
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x011C )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " c3 " ) ; brevis
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x011E )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " a3 " ) ; cedilla
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x0122 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " a5 " ) ; punkt dar<61> ber
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x0120 )
2008-06-14 11:43:05 +00:00
else sendinput { blind } G
2008-05-06 11:41:19 +00:00
}
else if Ebene = 3
{
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " c4 " ) ; Querstrich
2008-05-06 11:41:19 +00:00
SendUnicodeChar ( 0x2265 ) ; gr<67> <72> er gleich
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
send >
}
else if Ebene = 4
{
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " c1 " ) ; circumflex
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x2078 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " c4 " ) ; toter -
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x2088 )
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
Send 8
}
2008-06-14 11:43:05 +00:00
else if Ebene = 5
SendUnicodeChar ( 0x03B3 ) ;gamma
2008-05-06 11:41:19 +00:00
else if Ebene = 6
SendUnicodeChar ( 0x0393 ) ; Gamma
PriorDeadKey := " " CompKey := " "
return
2008-06-18 23:26:43 +00:00
neo_f:
2008-05-06 11:41:19 +00:00
EbeneAktualisieren ( )
if Ebene = 1
{
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " t5 " ) ; durchgestrichen
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x0192 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " a5 " ) ; punkt dar<61> ber
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x1E1F )
2008-06-14 11:43:05 +00:00
else sendinput { blind } f
2008-05-06 11:41:19 +00:00
}
else if Ebene = 2
{
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " t5 " ) ; durchgestrichen
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x0191 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " a5 " ) ; punkt dar<61> ber
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x1E1E )
2008-06-14 11:43:05 +00:00
else sendinput { blind } F
2008-05-06 11:41:19 +00:00
}
else if Ebene = 3
{
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " c1 " ) ; circumflex
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x2259 ) ; entspricht
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " t1 " ) ; tilde
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x2245 ) ; ungef<65> hr gleich
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " t5 " ) ; Schr<68> gstrich
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x2260 ) ; ungleich
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " c4 " ) ; Querstrich
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x2261 ) ; identisch
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " c2 " ) ; caron
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x225A ) ; EQUIANGULAR TO
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " a6 " ) ; ring dr<64> ber
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x2257 ) ; ring equal to
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
send ` =
}
else if Ebene = 4
{
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " c1 " ) ; circumflex
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x2079 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " c4 " ) ; toter -
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x2089 )
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
Send 9
}
2008-06-14 11:43:05 +00:00
else if Ebene = 5
2008-06-21 16:18:44 +00:00
SendUnicodeChar ( 0x03C6 ) ; phi
2008-05-06 11:41:19 +00:00
else if Ebene = 6
SendUnicodeChar ( 0x03A6 ) ; Phi
PriorDeadKey := " " CompKey := " "
return
2008-06-18 23:26:43 +00:00
neo_q:
2008-05-06 11:41:19 +00:00
EbeneAktualisieren ( )
if Ebene = 1
sendinput { blind } q
else if Ebene = 2
sendinput { blind } Q
else if Ebene = 3
send { & }
else if Ebene = 4
{
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " c1 " ) ; circumflex
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x207A )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " c4 " ) ; toter -
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x208A )
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
Send { + }
}
2008-06-14 11:43:05 +00:00
else if Ebene = 5
2008-06-21 16:18:44 +00:00
SendUnicodeChar ( 0x03D5 ) ; phi symbol (varphi)
2008-05-06 11:41:19 +00:00
else if Ebene = 6
2008-06-14 11:43:05 +00:00
SendUnicodeChar ( 0x211A ) ; Q (rationale Zahlen)
2008-05-06 11:41:19 +00:00
PriorDeadKey := " " CompKey := " "
return
2008-06-18 23:26:43 +00:00
neo_sz:
2008-05-06 11:41:19 +00:00
EbeneAktualisieren ( )
if Ebene = 1
if GetKeyState ( " CapsLock " , " T " )
{
SendUnicodeChar ( 0x1E9E ) ; versal-<2D>
}
else
{
send <EFBFBD>
}
else if Ebene = 2
if GetKeyState ( " CapsLock " , " T " )
{
send <EFBFBD>
}
else
{
SendUnicodeChar ( 0x1E9E ) ; versal-<2D>
}
else if Ebene = 3
SendUnicodeChar ( 0x017F ) ; langes s
else if Ebene = 4
2008-06-14 11:43:05 +00:00
{ } ; leer
2008-05-06 11:41:19 +00:00
else if Ebene = 5
2008-06-14 11:43:05 +00:00
SendUnicodeChar ( 0x03C2 ) ; varsigma
2008-05-06 11:41:19 +00:00
else if Ebene = 6
2008-06-14 11:43:05 +00:00
SendUnicodeChar ( 0x2218 ) ; Verkn<6B> pfungsoperator
2008-05-06 11:41:19 +00:00
PriorDeadKey := " " CompKey := " "
return
2008-06-18 23:26:43 +00:00
neo_tot3:
2008-05-06 11:41:19 +00:00
EbeneAktualisieren ( )
if Ebene = 1
{
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
{
2008-06-14 11:43:05 +00:00
SendUnicodeChar ( 0x002F ) ; Schr<68> gstrich, tot
PriorDeadKey := " t5 "
2008-05-06 11:41:19 +00:00
}
else if Ebene = 5
{
2008-06-14 11:43:05 +00:00
send " ;doppelakut
PriorDeadKey := " t4 "
2008-05-06 11:41:19 +00:00
}
else if Ebene = 6
{
SendUnicodeChar ( 0x02CF ) ; komma drunter, tot
PriorDeadKey := " t6 "
}
return
/*
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Reihe 3
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
* /
2008-06-18 23:26:43 +00:00
neo_u:
2008-05-06 11:41:19 +00:00
EbeneAktualisieren ( )
if Ebene = 1
{
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " c1 " ) ; circumflex
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x00FB )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " a1 " ) ; akut
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x00FA )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " a2 " ) ; grave
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x00F9 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " t3 " ) ; Diaerese
2008-05-06 11:41:19 +00:00
Send , { bs } <EFBFBD>
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " t4 " ) ; doppelakut
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x0171 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " c3 " ) ; brevis
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x016D )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " t2 " ) ; macron
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x016B )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " a4 " ) ; ogonek
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x0173 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " a6 " ) ; Ring
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x016F )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " t1 " ) ; tilde
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x0169 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " c2 " ) ; caron
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x01D4 )
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
sendinput { blind } u
}
else if Ebene = 2
{
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " c1 " ) ; circumflex
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x00DB )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " a1 " ) ; akut
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x00DA )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " a2 " ) ; grave
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x00D9 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " t3 " ) ; Diaerese
2008-05-06 11:41:19 +00:00
Send , { bs } <EFBFBD>
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " a6 " ) ; Ring
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x016E )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " c3 " ) ; brevis
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x016C )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " t4 " ) ; doppelakut
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x0170 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " c2 " ) ; caron
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x01D3 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " t2 " ) ; macron
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x016A )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " a4 " ) ; ogonek
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x0172 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " t1 " ) ; tilde
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x0168 )
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
sendinput { blind } U
}
else if Ebene = 3
send \
2008-06-14 11:43:05 +00:00
else if Ebene = 4
2008-05-06 11:41:19 +00:00
Send { blind } { Home }
2008-06-14 20:31:51 +00:00
else if Ebene = 5
{ } ; leer
2008-05-06 11:41:19 +00:00
else if Ebene = 6
2008-06-14 11:43:05 +00:00
SendUnicodeChar ( 0x222E ) ; contour integral
2008-05-06 11:41:19 +00:00
PriorDeadKey := " " CompKey := " "
return
2008-06-18 23:26:43 +00:00
neo_i:
2008-05-06 11:41:19 +00:00
EbeneAktualisieren ( )
if Ebene = 1
{
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " c1 " ) ; circumflex
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x00EE )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " a1 " ) ; akut
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x00ED )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " a2 " ) ; grave
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x00EC )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " t3 " ) ; Diaerese
2008-05-06 11:41:19 +00:00
Send , { bs } <EFBFBD>
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " t2 " ) ; macron
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x012B )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " c3 " ) ; brevis
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x012D )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " a4 " ) ; ogonek
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x012F )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " t1 " ) ; tilde
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x0129 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " a5 " ) ; (ohne) punkt dar<61> ber
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x0131 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " c2 " ) ; caron
2008-06-11 17:08:16 +00:00
BSSendUnicodeChar ( 0x01D0 )
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
sendinput { blind } i
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " comp " ) ; compose
2008-05-06 11:41:19 +00:00
CompKey := " i_small "
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
CompKey := " "
}
else if Ebene = 2
{
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " c1 " ) ; circumflex
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x00CE )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " a1 " ) ; akut
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x00CD )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " a2 " ) ; grave
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x00CC )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " t3 " ) ; Diaerese
2008-05-06 11:41:19 +00:00
Send , { bs } <EFBFBD>
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " t2 " ) ; macron
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x012A )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " c3 " ) ; brevis
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x012C )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " a4 " ) ; ogonek
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x012E )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " t1 " ) ; tilde
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x0128 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " a5 " ) ; punkt dar<61> ber
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x0130 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " c2 " ) ; caron
2008-06-11 17:08:16 +00:00
BSSendUnicodeChar ( 0x01CF )
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
sendinput { blind } I
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " comp " ) ; compose
2008-05-06 11:41:19 +00:00
CompKey := " i_capital "
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
CompKey := " "
}
else if Ebene = 3
{
send ` /
CompKey := " "
}
else if Ebene = 4
{
2008-06-14 11:43:05 +00:00
Sendinput { Blind } { Left }
2008-05-06 11:41:19 +00:00
CompKey := " "
}
2008-06-14 20:31:51 +00:00
else if Ebene = 5
2008-05-06 11:41:19 +00:00
{
2008-06-14 11:43:05 +00:00
SendUnicodeChar ( 0x03B9 ) ; iota
2008-05-06 11:41:19 +00:00
CompKey := " "
}
else if Ebene = 6
{
2008-06-14 11:43:05 +00:00
SendUnicodeChar ( 0x222B ) ; integral
2008-05-06 11:41:19 +00:00
CompKey := " "
}
PriorDeadKey := " "
return
2008-06-18 23:26:43 +00:00
neo_a:
2008-05-06 11:41:19 +00:00
EbeneAktualisieren ( )
if Ebene = 1
{
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " c1 " ) ; circumflex
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x00E2 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " a1 " ) ; akut
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x00E1 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " a2 " ) ; grave
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x00E0 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " t3 " ) ; Diaerese
2008-05-06 11:41:19 +00:00
send { bs } <EFBFBD>
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " a6 " ) ; Ring
2008-05-06 11:41:19 +00:00
Send { bs } <EFBFBD>
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " t1 " ) ; tilde
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x00E3 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " a4 " ) ; ogonek
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x0105 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " t2 " ) ; macron
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x0101 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " c3 " ) ; brevis
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x0103 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " c2 " ) ; caron
2008-06-11 17:08:16 +00:00
BSSendUnicodeChar ( 0x01CE )
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
sendinput { blind } a
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " comp " ) ; compose
2008-05-06 11:41:19 +00:00
CompKey := " a_small "
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
CompKey := " "
}
else if Ebene = 2
{
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " c1 " ) ; circumflex
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x00C2 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " a1 " ) ; akut
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x00C1 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " a2 " ) ; grave
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x00C0 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " t3 " ) ; Diaerese
2008-05-06 11:41:19 +00:00
send { bs } <EFBFBD>
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " t1 " ) ; tilde
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x00C3 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " a6 " ) ; Ring
2008-05-06 11:41:19 +00:00
Send { bs } <EFBFBD>
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " t2 " ) ; macron
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x0100 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " c3 " ) ; brevis
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x0102 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " a4 " ) ; ogonek
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x0104 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " c2 " ) ; caron
2008-06-11 17:08:16 +00:00
BSSendUnicodeChar ( 0x01CD )
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
sendinput { blind } A
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " comp " ) ; compose
2008-05-06 11:41:19 +00:00
CompKey := " a_capital "
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
CompKey := " "
}
else if Ebene = 3
{
sendraw {
CompKey := " "
}
else if Ebene = 4
{
2008-06-14 11:43:05 +00:00
Sendinput { Blind } { Down }
2008-05-06 11:41:19 +00:00
CompKey := " "
}
else if Ebene = 5
{
2008-06-14 11:43:05 +00:00
SendUnicodeChar ( 0x03B1 ) ;alpha
2008-05-06 11:41:19 +00:00
CompKey := " "
}
else if Ebene = 6
{
2008-06-14 11:43:05 +00:00
SendUnicodeChar ( 0x2200 ) ;fuer alle
2008-05-06 11:41:19 +00:00
CompKey := " "
}
PriorDeadKey := " "
return
2008-06-18 23:26:43 +00:00
neo_e:
2008-05-06 11:41:19 +00:00
EbeneAktualisieren ( )
if Ebene = 1
{
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " c1 " ) ; circumflex
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x00EA )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " a1 " ) ; akut
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x00E9 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " a2 " ) ; grave
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x00E8 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " t3 " ) ; Diaerese
2008-05-06 11:41:19 +00:00
Send , { bs } <EFBFBD>
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " a4 " ) ; ogonek
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x0119 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " t2 " ) ; macron
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x0113 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " c3 " ) ; brevis
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x0115 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " c2 " ) ; caron
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x011B )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " a5 " ) ; punkt dar<61> ber
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x0117 )
2008-06-14 11:43:05 +00:00
else if ( CompKey = " a_small " ) ; compose
2008-05-06 11:41:19 +00:00
{
Send { bs } <EFBFBD>
CompKey := " "
}
2008-06-14 11:43:05 +00:00
else if ( CompKey = " o_small " ) ; compose
2008-05-06 11:41:19 +00:00
{
Send { bs } <EFBFBD>
CompKey := " "
}
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
sendinput { blind } e
}
else if Ebene = 2
{
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " c1 " ) ; circumflex
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x00CA )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " a1 " ) ; akut
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x00C9 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " a2 " ) ; grave
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x00C8 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " t3 " ) ; Diaerese
2008-05-06 11:41:19 +00:00
Send , { bs } <EFBFBD>
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " c2 " ) ; caron
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x011A )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " t2 " ) ; macron
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x0112 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " c3 " ) ; brevis
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x0114 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " a4 " ) ; ogonek
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x0118 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " a5 " ) ; punkt dar<61> ber
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x0116 )
2008-06-14 11:43:05 +00:00
else if ( CompKey = " a_capital " ) ; compose
2008-05-06 11:41:19 +00:00
{
Send { bs } <EFBFBD>
CompKey := " "
}
2008-06-14 11:43:05 +00:00
else if ( CompKey = " o_capital " ) ; compose
2008-05-06 11:41:19 +00:00
{
Send { bs } <EFBFBD>
CompKey := " "
}
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
sendinput { blind } E
}
else if Ebene = 3
sendraw }
else if Ebene = 4
Sendinput { Blind } { Right }
2008-06-14 11:43:05 +00:00
else if Ebene = 5
SendUnicodeChar ( 0x03B5 ) ;epsilon
2008-05-06 11:41:19 +00:00
else if Ebene = 6
2008-06-14 11:43:05 +00:00
SendUnicodeChar ( 0x2203 ) ;es existiert
2008-05-06 11:41:19 +00:00
PriorDeadKey := " " CompKey := " "
return
2008-06-18 23:26:43 +00:00
neo_o:
2008-05-06 11:41:19 +00:00
EbeneAktualisieren ( )
if Ebene = 1
{
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " c1 " ) ; circumflex
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x00F4 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " a1 " ) ; akut
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x00F3 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " a2 " ) ; grave
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x00F2 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " t3 " ) ; Diaerese
2008-05-06 11:41:19 +00:00
Send , { bs } <EFBFBD>
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " t1 " ) ; tilde
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x00F5 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " t4 " ) ; doppelakut
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x0151 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " t5 " ) ; Schr<68> gstrich
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x00F8 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " t2 " ) ; macron
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x014D )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " c3 " ) ; brevis
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x014F )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " a4 " ) ; ogonek
2008-06-11 17:08:16 +00:00
BSSendUnicodeChar ( 0x01EB )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " c2 " ) ; caron
2008-06-11 17:08:16 +00:00
BSSendUnicodeChar ( 0x01D2 )
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
sendinput { blind } o
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " comp " ) ; compose
2008-05-06 11:41:19 +00:00
CompKey := " o_small "
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
CompKey := " "
}
else if Ebene = 2
{
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " c1 " ) ; circumflex
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x00D4 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " a1 " ) ; akut
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x00D3 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " a2 " ) ; grave
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x00D2 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " t5 " ) ; Schr<68> gstrich
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x00D8 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " t1 " ) ; tilde
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x00D5 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " t4 " ) ; doppelakut
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x0150 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " t3 " ) ; Diaerese
2008-05-06 11:41:19 +00:00
send { bs } <EFBFBD>
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " t2 " ) ; macron
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x014C )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " c3 " ) ; brevis
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x014E )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " a4 " ) ; ogonek
2008-06-11 17:08:16 +00:00
BSSendUnicodeChar ( 0x01EA )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " c2 " ) ; caron
2008-06-11 17:08:16 +00:00
BSSendUnicodeChar ( 0x01D1 )
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
sendinput { blind } O
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " comp " ) ; compose
2008-05-06 11:41:19 +00:00
CompKey := " o_capital "
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
CompKey := " "
}
else if Ebene = 3
{
send *
CompKey := " "
}
else if Ebene = 4
{
2008-06-14 11:43:05 +00:00
Send { blind } { End }
2008-05-06 11:41:19 +00:00
CompKey := " "
}
else if Ebene = 5
{
2008-06-14 20:31:51 +00:00
SendUnicodeChar ( 0x03BF ) ; omicron
2008-05-06 11:41:19 +00:00
CompKey := " "
}
else if Ebene = 6
{
2008-06-14 11:43:05 +00:00
SendUnicodeChar ( 0x2208 ) ; element of
2008-05-06 11:41:19 +00:00
CompKey := " "
}
PriorDeadKey := " "
return
2008-06-18 23:26:43 +00:00
neo_s:
2008-05-06 11:41:19 +00:00
EbeneAktualisieren ( )
if Ebene = 1
{
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " c1 " ) ; circumflex
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x015D )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " a1 " ) ; akut
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x015B )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " c2 " ) ; caron
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x0161 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " a3 " ) ; cedilla
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x015F )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " a5 " ) ; punkt dar<61> ber
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x1E61 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " c6 " ) ; punkt darunter
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x1E63 )
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
sendinput { blind } s
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " comp " )
2008-05-06 11:41:19 +00:00
CompKey := " s_small "
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
CompKey := " "
}
else if Ebene = 2
{
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " c1 " ) ; circumflex
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x015C )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " c2 " ) ; caron
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x0160 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " a1 " ) ; akut
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x015A )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " a3 " ) ; cedilla
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x015E )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " a5 " ) ; punkt dar<61> ber
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x1E60 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " c6 " ) ; punkt darunter
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x1E62 )
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
sendinput { blind } S
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " comp " )
2008-05-06 11:41:19 +00:00
CompKey := " s_capital "
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
CompKey := " "
}
else if Ebene = 3
{
send ?
CompKey := " "
}
else if Ebene = 4
{
2008-06-14 11:43:05 +00:00
Send <EFBFBD>
2008-05-06 11:41:19 +00:00
CompKey := " "
}
else if Ebene = 5
{
2008-06-14 11:43:05 +00:00
SendUnicodeChar ( 0x03C3 ) ;sigma
2008-05-06 11:41:19 +00:00
CompKey := " "
}
else if Ebene = 6
{
SendUnicodeChar ( 0x03A3 ) ; Sigma
CompKey := " "
}
PriorDeadKey := " "
return
2008-06-18 23:26:43 +00:00
neo_n:
2008-05-06 11:41:19 +00:00
EbeneAktualisieren ( )
if Ebene = 1
{
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " a1 " ) ; akut
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x0144 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " t1 " ) ; tilde
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x00F1 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " c2 " ) ; caron
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x0148 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " a3 " ) ; cedilla
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x0146 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " a5 " ) ; punkt dar<61> ber
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x1E45 )
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
sendinput { blind } n
}
else if Ebene = 2
{
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " c2 " ) ; caron
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x0147 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " t1 " ) ; tilde
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x00D1 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " a1 " ) ; akut
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x0143 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " a3 " ) ; cedilla
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x0145 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " a5 " ) ; punkt dar<61> ber
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x1E44 )
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
sendinput { blind } N
}
else if Ebene = 3
send (
else if Ebene = 4
{
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " c1 " ) ; circumflex
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x2074 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " c4 " ) ; toter -
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x2084 )
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
Send 4
}
2008-06-14 11:43:05 +00:00
else if Ebene = 5
SendUnicodeChar ( 0x03BD ) ; nu
else if Ebene = 6
SendUnicodeChar ( 0x2115 ) ; N (nat<61> rliche Zahlen)
2008-05-06 11:41:19 +00:00
PriorDeadKey := " " CompKey := " "
return
2008-06-18 23:26:43 +00:00
neo_r:
2008-05-06 11:41:19 +00:00
EbeneAktualisieren ( )
if Ebene = 1
{
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " a1 " ) ; akut
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x0155 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " c2 " ) ; caron
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x0159 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " a3 " ) ; cedilla
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x0157 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " a5 " ) ; punkt dar<61> ber
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x0E59 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " c6 " ) ; punkt darunter
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x1E5B )
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
sendinput { blind } r
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " comp " )
2008-05-06 11:41:19 +00:00
CompKey := " r_small "
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
CompKey := " "
}
else if Ebene = 2
{
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " c2 " ) ; caron
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x0158 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " a1 " ) ; akut
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x0154 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " a3 " ) ; cedilla
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x0156 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " a5 " ) ; punkt dar<61> ber
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x1E58 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " c6 " ) ; punkt darunter
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x1E5A )
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
sendinput { blind } R
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " comp " )
2008-05-06 11:41:19 +00:00
CompKey := " r_capital "
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
CompKey := " "
}
else if Ebene = 3
{
send )
CompKey := " "
}
else if Ebene = 4
{
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " c1 " ) ; circumflex
BSSendUnicodeChar ( 0x2075 )
else if ( PriorDeadKey = " c4 " ) ; toter -
BSSendUnicodeChar ( 0x2085 )
else
Send 5
2008-05-06 11:41:19 +00:00
CompKey := " "
}
else if Ebene = 5
{
2008-06-21 16:18:44 +00:00
SendUnicodeChar ( 0x03F1 ) ; rho symbol (varrho)
2008-06-14 11:43:05 +00:00
CompKey := " "
}
else if Ebene = 6
{
SendUnicodeChar ( 0x211D ) ; R (reelle Zahlen)
2008-05-06 11:41:19 +00:00
CompKey := " "
}
PriorDeadKey := " "
return
2008-06-18 23:26:43 +00:00
neo_t:
EbeneAktualisieren ( )
if Ebene = 1
{
if ( PriorDeadKey = " c2 " ) ; caron
BSSendUnicodeChar ( 0x0165 )
else if ( PriorDeadKey = " a3 " ) ; cedilla
BSSendUnicodeChar ( 0x0163 )
else if ( PriorDeadKey = " c4 " ) ; Querstrich
BSSendUnicodeChar ( 0x0167 )
else if ( PriorDeadKey = " a5 " ) ; punkt dar<61> 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<61> 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 } - ; Bis
CompKey := " "
}
else if Ebene = 4
{
if ( PriorDeadKey = " c1 " ) ; circumflex
BSSendUnicodeChar ( 0x2076 )
else if ( PriorDeadKey = " c4 " ) ; toter -
BSSendUnicodeChar ( 0x2086 )
else
Send 6
CompKey := " "
}
else if Ebene = 5
{
SendUnicodeChar ( 0x03C4 ) ; tau
CompKey := " "
}
else if Ebene = 6
{
SendUnicodeChar ( 0x2202 ) ; partielle Ableitung
CompKey := " "
}
PriorDeadKey := " "
2008-05-06 11:41:19 +00:00
return
2008-06-18 23:26:43 +00:00
neo_d:
2008-05-06 11:41:19 +00:00
EbeneAktualisieren ( )
if Ebene = 1
{
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " c4 " ) ; Querstrich
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x0111 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " t5 " ) ; Schr<68> gstrich
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x00F0 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " c2 " ) ; caron
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x010F )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " a5 " ) ; punkt dar<61> ber
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x1E0B )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " c6 " ) ; punkt darunter
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x1E0D )
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
sendinput { blind } d
}
else if Ebene = 2
{
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " c4 " ) ; Querstrich
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x0110 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " t5 " ) ; Schr<68> gstrich
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x00D0 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " c2 " ) ; caron
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x010E )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " a5 " ) ; punkt dar<61> ber
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x1E0A )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " c6 " ) ; punkt darunter
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x1E0D )
2008-06-14 11:43:05 +00:00
else sendinput { blind } D
2008-05-06 11:41:19 +00:00
}
else if Ebene = 3
send :
else if Ebene = 4
2008-06-21 16:03:40 +00:00
Send `,
2008-05-06 11:41:19 +00:00
else if Ebene = 5
2008-06-14 11:43:05 +00:00
SendUnicodeChar ( 0x03B4 ) ;delta
2008-05-06 11:41:19 +00:00
else if Ebene = 6
SendUnicodeChar ( 0x0394 ) ; Delta
PriorDeadKey := " " CompKey := " "
return
2008-06-18 23:26:43 +00:00
neo_y:
2008-05-06 11:41:19 +00:00
EbeneAktualisieren ( )
if Ebene = 1
{
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " t3 " ) ; Diaerese
2008-05-06 11:41:19 +00:00
Send { bs } <EFBFBD>
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " a1 " ) ; akut
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x00FD )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " c1 " ) ; circumflex
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x0177 )
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
sendinput { blind } y
}
else if Ebene = 2
{
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " a1 " ) ; akut
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x00DD )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " t3 " ) ; Diaerese
2008-05-06 11:41:19 +00:00
Send { bs } <EFBFBD>
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " c1 " ) ; circumflex
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x0176 )
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
sendinput { blind } Y
}
else if Ebene = 3
send @
else if Ebene = 4
2008-06-21 16:03:40 +00:00
Send .
2008-05-06 11:41:19 +00:00
else if Ebene = 5
2008-06-14 11:43:05 +00:00
SendUnicodeChar ( 0x03C5 ) ; upsilon
2008-05-06 11:41:19 +00:00
else if Ebene = 6
2008-06-14 11:43:05 +00:00
SendUnicodeChar ( 0x2207 ) ; nabla
2008-05-06 11:41:19 +00:00
PriorDeadKey := " " CompKey := " "
return
;SC02B (#) wird zu Mod3
/*
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Reihe 4
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
* /
;SC056 (<) wird zu Mod4
2008-06-18 23:26:43 +00:00
neo_<EFBFBD> :
2008-05-06 11:41:19 +00:00
EbeneAktualisieren ( )
if Ebene = 1
2008-06-11 17:08:16 +00:00
{
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " t2 " ) ; macron
2008-06-11 17:08:16 +00:00
BSSendUnicodeChar ( 0x01D6 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " a1 " ) ; akut
2008-06-11 17:08:16 +00:00
BSSendUnicodeChar ( 0x01D8 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " a2 " ) ; grave
2008-06-11 17:08:16 +00:00
BSSendUnicodeChar ( 0x01DC )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " c2 " ) ; caron
2008-06-11 17:08:16 +00:00
BSSendUnicodeChar ( 0x01DA )
2008-06-14 11:43:05 +00:00
else
2008-06-11 17:08:16 +00:00
sendinput { blind } <EFBFBD>
}
2008-05-06 11:41:19 +00:00
else if Ebene = 2
2008-06-11 17:08:16 +00:00
{
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " t2 " ) ; macron
2008-06-11 17:08:16 +00:00
BSSendUnicodeChar ( 0x01D5 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " a1 " ) ; akut
2008-06-11 17:08:16 +00:00
BSSendUnicodeChar ( 0x01D7 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " a2 " ) ; grave
2008-06-11 17:08:16 +00:00
BSSendUnicodeChar ( 0x01DB )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " c2 " ) ; caron
2008-06-11 17:08:16 +00:00
BSSendUnicodeChar ( 0x01D9 )
2008-06-14 11:43:05 +00:00
else
2008-06-11 17:08:16 +00:00
sendinput { blind } <EFBFBD>
}
2008-05-06 11:41:19 +00:00
else if Ebene = 3
send { blind } { # }
2008-06-14 11:43:05 +00:00
else if Ebene = 4
2008-05-06 11:41:19 +00:00
Send { Esc }
2008-06-14 11:43:05 +00:00
else if Ebene = 5
{ } ; leer
else if Ebene = 6
SendUnicodeChar ( 0x221D ) ; proportional
2008-05-06 11:41:19 +00:00
PriorDeadKey := " " CompKey := " "
return
2008-06-18 23:26:43 +00:00
neo_<EFBFBD> :
2008-05-06 11:41:19 +00:00
EbeneAktualisieren ( )
if Ebene = 1
2008-06-11 17:08:16 +00:00
{
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " t2 " ) ; macron
2008-06-11 17:08:16 +00:00
BSSendUnicodeChar ( 0x022B )
2008-06-14 11:43:05 +00:00
else
2008-06-11 17:08:16 +00:00
sendinput { blind } <EFBFBD>
}
2008-05-06 11:41:19 +00:00
else if Ebene = 2
2008-06-11 17:08:16 +00:00
{
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " t2 " ) ; macron
2008-06-11 17:08:16 +00:00
BSSendUnicodeChar ( 0x022A )
2008-06-14 11:43:05 +00:00
else
2008-06-11 17:08:16 +00:00
sendinput { blind } <EFBFBD>
}
2008-05-06 11:41:19 +00:00
else if Ebene = 3
send $
2008-06-14 11:43:05 +00:00
else if Ebene = 4
2008-06-22 10:53:17 +00:00
goto neo_tab
2008-06-14 11:43:05 +00:00
else if Ebene = 5
{ } ;leer
2008-05-06 11:41:19 +00:00
else if Ebene = 6
2008-06-14 11:43:05 +00:00
SendUnicodeChar ( 0x2111 ) ; Fraktur I
2008-05-06 11:41:19 +00:00
PriorDeadKey := " " CompKey := " "
return
2008-06-18 23:26:43 +00:00
neo_<EFBFBD> :
2008-05-06 11:41:19 +00:00
EbeneAktualisieren ( )
if Ebene = 1
2008-06-11 17:08:16 +00:00
{
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " t2 " ) ; macron
2008-06-11 17:08:16 +00:00
BSSendUnicodeChar ( 0x01DF )
2008-06-14 11:43:05 +00:00
else
2008-06-11 17:08:16 +00:00
sendinput { blind } <EFBFBD>
}
2008-05-06 11:41:19 +00:00
else if Ebene = 2
2008-06-11 17:08:16 +00:00
{
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " t2 " ) ; macron
2008-06-11 17:08:16 +00:00
BSSendUnicodeChar ( 0x001DE )
2008-06-14 11:43:05 +00:00
else
2008-06-11 17:08:16 +00:00
sendinput { blind } <EFBFBD>
}
2008-05-06 11:41:19 +00:00
else if Ebene = 3
send |
else if Ebene = 4
Send { PgDn } ; Next
2008-06-14 11:43:05 +00:00
else if Ebene = 5
SendUnicodeChar ( 0x03B7 ) ; eta
2008-05-06 11:41:19 +00:00
else if Ebene = 6
2008-06-14 11:43:05 +00:00
SendUnicodeChar ( 0x211C ) ; altes R
2008-05-06 11:41:19 +00:00
PriorDeadKey := " " CompKey := " "
return
2008-06-18 23:26:43 +00:00
neo_p:
2008-05-06 11:41:19 +00:00
EbeneAktualisieren ( )
if Ebene = 1
{
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " a5 " ) ; punkt dar<61> ber
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x1E57 )
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
sendinput { blind } p
}
else if Ebene = 2
{
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " a5 " ) ; punkt dar<61> ber
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x1E56 )
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
sendinput { blind } P
}
else if Ebene = 3
{
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " t1 " ) ; tilde
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x2248 )
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
sendraw ~
}
else if Ebene = 4
2008-06-21 19:27:39 +00:00
Send { Enter }
2008-06-14 11:43:05 +00:00
else if Ebene = 5
SendUnicodeChar ( 0x03C0 ) ;pi
2008-05-06 11:41:19 +00:00
else if Ebene = 6
SendUnicodeChar ( 0x03A0 ) ; Pi
PriorDeadKey := " " CompKey := " "
return
2008-06-18 23:26:43 +00:00
neo_z:
2008-05-06 11:41:19 +00:00
EbeneAktualisieren ( )
if Ebene = 1
{
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " c2 " ) ; caron
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x017E )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " a1 " ) ; akut
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x017A )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " a5 " ) ; punkt dr<64> ber
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x017C )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " c6 " ) ; punkt drunter
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x1E93 )
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
sendinput { blind } z
}
else if Ebene = 2
{
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " c2 " ) ; caron
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x017D )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " a1 " ) ; akut
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x0179 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " a5 " ) ; punkt dar<61> ber
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x017B )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " c6 " ) ; punkt drunter
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x1E92 )
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
sendinput { blind } Z
}
else if Ebene = 3
send `` { space } ; untot
2008-06-14 20:31:51 +00:00
else if Ebene = 4
2008-06-14 11:43:05 +00:00
{ } ; leer
else if Ebene = 5
SendUnicodeChar ( 0x03B6 ) ;zeta
2008-05-06 11:41:19 +00:00
else if Ebene = 6
2008-06-14 11:43:05 +00:00
SendUnicodeChar ( 0x2124 ) ; Z (ganze Zahlen)
2008-05-06 11:41:19 +00:00
PriorDeadKey := " " CompKey := " "
return
2008-06-18 23:26:43 +00:00
neo_b:
2008-05-06 11:41:19 +00:00
EbeneAktualisieren ( )
if Ebene = 1
{
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " a5 " ) ; punkt dar<61> ber
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x1E03 )
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
sendinput { blind } b
}
else if Ebene = 2
{
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " a5 " ) ; punkt dar<61> ber
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x1E02 )
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
sendinput { blind } B
}
else if Ebene = 3
send { blind } { + }
else if Ebene = 4
2008-06-21 16:03:40 +00:00
send :
2008-06-14 11:43:05 +00:00
else if Ebene = 5
SendUnicodeChar ( 0x03B2 ) ; beta
2008-05-06 11:41:19 +00:00
else if Ebene = 6
2008-06-14 11:43:05 +00:00
SendUnicodeChar ( 0x21D2 ) ; Doppel-Pfeil rechts
2008-05-06 11:41:19 +00:00
PriorDeadKey := " " CompKey := " "
return
2008-06-18 23:26:43 +00:00
neo_m:
2008-05-06 11:41:19 +00:00
EbeneAktualisieren ( )
if Ebene = 1
{
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " a5 " ) ; punkt dar<61> ber
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x1E41 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " c6 " ) ; punkt darunter
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x1E43 )
2008-06-14 11:43:05 +00:00
else if ( ( CompKey = " t_small " ) or ( CompKey = " t_capital " ) ) ; compose
2008-05-06 11:41:19 +00:00
CompUnicodeChar ( 0x2122 ) ; TM
2008-06-14 11:43:05 +00:00
else if ( ( CompKey = " s_small " ) or ( CompKey = " s_capital " ) ) ; compose
2008-05-06 11:41:19 +00:00
CompUnicodeChar ( 0x2120 ) ; SM
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
sendinput { blind } m
}
else if Ebene = 2
{
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " a5 " ) ; punkt dar<61> ber
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x1E40 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " c6 " ) ; punkt darunter
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x1E42 )
2008-06-14 11:43:05 +00:00
else if ( ( CompKey = " t_capital " ) or ( CompKey = " t_small " ) ) ; compose
2008-05-06 11:41:19 +00:00
CompUnicodeChar ( 0x2122 ) ; TM
2008-06-14 11:43:05 +00:00
else if ( ( CompKey = " s_capital " ) or ( CompKey = " s_small " ) ) ; compose
2008-05-06 11:41:19 +00:00
CompUnicodeChar ( 0x2120 ) ; SM
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
sendinput { blind } M
}
else if Ebene = 3
send `%
else if Ebene = 4
{
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " c1 " ) ; circumflex
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x00B9 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " c4 " ) ; toter -
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x2081 )
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
Send 1
}
2008-06-14 11:43:05 +00:00
else if Ebene = 5
SendUnicodeChar ( 0x03BC ) ; griechisch mu, micro w<> re 0x00B5
2008-05-06 11:41:19 +00:00
else if Ebene = 6
2008-06-14 11:43:05 +00:00
SendUnicodeChar ( 0x21D4 ) ; doppelter Doppelpfeil (genau dann wenn)
2008-05-06 11:41:19 +00:00
PriorDeadKey := " " CompKey := " "
return
2008-06-18 23:26:43 +00:00
neo_komma:
2008-05-06 11:41:19 +00:00
EbeneAktualisieren ( )
if Ebene = 1
2008-06-11 17:08:16 +00:00
{
2008-06-14 11:43:05 +00:00
if GetKeyState ( " CapsLock " , " T " )
2008-06-11 17:08:16 +00:00
{
2008-06-14 11:43:05 +00:00
if ( IsModifierPressed ( ) )
2008-06-11 17:08:16 +00:00
{
send { blind } ,
}
2008-06-14 11:43:05 +00:00
else
2008-06-11 17:08:16 +00:00
{
send `,
}
}
2008-06-14 11:43:05 +00:00
else {
2008-06-11 17:08:16 +00:00
send { blind } ,
}
}
2008-06-10 20:35:23 +00:00
else if Ebene = 2
SendUnicodeChar ( 0x22EE ) ; vertikale ellipse
2008-05-06 11:41:19 +00:00
else if Ebene = 3
send "
else if Ebene = 4
{
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " c1 " ) ; circumflex
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x00B2 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " c4 " ) ; toter -
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x2082 )
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
Send 2
}
2008-06-14 11:43:05 +00:00
else if Ebene = 5
2008-06-21 16:18:44 +00:00
SendUnicodeChar ( 0x03C1 ) ; rho
2008-05-06 11:41:19 +00:00
else if Ebene = 6
2008-06-14 11:43:05 +00:00
SendUnicodeChar ( 0x21D0 ) ; Doppelpfeil links
2008-05-06 11:41:19 +00:00
PriorDeadKey := " " CompKey := " "
return
2008-06-18 23:26:43 +00:00
neo_punkt:
2008-05-06 11:41:19 +00:00
EbeneAktualisieren ( )
if Ebene = 1
2008-06-11 17:08:16 +00:00
{
2008-06-14 11:43:05 +00:00
if GetKeyState ( " CapsLock " , " T " )
2008-06-11 17:08:16 +00:00
{
2008-06-14 11:43:05 +00:00
if ( IsModifierPressed ( ) )
2008-06-11 17:08:16 +00:00
{
send { blind } .
}
2008-06-14 11:43:05 +00:00
else
2008-06-11 17:08:16 +00:00
{
send .
}
}
2008-06-14 11:43:05 +00:00
else {
2008-06-11 17:08:16 +00:00
send { blind } .
}
}
else if Ebene = 2
2008-05-06 11:41:19 +00:00
SendUnicodeChar ( 0x2026 ) ; ellipse
else if Ebene = 3
send '
else if Ebene = 4
{
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " c1 " ) ; circumflex
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x00B3 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " c4 " ) ; toter -
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x2083 )
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
Send 3
}
2008-06-14 11:43:05 +00:00
else if Ebene = 5
2008-06-21 16:18:44 +00:00
SendUnicodeChar ( 0x03D1 ) ; theta symbol (vartheta)
2008-05-06 11:41:19 +00:00
else if Ebene = 6
SendUnicodeChar ( 0x0398 ) ; Theta
PriorDeadKey := " " CompKey := " "
return
2008-06-18 23:26:43 +00:00
neo_j:
2008-05-06 11:41:19 +00:00
EbeneAktualisieren ( )
if Ebene = 1
{
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " c1 " ) ; circumflex
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x0135 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " c2 " ) ; caron
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x01F0 )
2008-06-14 11:43:05 +00:00
else if ( CompKey = " i_small " ) ; compose
2008-05-06 11:41:19 +00:00
CompUnicodeChar ( 0x0133 ) ; ij
2008-06-14 11:43:05 +00:00
else if ( CompKey = " l_small " ) ; compose
2008-05-06 11:41:19 +00:00
CompUnicodeChar ( 0x01C9 ) ; lj
2008-06-14 11:43:05 +00:00
else if ( CompKey = " l_capital " ) ; compose
2008-05-06 11:41:19 +00:00
CompUnicodeChar ( 0x01C8 ) ; Lj
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
sendinput { blind } j
}
else if Ebene = 2
{
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " c1 " ) ; circumflex
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x0134 )
2008-06-14 11:43:05 +00:00
else if ( CompKey = " i_capital " ) ; compose
2008-05-06 11:41:19 +00:00
CompUnicodeChar ( 0x0132 ) ; IJ
2008-06-14 11:43:05 +00:00
else if ( CompKey = " l_capital " ) ; compose
2008-05-06 11:41:19 +00:00
CompUnicodeChar ( 0x01C7 ) ; LJ
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
sendinput { blind } J
}
else if Ebene = 3
send `;
else if Ebene = 4
2008-06-21 16:03:40 +00:00
Send `;
2008-05-06 11:41:19 +00:00
else if Ebene = 5
2008-06-21 16:18:44 +00:00
SendUnicodeChar ( 0x03B8 ) ; theta
2008-05-06 11:41:19 +00:00
else if Ebene = 6
2008-06-14 11:43:05 +00:00
SendUnicodeChar ( 0x2261 ) ; identisch
2008-05-06 11:41:19 +00:00
PriorDeadKey := " " CompKey := " "
return
/*
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Numpad
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
folgende Tasten verhalten sich bei ein - und ausgeschaltetem
NumLock gleich :
* /
2008-06-18 23:26:43 +00:00
neo_NumpadDiv:
2008-05-06 11:41:19 +00:00
EbeneAktualisieren ( )
if ( ( Ebene = 1 ) or ( Ebene = 2 ) )
send { NumpadDiv }
else if Ebene = 3
send <EFBFBD>
else if ( ( Ebene = 4 ) or ( Ebene = 5 ) )
SendUnicodeChar ( 0x2215 ) ; slash
PriorDeadKey := " " CompKey := " "
return
2008-06-18 23:26:43 +00:00
neo_NumpadMult:
2008-05-06 11:41:19 +00:00
EbeneAktualisieren ( )
if ( ( Ebene = 1 ) or ( Ebene = 2 ) )
send { NumpadMult }
else if Ebene = 3
send <EFBFBD>
else if ( ( Ebene = 4 ) or ( Ebene = 5 ) )
SendUnicodeChar ( 0x22C5 ) ; cdot
PriorDeadKey := " " CompKey := " "
return
2008-06-18 23:26:43 +00:00
neo_NumpadSub:
2008-05-06 11:41:19 +00:00
EbeneAktualisieren ( )
if ( ( Ebene = 1 ) or ( Ebene = 2 ) )
{
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " c1 " ) ; circumflex
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x207B )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " c4 " ) ; toter -
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x208B )
2008-06-14 11:43:05 +00:00
else
2008-06-11 17:08:16 +00:00
send { blind } { NumpadSub }
2008-05-06 11:41:19 +00:00
}
else if Ebene = 3
SendUnicodeChar ( 0x2212 ) ; echtes minus
PriorDeadKey := " " CompKey := " "
return
2008-06-18 23:26:43 +00:00
neo_NumpadAdd:
2008-05-06 11:41:19 +00:00
EbeneAktualisieren ( )
if ( ( Ebene = 1 ) or ( Ebene = 2 ) )
{
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " c1 " ) ; circumflex
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x207A )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " c4 " ) ; toter -
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x208A )
2008-06-14 11:43:05 +00:00
else
2008-06-11 17:08:16 +00:00
send { blind } { NumpadAdd }
2008-05-06 11:41:19 +00:00
}
else if Ebene = 3
send <EFBFBD>
else if ( ( Ebene = 4 ) or ( Ebene = 5 ) )
SendUnicodeChar ( 0x2213 ) ; -+
PriorDeadKey := " " CompKey := " "
return
2008-06-18 23:26:43 +00:00
neo_NumpadEnter:
2008-05-06 11:41:19 +00:00
EbeneAktualisieren ( )
if ( ( Ebene = 1 ) or ( Ebene = 2 ) )
send { NumpadEnter }
else if Ebene = 3
SendUnicodeChar ( 0x2260 ) ; neq
else if ( ( Ebene = 4 ) or ( Ebene = 5 ) )
SendUnicodeChar ( 0x2248 ) ; approx
PriorDeadKey := " " CompKey := " "
return
/*
folgende Tasten verhalten sich bei ein - und ausgeschaltetem NumLock
unterschiedlich:
bei NumLock ein
* /
2008-06-18 23:26:43 +00:00
neo_Numpad7:
2008-05-06 11:41:19 +00:00
EbeneAktualisieren ( )
if Ebene = 1
{
2008-06-11 17:08:16 +00:00
send { blind } { Numpad7 }
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " comp " )
2008-05-06 11:41:19 +00:00
CompKey := " Num_7 "
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
CompKey := " "
}
else if Ebene = 2
{
send { NumpadHome }
CompKey := " "
}
else if Ebene = 3
{
SendUnicodeChar ( 0x2195 ) ; Hoch-Runter-Pfeil
CompKey := " "
}
else if ( ( Ebene = 4 ) or ( Ebene = 5 ) )
{
SendUnicodeChar ( 0x226A ) ; ll
CompKey := " "
}
PriorDeadKey := " "
return
2008-06-18 23:26:43 +00:00
neo_Numpad8:
2008-05-06 11:41:19 +00:00
EbeneAktualisieren ( )
if Ebene = 1
{
2008-06-14 11:43:05 +00:00
if ( CompKey = " Num_1 " )
2008-05-06 11:41:19 +00:00
CompUnicodeChar ( 0x215B ) ; 1/8
2008-06-14 11:43:05 +00:00
else if ( CompKey = " Num_3 " )
2008-05-06 11:41:19 +00:00
CompUnicodeChar ( 0x215C ) ; 3/8
2008-06-14 11:43:05 +00:00
else if ( CompKey = " Num_5 " )
2008-05-06 11:41:19 +00:00
CompUnicodeChar ( 0x215D ) ; 5/8
2008-06-14 11:43:05 +00:00
else if ( CompKey = " Num_7 " )
2008-05-06 11:41:19 +00:00
CompUnicodeChar ( 0x215E ) ; 7/8
2008-06-14 11:43:05 +00:00
else
2008-06-11 17:08:16 +00:00
send { blind } { Numpad8 }
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " comp " )
2008-05-06 11:41:19 +00:00
CompKey := " Num_8 "
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
CompKey := " "
}
else if Ebene = 2
{
send { NumpadUp }
CompKey := " "
}
else if Ebene = 3
{
SendUnicodeChar ( 0x2191 ) ; uparrow
CompKey := " "
}
else if ( ( Ebene = 4 ) or ( Ebene = 5 ) )
{
SendUnicodeChar ( 0x2229 ) ; intersection
CompKey := " "
}
PriorDeadKey := " " CompKey := " "
return
2008-06-18 23:26:43 +00:00
neo_Numpad9:
2008-05-06 11:41:19 +00:00
EbeneAktualisieren ( )
if Ebene = 1
{
2008-06-11 17:08:16 +00:00
send { blind } { Numpad9 }
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " comp " )
2008-05-06 11:41:19 +00:00
CompKey := " Num_9 "
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
CompKey := " "
}
else if Ebene = 2
{
send { NumpadPgUp }
CompKey := " "
}
else if ( ( Ebene = 4 ) or ( Ebene = 5 ) )
{
SendUnicodeChar ( 0x226B ) ; gg
CompKey := " "
}
PriorDeadKey := " "
return
2008-06-18 23:26:43 +00:00
neo_Numpad4:
2008-05-06 11:41:19 +00:00
EbeneAktualisieren ( )
if Ebene = 1
{
2008-06-14 11:43:05 +00:00
if ( CompKey = " Num_1 " )
2008-05-06 11:41:19 +00:00
CompUnicodeChar ( 0x00BC ) ; 1/4
2008-06-14 11:43:05 +00:00
else if ( CompKey = " Num_3 " )
2008-05-06 11:41:19 +00:00
CompUnicodeChar ( 0x00BE ) ; 3/4
2008-06-14 11:43:05 +00:00
else
2008-06-11 17:08:16 +00:00
send { blind } { Numpad4 }
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " comp " )
2008-05-06 11:41:19 +00:00
CompKey := " Num_4 "
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
CompKey := " "
}
else if Ebene = 2
{
send { NumpadLeft }
CompKey := " "
}
else if Ebene = 3
{
SendUnicodeChar ( 0x2190 ) ; leftarrow
CompKey := " "
}
else if ( ( Ebene = 4 ) or ( Ebene = 5 ) )
{
SendUnicodeChar ( 0x2282 ) ; subset of
CompKey := " "
}
PriorDeadKey := " "
return
2008-06-18 23:26:43 +00:00
neo_Numpad5:
2008-05-06 11:41:19 +00:00
EbeneAktualisieren ( )
if Ebene = 1
{
2008-06-14 11:43:05 +00:00
if ( CompKey = " Num_1 " )
2008-05-06 11:41:19 +00:00
CompUnicodeChar ( 0x2155 ) ; 1/5
2008-06-14 11:43:05 +00:00
else if ( CompKey = " Num_2 " )
2008-05-06 11:41:19 +00:00
CompUnicodeChar ( 0x2156 ) ; 2/5
2008-06-14 11:43:05 +00:00
else if ( CompKey = " Num_3 " )
2008-05-06 11:41:19 +00:00
CompUnicodeChar ( 0x2157 ) ; 3/5
2008-06-14 11:43:05 +00:00
else if ( CompKey = " Num_4 " )
2008-05-06 11:41:19 +00:00
CompUnicodeChar ( 0x2158 ) ; 4/5
2008-06-14 11:43:05 +00:00
else
2008-06-11 17:08:16 +00:00
send { blind } { Numpad5 }
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " comp " )
2008-05-06 11:41:19 +00:00
CompKey := " Num_5 "
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
CompKey := " "
}
else if Ebene = 2
{
send { NumpadClear }
CompKey := " "
}
else if Ebene = 3
{
send <EFBFBD>
CompKey := " "
}
else if ( ( Ebene = 4 ) or ( Ebene = 5 ) )
{
SendUnicodeChar ( 0x220A ) ; small element of
CompKey := " "
}
PriorDeadKey := " "
return
2008-06-18 23:26:43 +00:00
neo_Numpad6:
2008-05-06 11:41:19 +00:00
EbeneAktualisieren ( )
if Ebene = 1
{
2008-06-14 11:43:05 +00:00
if ( CompKey = " Num_1 " )
2008-05-06 11:41:19 +00:00
CompUnicodeChar ( 0x2159 ) ; 1/6
2008-06-14 11:43:05 +00:00
else if ( CompKey = " Num_5 " )
2008-05-06 11:41:19 +00:00
CompUnicodeChar ( 0x215A ) ; 5/6
2008-06-14 11:43:05 +00:00
else
2008-06-11 17:08:16 +00:00
send { blind } { Numpad6 }
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " comp " )
2008-05-06 11:41:19 +00:00
CompKey := " Num_6 "
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
CompKey := " "
}
else if Ebene = 2
{
send { NumpadRight }
CompKey := " "
}
else if Ebene = 3
{
SendUnicodeChar ( 0x2192 ) ; rightarrow
CompKey := " "
}
else if ( ( Ebene = 4 ) or ( Ebene = 5 ) )
{
SendUnicodeChar ( 0x2283 ) ; superset of
CompKey := " "
}
PriorDeadKey := " "
return
2008-06-18 23:26:43 +00:00
neo_Numpad1:
2008-05-06 11:41:19 +00:00
EbeneAktualisieren ( )
if Ebene = 1
{
2008-06-11 17:08:16 +00:00
send { blind } { Numpad1 }
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " comp " )
2008-05-06 11:41:19 +00:00
CompKey := " Num_1 "
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
CompKey := " "
}
else if Ebene = 2
{
send { NumpadEnd }
CompKey := " "
}
else if Ebene = 3
{
SendUnicodeChar ( 0x2194 ) ; Links-Rechts-Pfeil
CompKey := " "
}
else if ( ( Ebene = 4 ) or ( Ebene = 5 ) )
{
SendUnicodeChar ( 0x2264 ) ; leq
CompKey := " "
}
PriorDeadKey := " "
return
2008-06-18 23:26:43 +00:00
neo_Numpad2:
2008-05-06 11:41:19 +00:00
EbeneAktualisieren ( )
if Ebene = 1
{
2008-06-14 11:43:05 +00:00
if ( CompKey = " Num_1 " )
2008-05-06 11:41:19 +00:00
CompUnicodeChar ( 0x00BD ) ; 1/2
2008-06-14 11:43:05 +00:00
else
2008-06-11 17:08:16 +00:00
send { blind } { Numpad2 }
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " comp " )
2008-05-06 11:41:19 +00:00
CompKey := " Num_2 "
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
CompKey := " "
}
else if Ebene = 2
{
send { NumpadDown }
CompKey := " "
}
else if Ebene = 3
{
SendUnicodeChar ( 0x2193 ) ; downarrow
CompKey := " "
}
else if ( ( Ebene = 4 ) or ( Ebene = 5 ) )
{
SendUnicodeChar ( 0x222A ) ; vereinigt
CompKey := " "
}
PriorDeadKey := " "
return
2008-06-18 23:26:43 +00:00
neo_Numpad3:
2008-05-06 11:41:19 +00:00
EbeneAktualisieren ( )
if Ebene = 1
{
2008-06-14 11:43:05 +00:00
if ( CompKey = " Num_1 " )
2008-05-06 11:41:19 +00:00
CompUnicodeChar ( 0x2153 ) ; 1/3
2008-06-14 11:43:05 +00:00
else if ( CompKey = " Num_2 " )
2008-05-06 11:41:19 +00:00
CompUnicodeChar ( 0x2154 ) ; 2/3
2008-06-14 11:43:05 +00:00
else
2008-06-11 17:08:16 +00:00
send { blind } { Numpad3 }
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " comp " )
2008-05-06 11:41:19 +00:00
CompKey := " Num_3 "
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
CompKey := " "
}
else if Ebene = 2
send { NumpadPgDn }
else if Ebene = 3
SendUnicodeChar ( 0x21CC ) ; RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON
else if ( ( Ebene = 4 ) or ( Ebene = 5 ) )
SendUnicodeChar ( 0x2265 ) ; geq
PriorDeadKey := " " CompKey := " "
return
2008-06-18 23:26:43 +00:00
neo_Numpad0:
2008-05-06 11:41:19 +00:00
EbeneAktualisieren ( )
if Ebene = 1
{
2008-06-11 17:08:16 +00:00
send { blind } { Numpad0 }
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " comp " )
2008-05-06 11:41:19 +00:00
CompKey := " Num_0 "
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
CompKey := " "
}
else if Ebene = 2
{
send { NumpadIns }
CompKey := " "
}
else if Ebene = 3
{
send `%
CompKey := " "
}
else if ( ( Ebene = 4 ) or ( Ebene = 5 ) )
{
send <EFBFBD>
CompKey := " "
}
PriorDeadKey := " "
return
2008-06-18 23:26:43 +00:00
neo_NumpadDot:
2008-05-06 11:41:19 +00:00
EbeneAktualisieren ( )
if Ebene = 1
{
send { NumpadDot }
CompKey := " "
}
else if Ebene = 2
{
send { NumpadDel }
CompKey := " "
}
else if Ebene = 3
{
send .
CompKey := " "
}
else if ( ( Ebene = 4 ) or ( Ebene = 5 ) )
{
send `,
CompKey := " "
}
PriorDeadKey := " "
return
/*
bei NumLock aus
* /
2008-06-18 23:26:43 +00:00
neo_NumpadHome:
2008-05-06 11:41:19 +00:00
EbeneAktualisieren ( )
if Ebene = 1
{
send { NumpadHome }
CompKey := " "
}
else if Ebene = 2
{
send { Numpad7 }
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " comp " )
2008-05-06 11:41:19 +00:00
CompKey := " Num_7 "
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
CompKey := " "
}
else if ( ( Ebene = 4 ) or ( Ebene = 5 ) )
{
SendUnicodeChar ( 0x226A ) ; ll
CompKey := " "
}
PriorDeadKey := " "
return
2008-06-18 23:26:43 +00:00
neo_NumpadUp:
2008-05-06 11:41:19 +00:00
EbeneAktualisieren ( )
if Ebene = 1
{
send { NumpadUp }
CompKey := " "
}
else if Ebene = 2
{
2008-06-14 11:43:05 +00:00
if ( CompKey = " Num_1 " )
2008-05-06 11:41:19 +00:00
CompUnicodeChar ( 0x215B ) ; 1/8
2008-06-14 11:43:05 +00:00
else if ( CompKey = " Num_3 " )
2008-05-06 11:41:19 +00:00
CompUnicodeChar ( 0x215C ) ; 3/8
2008-06-14 11:43:05 +00:00
else if ( CompKey = " Num_5 " )
2008-05-06 11:41:19 +00:00
CompUnicodeChar ( 0x215D ) ; 5/8
2008-06-14 11:43:05 +00:00
else if ( CompKey = " Num_7 " )
2008-05-06 11:41:19 +00:00
CompUnicodeChar ( 0x215E ) ; 7/8
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
send { Numpad8 }
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " comp " )
2008-05-06 11:41:19 +00:00
CompKey := " Num_8 "
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
CompKey := " "
}
else if Ebene = 3
{
SendUnicodeChar ( 0x2191 ) ; uparrow
CompKey := " "
}
else if ( ( Ebene = 4 ) or ( Ebene = 5 ) )
{
SendUnicodeChar ( 0x2229 ) ; intersection
CompKey := " "
}
PriorDeadKey := " "
return
2008-06-18 23:26:43 +00:00
neo_NumpadPgUp:
2008-05-06 11:41:19 +00:00
EbeneAktualisieren ( )
if Ebene = 1
{
send { NumpadPgUp }
CompKey := " "
}
else if Ebene = 2
{
send { Numpad9 }
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " comp " )
2008-05-06 11:41:19 +00:00
CompKey := " Num_9 "
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
CompKey := " "
}
else if ( ( Ebene = 4 ) or ( Ebene = 5 ) )
{
SendUnicodeChar ( 0x226B ) ; gg
CompKey := " "
}
PriorDeadKey := " "
return
2008-06-18 23:26:43 +00:00
neo_NumpadLeft:
2008-05-06 11:41:19 +00:00
EbeneAktualisieren ( )
if Ebene = 1
{
send { NumpadLeft }
CompKey := " "
}
else if Ebene = 2
{
2008-06-14 11:43:05 +00:00
if ( CompKey = " Num_1 " )
2008-05-06 11:41:19 +00:00
CompUnicodeChar ( 0x00BC ) ; 1/4
2008-06-14 11:43:05 +00:00
else if ( CompKey = " Num_3 " )
2008-05-06 11:41:19 +00:00
CompUnicodeChar ( 0x00BE ) ; 3/4
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
send { Numpad4 }
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " comp " )
2008-05-06 11:41:19 +00:00
CompKey := " Num_4 "
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
CompKey := " "
}
else if Ebene = 3
{
SendUnicodeChar ( 0x2190 ) ; leftarrow
CompKey := " "
}
else if ( ( Ebene = 4 ) or ( Ebene = 5 ) )
{
SendUnicodeChar ( 0x2282 ) ; subset of
CompKey := " "
}
PriorDeadKey := " "
return
2008-06-18 23:26:43 +00:00
neo_NumpadClear:
2008-05-06 11:41:19 +00:00
EbeneAktualisieren ( )
if Ebene = 1
{
send { NumpadClear }
CompKey := " "
}
else if Ebene = 2
{
2008-06-14 11:43:05 +00:00
if ( CompKey = " Num_1 " )
2008-05-06 11:41:19 +00:00
CompUnicodeChar ( 0x2155 ) ; 1/5
2008-06-14 11:43:05 +00:00
else if ( CompKey = " Num_2 " )
2008-05-06 11:41:19 +00:00
CompUnicodeChar ( 0x2156 ) ; 2/5
2008-06-14 11:43:05 +00:00
else if ( CompKey = " Num_3 " )
2008-05-06 11:41:19 +00:00
CompUnicodeChar ( 0x2157 ) ; 3/5
2008-06-14 11:43:05 +00:00
else if ( CompKey = " Num_4 " )
2008-05-06 11:41:19 +00:00
CompUnicodeChar ( 0x2158 ) ; 4/5
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
send { Numpad5 }
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " comp " )
2008-05-06 11:41:19 +00:00
CompKey := " Num_5 "
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
CompKey := " "
}
else if Ebene = 3
{
send <EFBFBD>
CompKey := " "
}
else if ( ( Ebene = 4 ) or ( Ebene = 5 ) )
{
SendUnicodeChar ( 0x220A ) ; small element of
CompKey := " "
}
PriorDeadKey := " "
return
2008-06-18 23:26:43 +00:00
neo_NumpadRight:
2008-05-06 11:41:19 +00:00
EbeneAktualisieren ( )
if Ebene = 1
{
send { NumpadRight }
CompKey := " "
}
else if Ebene = 2
{
2008-06-14 11:43:05 +00:00
if ( CompKey = " Num_1 " )
2008-05-06 11:41:19 +00:00
CompUnicodeChar ( 0x2159 ) ; 1/6
2008-06-14 11:43:05 +00:00
else if ( CompKey = " Num_5 " )
2008-05-06 11:41:19 +00:00
CompUnicodeChar ( 0x215A ) ; 5/6
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
send { Numpad6 }
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " comp " )
2008-05-06 11:41:19 +00:00
CompKey := " Num_6 "
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
CompKey := " "
}
else if Ebene = 3
{
SendUnicodeChar ( 0x2192 ) ; rightarrow
CompKey := " "
}
else if ( ( Ebene = 4 ) or ( Ebene = 5 ) )
{
SendUnicodeChar ( 0x2283 ) ; superset of
CompKey := " "
}
PriorDeadKey := " "
return
2008-06-18 23:26:43 +00:00
neo_NumpadEnd:
2008-05-06 11:41:19 +00:00
EbeneAktualisieren ( )
if Ebene = 1
{
send { NumpadEnd }
CompKey := " "
}
else if Ebene = 2
{
send { Numpad1 }
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " comp " )
2008-05-06 11:41:19 +00:00
CompKey := " Num_1 "
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
CompKey := " "
}
else if Ebene = 3
{
SendUnicodeChar ( 0x21CB ) ; LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON
CompKey := " "
}
else if ( ( Ebene = 4 ) or ( Ebene = 5 ) )
{
SendUnicodeChar ( 0x2264 ) ; leq
CompKey := " "
}
PriorDeadKey := " "
return
2008-06-18 23:26:43 +00:00
neo_NumpadDown:
2008-05-06 11:41:19 +00:00
EbeneAktualisieren ( )
if Ebene = 1
{
send { NumpadDown }
CompKey := " "
}
else if Ebene = 2
{
2008-06-14 11:43:05 +00:00
if ( CompKey = " Num_1 " )
2008-05-06 11:41:19 +00:00
CompUnicodeChar ( 0x00BD ) ; 1/2
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
send { Numpad2 }
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " comp " )
2008-05-06 11:41:19 +00:00
CompKey := " Num_2 "
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
CompKey := " "
}
else if Ebene = 3
{
SendUnicodeChar ( 0x2193 ) ; downarrow
CompKey := " "
}
else if ( ( Ebene = 4 ) or ( Ebene = 5 ) )
{
SendUnicodeChar ( 0x222A ) ; vereinigt
CompKey := " "
}
PriorDeadKey := " "
return
2008-06-18 23:26:43 +00:00
neo_NumpadPgDn:
2008-05-06 11:41:19 +00:00
EbeneAktualisieren ( )
if Ebene = 1
{
send { NumpadPgDn }
CompKey := " "
}
else if Ebene = 2
{
2008-06-14 11:43:05 +00:00
if ( CompKey = " Num_1 " )
2008-05-06 11:41:19 +00:00
CompUnicodeChar ( 0x2153 ) ; 1/3
2008-06-14 11:43:05 +00:00
else if ( CompKey = " Num_2 " )
2008-05-06 11:41:19 +00:00
CompUnicodeChar ( 0x2154 ) ; 2/3
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
send { Numpad3 }
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " comp " )
2008-05-06 11:41:19 +00:00
CompKey := " Num_3 "
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
CompKey := " "
}
else if Ebene = 3
{
SendUnicodeChar ( 0x21CC ) ; RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON
CompKey := " "
}
else if ( ( Ebene = 4 ) or ( Ebene = 5 ) )
{
SendUnicodeChar ( 0x2265 ) ; geq
CompKey := " "
}
PriorDeadKey := " "
return
2008-06-18 23:26:43 +00:00
neo_NumpadIns:
2008-05-06 11:41:19 +00:00
EbeneAktualisieren ( )
if Ebene = 1
{
send { NumpadIns }
CompKey := " "
}
else if Ebene = 2
{
send { Numpad0 }
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " comp " )
2008-05-06 11:41:19 +00:00
CompKey := " Num_0 "
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
CompKey := " "
}
else if Ebene = 3
{
send `%
CompKey := " "
}
else if ( ( Ebene = 4 ) or ( Ebene = 5 ) )
{
send <EFBFBD>
CompKey := " "
}
PriorDeadKey := " "
return
2008-06-18 23:26:43 +00:00
neo_NumpadDel:
2008-05-06 11:41:19 +00:00
EbeneAktualisieren ( )
if Ebene = 1
{
send { NumpadDel }
CompKey := " "
}
else if Ebene = 2
{
send { NumpadDot }
CompKey := " "
}
else if Ebene = 3
{
send .
CompKey := " "
}
else if ( ( Ebene = 4 ) or ( Ebene = 5 ) )
{
send `,
CompKey := " "
}
PriorDeadKey := " "
return
/*
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Sondertasten
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
* /
2008-06-18 23:26:43 +00:00
* space : :
if ( einHandNeo )
spacepressed := 1
else
goto neo_SpaceUp
return
* space up : :
if ( einHandNeo )
{
if ( keypressed )
{
keypressed := 0
spacepressed := 0
}
else
{
goto neo_SpaceUp
}
}
else
{ } ;do nothing
return
2008-05-06 11:41:19 +00:00
2008-06-18 23:26:43 +00:00
neo_SpaceUp:
EbeneAktualisieren ( )
if Ebene = 1
{
if ( CompKey = " r_small_1 " )
Comp3UnicodeChar ( 0x2170 ) ; r<> misch i
else if ( CompKey = " r_capital_1 " )
Comp3UnicodeChar ( 0x2160 ) ; r<> misch I
else
Send { blind } { Space }
}
if Ebene = 2
Send { blind } { Space }
if Ebene = 3
Send { blind } { Space }
if Ebene = 4
{
if ( PriorDeadKey = " c1 " ) ; circumflex
BSSendUnicodeChar ( 0x2070 )
else if ( PriorDeadKey = " c4 " ) ; toter -
BSSendUnicodeChar ( 0x2080 )
else
Send 0
}
else if Ebene = 5
SendUnicodeChar ( 0x00A0 ) ; gesch<63> tztes Leerzeichen
else if Ebene = 6
SendUnicodeChar ( 0x202F ) ; schmales Leerzeichen
PriorDeadKey := " " CompKey := " "
spacepressed := 0
keypressed := 0
return
/*
2008-05-06 11:41:19 +00:00
* Space : :
EbeneAktualisieren ( )
if Ebene = 1
{
2008-06-14 11:43:05 +00:00
if ( CompKey = " r_small_1 " )
2008-05-06 11:41:19 +00:00
Comp3UnicodeChar ( 0x2170 ) ; r<> misch i
2008-06-14 11:43:05 +00:00
else if ( CompKey = " r_capital_1 " )
2008-05-06 11:41:19 +00:00
Comp3UnicodeChar ( 0x2160 ) ; r<> misch I
2008-06-14 11:43:05 +00:00
else
2008-06-11 17:08:16 +00:00
Send { blind } { Space }
2008-05-06 11:41:19 +00:00
}
if Ebene = 2
Send { blind } { Space }
if Ebene = 3
2008-06-11 17:08:16 +00:00
Send { blind } { Space }
2008-05-06 11:41:19 +00:00
if Ebene = 4
{
2008-06-14 11:43:05 +00:00
if ( PriorDeadKey = " c1 " ) ; circumflex
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x2070 )
2008-06-14 11:43:05 +00:00
else if ( PriorDeadKey = " c4 " ) ; toter -
2008-05-06 11:41:19 +00:00
BSSendUnicodeChar ( 0x2080 )
2008-06-14 11:43:05 +00:00
else
2008-05-06 11:41:19 +00:00
Send 0
}
2008-06-14 11:43:05 +00:00
else if Ebene = 5
SendUnicodeChar ( 0x00A0 ) ; gesch<63> tztes Leerzeichen
2008-05-06 11:41:19 +00:00
else if Ebene = 6
SendUnicodeChar ( 0x202F ) ; schmales Leerzeichen
PriorDeadKey := " " CompKey := " "
return
2008-06-18 23:26:43 +00:00
* /
2008-05-06 11:41:19 +00:00
/*
Folgende Tasten sind nur aufgef <EFBFBD> hrt , um PriorDeadKey zu leeren .
Irgendwie sieht das noch nicht sch <EFBFBD> n aus . Vielleicht l <EFBFBD> sst sich dieses
Problem irgendwie eleganter l <EFBFBD> sen . . .
Nachtrag:
Weil es mit Alt + Tab Probleme gab , wird hier jetzt erstmal rumgeflickschustert ,
bis eine allgemeinere L <EFBFBD> sung gefunden wurde .
* /
* Enter : :
2008-06-22 00:21:54 +00:00
if ( not ( lernModus ) or ( lernModus_std_Return ) )
2008-06-21 19:27:39 +00:00
{
sendinput { Blind } { Enter }
PriorDeadKey := " " CompKey := " "
}
2008-05-06 11:41:19 +00:00
return
* Backspace : :
2008-06-22 00:21:54 +00:00
if ( not ( lernModus ) or ( lernModus_std_Backspace ) )
2008-06-21 19:27:39 +00:00
{
sendinput { Blind } { Backspace }
PriorDeadKey := " " CompKey := " "
}
2008-05-06 11:41:19 +00:00
return
2008-06-21 19:27:39 +00:00
* Del : :
2008-06-22 00:21:54 +00:00
if ( not ( lernModus ) or ( lernModus_std_Entf ) )
2008-06-21 19:27:39 +00:00
{
sendinput { Blind } { Del }
}
return
* Ins : :
2008-06-22 00:21:54 +00:00
if ( not ( lernModus ) or ( lernModus_std_Einf ) )
2008-06-21 19:27:39 +00:00
{
sendinput { Blind } { Ins }
}
return
2008-05-06 11:41:19 +00:00
/*
Auf Mod3 + Tab liegt Compose . AltTab funktioniert , jedoch ShiftAltTab nicht .
Wenigstens kommt es jetzt nicht mehr zu komischen Ergebnissen , wenn man Tab
nach einem DeadKey dr <EFBFBD> ckt . . .
* /
2008-06-18 23:26:43 +00:00
neo_tab:
2008-05-06 11:41:19 +00:00
if ( GetKeyState ( " SC038 " , " P " ) )
{
2008-06-22 01:10:47 +00:00
Send , { Blind } { AltDown } { tab }
/*
if ( isShiftPressed ( ) )
{
Send , { ShiftDown } { AltDown } { tab }
}
else
{
; msgbox alt+tab
Send , { AltDown } { tab }
; SC038 & Tab::AltTab ; http://de.autohotkey.com/docs/Hotkeys.htm#AltTabDetail
}
* /
2008-05-06 11:41:19 +00:00
}
2008-06-25 02:33:50 +00:00
else if ( IsMod3Pressed ( ) ) { ;#
2008-05-06 11:41:19 +00:00
PriorDeadKey := " comp "
CompKey := " "
}
2008-06-25 02:33:50 +00:00
else {
2008-06-11 17:08:16 +00:00
send { blind } { Tab }
2008-05-06 11:41:19 +00:00
PriorDeadKey := " "
CompKey := " "
}
return
2008-06-22 01:10:47 +00:00
* SC038 up : :
PriorDeadKey := " " CompKey := " "
send { blind } { AltUp }
return
* SC038 down : : ; LAlt, damit AltTab funktioniert
Send , { Blind } { AltDown }
2008-05-06 11:41:19 +00:00
PriorDeadKey := " " CompKey := " "
return
2008-06-21 19:27:39 +00:00
* Home : :
2008-06-22 00:21:54 +00:00
if ( not ( lernModus ) or ( lernModus_std_Pos1 ) )
2008-06-21 19:27:39 +00:00
{
sendinput { Blind } { Home }
PriorDeadKey := " " CompKey := " "
}
2008-05-06 11:41:19 +00:00
return
* End : :
2008-06-22 00:21:54 +00:00
if ( not ( lernModus ) or ( lernModus_std_Ende ) )
2008-06-21 19:27:39 +00:00
{
sendinput { Blind } { End }
PriorDeadKey := " " CompKey := " "
}
2008-05-06 11:41:19 +00:00
return
* PgUp : :
2008-06-22 00:21:54 +00:00
if ( not ( lernModus ) or ( lernModus_std_PgUp ) )
2008-06-21 19:27:39 +00:00
{
sendinput { Blind } { PgUp }
PriorDeadKey := " " CompKey := " "
}
2008-05-06 11:41:19 +00:00
return
* PgDn : :
2008-06-22 00:21:54 +00:00
if ( not ( lernModus ) or ( lernModus_std_PgDn ) )
2008-06-21 19:27:39 +00:00
{
sendinput { Blind } { PgDn }
PriorDeadKey := " " CompKey := " "
}
2008-05-06 11:41:19 +00:00
return
* Up : :
2008-06-22 00:21:54 +00:00
if ( not ( lernModus ) or ( lernModus_std_Hoch ) )
2008-06-21 19:27:39 +00:00
{
sendinput { Blind } { Up }
PriorDeadKey := " " CompKey := " "
}
2008-05-06 11:41:19 +00:00
return
* Down : :
2008-06-22 00:21:54 +00:00
if ( not ( lernModus ) or ( lernModus_std_Runter ) )
2008-06-21 19:27:39 +00:00
{
sendinput { Blind } { Down }
PriorDeadKey := " " CompKey := " "
}
2008-05-06 11:41:19 +00:00
return
* Left : :
2008-06-22 00:21:54 +00:00
if ( not ( lernModus ) or ( lernModus_std_Links ) )
2008-06-21 19:27:39 +00:00
{
sendinput { Blind } { Left }
PriorDeadKey := " " CompKey := " "
}
2008-05-06 11:41:19 +00:00
return
* Right : :
2008-06-22 00:21:54 +00:00
if ( not ( lernModus ) or ( lernModus_std_Rechts ) )
2008-06-21 19:27:39 +00:00
{
sendinput { Blind } { Right }
PriorDeadKey := " " CompKey := " "
}
2008-05-06 11:41:19 +00:00
return
/*
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Funktionen
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
* /
2008-06-11 17:08:16 +00:00
/*
Ebenen laut Referenz :
1. Ebene ( kein Mod ) 4. Ebene ( Mod4 )
2. Ebene ( Umschalt ) 5. Ebene ( Mod3 + Umschalt )
3. Ebene ( Mod3 ) 6. Ebene ( Mod3 + Mod4 )
* /
2008-06-14 11:43:05 +00:00
2008-06-18 23:26:43 +00:00
EbeneAktualisieren ( )
2008-06-14 11:43:05 +00:00
{
global
2008-06-19 09:24:55 +00:00
if ( ahkTreiberKombi )
2008-06-14 11:43:05 +00:00
{
2008-06-19 09:24:55 +00:00
if ( IsMod4Pressed ( ) and not ( IsShiftPressed ( ) ) and not ( IsMod3Pressed ( ) ) )
2008-06-14 11:43:05 +00:00
{
2008-06-19 09:24:55 +00:00
Ebene = 6
}
2008-06-14 11:43:05 +00:00
else
{
Ebene = - 1
}
}
else
{
if ( IsShiftPressed ( ) )
{ ; Umschalt
if ( IsMod3Pressed ( ) )
{ ; Umschalt UND Mod3
if ( IsMod4Pressed ( ) )
{ ; Umschald UND Mod3 UND Mod4
; Ebene 8 impliziert Ebene 6
2008-06-11 17:08:16 +00:00
Ebene = 6
2008-06-14 11:43:05 +00:00
}
else
{ ; Umschald UND Mod3 NICHT Mod4
Ebene = 5
}
2008-06-11 17:08:16 +00:00
}
2008-06-14 11:43:05 +00:00
else
2008-06-11 17:08:16 +00:00
{ ; Umschalt NICHT Mod3
2008-06-14 11:43:05 +00:00
if ( IsMod4Pressed ( ) )
{ ; Umschald UND Mod4 NICHT Mod3
; Ebene 7 impliziert Ebene 4
2008-06-14 12:48:46 +00:00
Ebene = 4
2008-06-14 11:43:05 +00:00
}
else
{ ; Umschald NICHT Mod3 NICHT Mod4
2008-06-11 17:08:16 +00:00
Ebene = 2
2008-06-14 11:43:05 +00:00
}
}
}
else
{ ; NICHT Umschalt
if ( IsMod3Pressed ( ) )
2008-06-11 17:08:16 +00:00
{ ; Mod3 NICHT Umschalt
2008-06-14 11:43:05 +00:00
if ( IsMod4Pressed ( ) )
2008-06-11 17:08:16 +00:00
{ ; Mod3 UND Mod4 NICHT Umschalt
Ebene = 6
}
2008-06-14 11:43:05 +00:00
else
2008-06-11 17:08:16 +00:00
{ ; Mod3 NICHT Mod4 NICHT Umschalt
Ebene = 3
}
}
2008-06-14 11:43:05 +00:00
else
2008-06-11 17:08:16 +00:00
{ ; NICHT Umschalt NICHT Mod3
2008-06-14 11:43:05 +00:00
if ( IsMod4Pressed ( ) )
2008-06-11 17:08:16 +00:00
{ ; Mod4 NICHT Umschalt NICHT Mod3
Ebene = 4
}
2008-06-14 11:43:05 +00:00
else
2008-06-11 17:08:16 +00:00
{ ; NICHT Umschalt NICHT Mod3 NICHT Mod4
Ebene = 1
}
}
2008-06-14 11:43:05 +00:00
}
2008-05-06 11:41:19 +00:00
}
}
2008-06-14 11:43:05 +00:00
2008-06-25 02:33:50 +00:00
2008-06-11 17:08:16 +00:00
IsShiftPressed ( )
{
return GetKeyState ( " Shift " , " P " )
}
IsMod3Pressed ( )
{
2008-06-14 20:31:51 +00:00
global
if ( IsMod3Locked )
{
2008-06-25 02:33:50 +00:00
return ( not ( GetKeyState ( " CapsLock " , " P " ) or GetKeyState ( " # " , " P " ) ) ) ; # = SC02B
2008-06-14 20:31:51 +00:00
}
else {
2008-06-25 02:33:50 +00:00
return ( GetKeyState ( " CapsLock " , " P " ) or GetKeyState ( " # " , " P " ) ) ; # = SC02B
2008-06-14 20:31:51 +00:00
}
2008-06-11 17:08:16 +00:00
}
IsMod4Pressed ( )
{
2008-06-14 11:43:05 +00:00
global
2008-06-19 09:24:55 +00:00
if ( not ( einHandNeo ) or not ( spacepressed ) )
2008-06-14 11:43:05 +00:00
{
2008-06-19 09:24:55 +00:00
if ( IsMod4Locked )
{
return ( not ( GetKeyState ( " < " , " P " ) or GetKeyState ( " SC138 " , " P " ) or altGrPressed ) )
}
else {
return ( GetKeyState ( " < " , " P " ) or GetKeyState ( " SC138 " , " P " ) or altGrPressed )
}
2008-06-14 11:43:05 +00:00
}
2008-06-19 09:24:55 +00:00
else
{
if ( IsMod4Locked )
{
return ( not ( GetKeyState ( " < " , " P " ) or GetKeyState ( " SC138 " , " P " ) or GetKeyState ( " <EFBFBD> " , " P " ) or altGrPressed ) )
}
else {
return ( GetKeyState ( " < " , " P " ) or GetKeyState ( " SC138 " , " P " ) or GetKeyState ( " <EFBFBD> " , " P " ) or altGrPressed )
}
2008-06-14 11:43:05 +00:00
}
2008-06-19 09:24:55 +00:00
2008-06-11 17:08:16 +00:00
}
2008-05-06 11:41:19 +00:00
/* * * * * * * * * * * * * * * * * * * * * * * * *
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
}
* /
2008-06-11 17:08:16 +00:00
IsModifierPressed ( )
{
if ( GetKeyState ( " LControl " , " P " ) or GetKeyState ( " RControl " , " P " ) or GetKeyState ( " LAlt " , " P " ) or GetKeyState ( " RAltl " , " P " ) or GetKeyState ( " LWin " , " P " ) or GetKeyState ( " RWin " , " P " ) or GetKeyState ( " LShift " , " P " ) or GetKeyState ( " RShift " , " P " ) or GetKeyState ( " AltGr " , " P " ) )
{
return 1
}
else
{
return 0
}
}
2008-05-06 11:41:19 +00:00
SendUnicodeChar ( charCode )
{
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 }
2008-06-11 17:08:16 +00:00
SendUnicodeChar ( charCode )
2008-05-06 11:41:19 +00:00
}
CompUnicodeChar ( charCode )
{
send { bs }
2008-06-11 17:08:16 +00:00
SendUnicodeChar ( charCode )
2008-05-06 11:41:19 +00:00
}
Comp3UnicodeChar ( charCode )
{
send { bs }
send { bs }
2008-06-11 17:08:16 +00:00
SendUnicodeChar ( charCode )
2008-05-06 11:41:19 +00:00
}
EncodeInteger ( ref , val )
{
DllCall ( " ntdll\RtlFillMemoryUlong " , " Uint " , ref , " Uint " , 4 , " Uint " , val )
}
2008-06-16 17:29:58 +00:00
2008-06-24 12:12:18 +00:00
/*
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Methode zur Steuerung der Keyboard - LEDs
( N u m L o c k / C a p s L o c k / S c r o l l L o c k - L i c h t e r )
Benutzungshinweise:
KeyboardLED ( LEDvalue , " Cmd " ) , wobei
Cmd = on / off / switch ,
LEDvalue: ScrollLock = 1 , NumLock = 2 , CapsLock = 4
bzw . eine beliebige Summe dieser Werte :
AlleAus = 0 , CapsLock + NumLock = 6 , etc .
Der folgende Code wurde <EFBFBD> bernommen von :
http: / / www . autohotkey . com / forum / viewtopic . php ? t = 10532
Um eventuelle Wechselwirkungen mit dem bestehenden
Code ( insb . der Unicode - Konvertierung ) auszuschie <EFBFBD> en ,
sind auch alle ( Hilfsmethoden ) mit dem Postfix LED
versehen worden .
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
* /
KeyboardLED ( LEDvalue , Cmd ) ; LEDvalue: ScrollLock=1, NumLock=2, CapsLock=4 ; Cmd = on/off/switch
{
Static h_device
If ! h_device ; initialise
{
device = \Device \KeyBoardClass0
SetUnicodeStrLED ( fn , device )
h_device: = NtCreateFileLED ( fn , 0 + 0x00000100 + 0x00000080 + 0x00100000 , 1 , 1 , 0x00000040 + 0x00000020 , 0 )
}
VarSetCapacity ( output_actual , 4 , 0 )
input_size = 4
VarSetCapacity ( input , input_size , 0 )
If Cmd = switch ;switches every LED according to LEDvalue
KeyLED: = LEDvalue
If Cmd = on ;forces all choosen LED's to ON (LEDvalue= 0 ->LED's according to keystate)
KeyLED: = LEDvalue | ( GetKeyState ( " ScrollLock " , " T " ) + 2 * GetKeyState ( " NumLock " , " T " ) + 4 * GetKeyState ( " CapsLock " , " T " ) )
If Cmd = off ;forces all choosen LED's to OFF (LEDvalue= 0 ->LED's according to keystate)
{
LEDvalue: = LEDvalue ^ 7
KeyLED: = LEDvalue & ( GetKeyState ( " ScrollLock " , " T " ) + 2 * GetKeyState ( " NumLock " , " T " ) + 4 * GetKeyState ( " CapsLock " , " T " ) )
}
; EncodeIntegerLED( KeyLED, 1, &input, 2 ) ;input bit pattern (KeyLED): bit 0 = scrolllock ;bit 1 = numlock ;bit 2 = capslock
input := Chr ( 1 ) Chr ( 1 ) Chr ( KeyLED )
input := Chr ( 1 )
input =
success := DllCall ( " DeviceIoControl "
, " uint " , h_device
2008-06-24 12:42:27 +00:00
, " uint " , CTL_CODE_LED ( 0x0000000b ; FILE_DEVICE_KEYBOARD
2008-06-24 12:12:18 +00:00
, 2
, 0 ; METHOD_BUFFERED
, 0 ) ; FILE_ANY_ACCESS
, " uint " , & input
, " uint " , input_size
, " uint " , 0
, " uint " , 0
, " uint " , & output_actual
, " uint " , 0 )
}
2008-06-24 12:42:27 +00:00
CTL_CODE_LED ( p_device_type , p_function , p_method , p_access )
2008-06-24 12:12:18 +00:00
{
Return , ( p_device_type << 16 ) | ( p_access << 14 ) | ( p_function << 2 ) | p_method
}
NtCreateFileLED ( ByRef wfilename , desiredaccess , sharemode , createdist , flags , fattribs )
{
VarSetCapacity ( fh , 4 , 0 )
VarSetCapacity ( objattrib , 24 , 0 )
VarSetCapacity ( io , 8 , 0 )
VarSetCapacity ( pus , 8 )
uslen: = DllCall ( " lstrlenW " , " str " , wfilename ) * 2
InsertIntegerLED ( uslen , pus , 0 , 2 )
InsertIntegerLED ( uslen , pus , 2 , 2 )
InsertIntegerLED ( & wfilename , pus , 4 )
InsertIntegerLED ( 24 , objattrib , 0 )
InsertIntegerLED ( & pus , objattrib , 8 )
status: = DllCall ( " ntdll\ZwCreateFile " , " str " , fh , " UInt " , desiredaccess , " str " , objattrib , " str " , io , " UInt " , 0 , " UInt " , fattribs
, " UInt " , sharemode , " UInt " , createdist , " UInt " , flags , " UInt " , 0 , " UInt " , 0 , " UInt " )
2008-06-24 12:42:27 +00:00
return ExtractIntegerLED ( fh )
2008-06-24 12:12:18 +00:00
}
SetUnicodeStrLED ( ByRef out , str_ )
{
VarSetCapacity ( st1 , 8 , 0 )
InsertIntegerLED ( 0x530025 , st1 )
VarSetCapacity ( out , ( StrLen ( str_ ) + 1 ) * 2 , 0 )
DllCall ( " wsprintfW " , " str " , out , " str " , st1 , " str " , str_ , " Cdecl UInt " )
}
ExtractIntegerLED ( ByRef pSource , pOffset = 0 , pIsSigned = false , pSize = 4 )
; pSource is a string (buffer) whose memory area contains a raw/binary integer at pOffset.
; The caller should pass true for pSigned to interpret the result as signed vs. unsigned.
; pSize is the size of PSource's integer in bytes (e.g. 4 bytes for a DWORD or Int).
; pSource must be ByRef to avoid corruption during the formal-to-actual copying process
; (since pSource might contain valid data beyond its first binary zero).
{
Loop %pSize% ; Build the integer by adding up its bytes.
result + = * ( & pSource + pOffset + A_Index - 1 ) << 8 * ( A_Index - 1 )
if ( ! pIsSigned OR pSize > 4 OR result < 0x80000000 )
return result ; Signed vs. unsigned doesn't matter in these cases.
; Otherwise, convert the value (now known to be 32-bit) to its signed counterpart:
return - ( 0xFFFFFFFF - result + 1 )
}
InsertIntegerLED ( pInteger , ByRef pDest , pOffset = 0 , pSize = 4 )
; The caller must ensure that pDest has sufficient capacity. To preserve any existing contents in pDest,
; only pSize number of bytes starting at pOffset are altered in it.
{
Loop %pSize% ; Copy each byte in the integer into the structure as raw binary data.
DllCall ( " RtlFillMemory " , " UInt " , & pDest + pOffset + A_Index - 1 , " UInt " , 1 , " UChar " , pInteger >> 8 * ( A_Index - 1 ) & 0xFF )
}
2008-06-16 17:29:58 +00:00
/*
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
BildschirmTastatur
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
* /
guiErstellt = 0
alwaysOnTop = 1
aktuellesBild = ebene1 . png
^ ~ F1 : :
{
if ( zeigeBildschirmTastatur )
goto Switch1
return
}
^ ~ F2 : :
{
if ( zeigeBildschirmTastatur )
goto Switch2
return
}
^ ~ F3 : :
{
if ( zeigeBildschirmTastatur )
goto Switch3
return
}
^ ~ F4 : :
{
if ( zeigeBildschirmTastatur )
goto Switch4
return
}
^ ~ F5 : :
{
if ( zeigeBildschirmTastatur )
goto Switch5
return
}
^ ~ F6 : :
{
if ( zeigeBildschirmTastatur )
goto Switch6
return
}
^ ~ F7 : :
{
if ( zeigeBildschirmTastatur )
goto Show
return
}
^ ~ F8 : :
{
if ( zeigeBildschirmTastatur )
goto ToggleAlwaysOnTop
return
}
Switch1:
if ( guiErstellt )
{
if ( Image == " ebene1.png " )
goto Close
else
{
Image = ebene1 . png
SetTimer , Refresh
}
}
else
{
Image = ebene1 . png
goto Show
}
Return
Switch2:
if ( guiErstellt )
{
if ( Image == " ebene2.png " )
goto Close
else
{
Image = ebene2 . png
SetTimer , Refresh
}
}
else
{
Image = ebene2 . png
goto Show
}
Return
Switch3:
if ( guiErstellt )
{
if ( Image == " ebene3.png " )
goto Close
else
{
Image = ebene3 . png
SetTimer , Refresh
}
}
else
{
Image = ebene3 . png
goto Show
}
Return
Switch4:
if ( guiErstellt )
{
if ( Image == " ebene4.png " )
goto Close
else
{
Image = ebene4 . png
SetTimer , Refresh
}
}
else
{
Image = ebene4 . png
goto Show
}
Return
Switch5:
if ( guiErstellt )
{
if ( Image == " ebene5.png " )
goto Close
else
{
Image = ebene5 . png
SetTimer , Refresh
}
}
else
{
Image = ebene5 . png
goto Show
}
Return
Switch6:
if ( guiErstellt )
{
if ( Image == " ebene6.png " )
goto Close
else
{
Image = ebene6 . png
SetTimer , Refresh
}
}
else
{
Image = ebene6 . png
goto Show
}
Return
Show:
if ( guiErstellt )
{
goto Close
}
else
{
if ( Image = " " )
{
Image = ebene1 . png
}
yPosition := A_ScreenHeight - 270
Gui , Color , FFFFFF
Gui , Add , Button , xm + 5 gSwitch1 , F1
Gui , Add , Text , x + 5 , kleine Buchstaben
Gui , Add , Button , xm + 5 gSwitch2 , F2
Gui , Add , Text , x + 5 , gro <EFBFBD> e Buchstaben
Gui , Add , Button , xm + 5 gSwitch3 , F3
Gui , Add , Text , x + 5 , Satz - / Sonderzeichen
Gui , Add , Button , xm + 5 gSwitch4 , F4
Gui , Add , Text , x + 5 , Zahlen / Steuerung
Gui , Add , Button , xm + 5 gSwitch5 , F5
Gui , Add , Text , x + 5 , Sprachen
Gui , Add , Button , xm + 5 gSwitch6 , F6
Gui , Add , Text , x + 5 , Mathesymbole
Gui , Add , Button , xm + 5 gShow , F7
Gui , Add , Text , x + 5 , An /
Gui , Add , Text , y + 3 , Aus
Gui , Add , Button , x + 10 y + - 30 gShow , F8
Gui , Add , Text , x + 5 , OnTop
Gui , Add , Picture , AltSubmit ys w564 h200 vPicture , %Image%
Gui , + AlwaysOnTop
Gui , Show , y %yposition% Autosize
SetTimer , Refresh
guiErstellt = 1
}
Return
Close:
guiErstellt = 0
Gui , Destroy
Return
Refresh:
If ( Image != OldImage )
{
GuiControl , , Picture , %Image%
OldImage := Image
}
Return
ToggleAlwaysOnTop:
if ( alwaysOnTop )
{
Gui , - AlwaysOnTop
alwaysOnTop = 0
}
else
{
Gui , + AlwaysOnTop
alwaysOnTop = 1
}
Return
; Ende der BildschirmTastatur
2008-05-06 11:41:19 +00:00
/*
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Shift + Pause " pausiert " das Script .
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
* /
2008-06-10 20:35:23 +00:00
+ pause : :
Suspend , Permit
goto togglesuspend
return
2008-05-06 11:41:19 +00:00
; ------------------------------------
2008-06-18 23:26:43 +00:00
^ . : : einHandNeo := not ( einHandNeo )
2008-06-22 00:21:54 +00:00
^ , : : lernModus := not ( lernModus )
2008-06-18 23:26:43 +00:00
2008-06-10 20:35:23 +00:00
2008-05-06 11:41:19 +00:00
togglesuspend:
2008-06-10 20:35:23 +00:00
if A_IsSuspended
2008-05-06 11:41:19 +00:00
{
menu , tray , rename , %enable% , %disable%
2008-06-10 20:35:23 +00:00
menu , tray , tip , %name%
2008-06-14 20:31:51 +00:00
if ( iconBenutzen )
menu , tray , icon , neo . ico , , 1
2008-06-10 20:35:23 +00:00
suspend , off ; Schaltet Suspend aus -> NEO
2008-05-06 11:41:19 +00:00
}
else
{
menu , tray , rename , %disable% , %enable%
2008-06-14 20:31:51 +00:00
menu , tray , tip , %name% : Deaktiviert
if ( iconBenutzen )
menu , tray , icon , neo_disabled . ico , , 1
2008-06-10 20:35:23 +00:00
suspend , on ; Schaltet Suspend ein -> QWERTZ
2008-05-06 11:41:19 +00:00
}
return
help:
Run , %A_WinDir% \hh mk : @MSITStore : autohotkey . chm
return
about:
msgbox , 64 , %name% <EFBFBD> Ergonomische Tastaturbelegung ,
(
%name%
`n Das Neo - Layout ersetzt das <EFBFBD> bliche deutsche
Tastaturlayout mit der Alternative Neo ,
beschrieben auf http : / / neo - layout . org / .
`n Dazu sind keine Administratorrechte n <EFBFBD> tig .
`n Wenn Autohotkey aktiviert ist , werden alle Tastendrucke
abgefangen und statt dessen eine <EFBFBD> bersetzung weitergeschickt .
`n Dies geschieht transparent f <EFBFBD> r den Anwender ,
es muss nichts installiert werden .
`n Die Zeichen <EFBFBD> bersetzung kann leicht <EFBFBD> ber das Icon im
Systemtray deaktiviert werden . `n
)
return
neo:
run http : / / neo - layout . org /
return
autohotkey:
run http : / / autohotkey . com /
return
open:
ListLines ; shows the Autohotkey window
return
edit :
edit
return
reload :
Reload
return
hide:
menu , tray , noicon
return
exitprogram:
exitapp
return