Fehler ausgebessert, Formatierung vereinfacht/vereinheitlicht, Compose-Ligaturen implementiert

This commit is contained in:
martin_r 2008-08-24 21:33:05 +00:00
parent faedcad6ed
commit c49c65693b
14 changed files with 774 additions and 1101 deletions

View File

@ -4,8 +4,8 @@ Der typische (La)TeX-Nutzer profitiert in vielfacher Weise vom NEO-Tastaturlayou
Die hier vorgestellten Pakete und Programme zielen darauf ab, darüber hinaus auch die Unicode-Zeichen auf der NEO-Tastatur direkt in LaTeX eingeben zu können.
=== XeTeX ===
XeTeX ist eine moderne Alternative zu e-TeX, die neben nativer Unicode-Unterstützung auch die einfache Nutzung moderner Schriftformate (TrueType, OpenType) und ihrer Vorteile (bspw. Ligaturen und variationen in OpenType-Fonts) ermöglicht. In diesem Ordner befindet sich ein einfaches Beispiel, das genau diese Features demonstriert.
Leider unterstützt XeTeX derzeitig jedoch noch nicht die typographischen Feinheiten des Microtype-Paketes (optischer Randausgleich etc.).
XeTeX ist eine moderne Alternative zu e-TeX, die neben nativer Unicode-Unterstützung auch die einfache Nutzung moderner Schriftformate (TrueType, OpenType) und ihrer Vorteile (bspw. Ligaturen und Variationen in OpenType-Fonts) ermöglicht. In diesem Ordner befindet sich ein einfaches Beispiel, das genau diese Features demonstriert.
Leider jedoch unterstützt XeTeX derzeitig noch nicht die typographischen Feinheiten des Microtype-Paketes (optischer Randausgleich etc.).
=== XeTeX-unicode-math ===
Mit XeTeX können Unicode-Zeichen auch im Mathematik-Modus gesetzt werden. Die Unterstützung hierfür ist zwar bereits weit fortgeschritten, wird aber noch als experimentell angesehen und ist deshalb in einem separaten Paket unicode-math ausgelagert. In diesem Ordner befindet sich neben einer Installationsanleitung auch ein Beispiel, das grundliegende Features demonstriert.

View File

@ -27,7 +27,7 @@ Zuerſt ſollte man ſich die Schrift »Linux Libertine O« im OpenType-Format h
\subsection*{Ein paar nette \XeLaTeX-Spielereien}
¡Willkommen zu \XeLaTeX, dem \TeX-Derivat der Zukunft! Die Schriften des Betriebsſyſtems werden \emph{nahtlos} und \emph{vollautomatiſch} mitſamt aller Schriftſchnitte in \XeTeX\ integriert. Oft werden ſo ſogar erweiterte OpenType-Features anſprechbar, die in Word, OpenOffice etc.\ noch gar nicht unterſtützt werden.
Dies betrifft beispielsweise dichtengleiche Zahlen wie {\addfontfeatures{Numbers={Lining,Monospaced,SlashedZero}}1234,50} (vs.\ 1234,50), Mediäval- oder Minuskelziffern wie {\addfontfeature{Numbers=OldStyle}0123456789}, normale wie ſeltene {\addfontfeatures{Ligatures={Rare,Historical}}fluffige starke Ligaturenſchätze wie »ct«}, aber auch {\addfontfeatures{Letters=SmallCaps,LetterSpace=6.0}ECHTE KAPITÄLCHEN}.
Dies betrifft beispielsweise dicktengleiche Zahlen wie {\addfontfeatures{Numbers={Lining,Monospaced,SlashedZero}}1234,50} (vs.\ 1234,50), Mediäval- oder Minuskelziffern wie {\addfontfeature{Numbers=OldStyle}0123456789}, normale wie ſeltene {\addfontfeatures{Ligatures={Rare,Historical}}fluffige starke Ligaturenſchätze wie »ct«}, aber auch {\addfontfeatures{Letters=SmallCaps,LetterSpace=6.0}ECHTE KAPITÄLCHEN}.
% Nicht in dieser Schrift unterstützt: Ligatures={Required,Rare,Common,Historical,Contextual}, Contextuals={Swash,WordInitial,WordFinal,LineFinal,Inner}

View File

@ -184,5 +184,3 @@ Revsion 490 (von Stefan Mayer):
• Brüche (auf Zahlenreihe und Hardware-Ziffernblock).
• römische Zahlen.
• Ligaturen und Copyright.

View File

@ -1,16 +1,15 @@
/*
------------------------------------------------------
All.ahk:
Diese Datei ist für Entwickler zum schnellen Testen von Änderungen vorgesehen. Bei Syntaxfehlern bietet sie zudem den Vorteil, dass die Zeilennummern relativ zu den einzelnen Modulen angezeigt werden.
Die Reihenfolge der Includes *ist* relevant!
Denn: Vor dem Menü in der Global-Part.ahk dürfen keine Tastenkombinationen definiert werden. Ansonsten können Sie die Dateien hier beliebig anordnen. :-)
Siehe auch:
http://www.autohotkey.com/docs/commands/_Include.htm
------------------------------------------------------
All.ahk:
Diese Datei ist für Entwickler zum schnellen Testen von Änderungen vorgesehen. Bei Syntaxfehlern bietet sie zudem den Vorteil, dass die Zeilennummern relativ zu den einzelnen Modulen angezeigt werden.
Die Reihenfolge der Includes *ist* relevant!
Denn: Vor dem Menü in der Global-Part.ahk dürfen keine Tastenkombinationen definiert werden. Ansonsten können Sie die Dateien hier beliebig anordnen. :-)
Siehe auch:
http://www.autohotkey.com/docs/commands/_Include.htm
------------------------------------------------------
*/
#Include %a_scriptdir%\Warning.ahk
#Include %a_scriptdir%\Global-Part.ahk
#Include %a_scriptdir%\Methods-Layers.ahk
@ -20,6 +19,6 @@
#Include %a_scriptdir%\Methods-Other.ahk
#Include %a_scriptdir%\Methods-Unicode.ahk
#Include %a_scriptdir%\Methods-ScreenKeyboard.ahk
; Eines schönen Tages sollten auch die Compose-Kombinationen automatisch aus der Referenz erzeugt werden. Derzeitig gibt es nur den (höchst instabilen und experimentellen!) Compose-Playground:
;#Include *i %a_scriptdir%\..\Compose\Compose-all-in-one.ahk
; Eines schönen Tages sollten auch die Compose-Kombinationen automatisch aus der Referenz erzeugt werden.
; Derzeitig gibt es nur den (höchst instabilen und experimentellen!) Compose-Playground:
; #Include *i %a_scriptdir%\..\Compose\Compose-all-in-one.ahk

View File

@ -111,9 +111,7 @@ if(FileExist("neo.ico")&&FileExist("neo_disabled.ico"))
*/
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
{
if (inputlocalealias<>inputlocale=%inputlocalealias% and inputlocale<>00000407) {
suspend
regread,inputlocale,HKEY_LOCAL_MACHINE,SYSTEM\CurrentControlSet\Control\Keyboard Layouts\%inputlocale%,Layout Text
msgbox, 48, Warnung!,
@ -162,47 +160,41 @@ menu,tray,tip,%name%
*/
;Blinde/Sichtbare Tote Tasten
*F9::
if (isMod4pressed())
DeadSilence := not(DeadSilence)
else
send {blind}{F9}
if isMod4pressed()
DeadSilence := !(DeadSilence)
else send {blind}{F9}
return
;Blinde/Sichtbare Compose
*F10::
if (isMod4pressed())
DeadCompose := not(DeadCompose)
else
send {blind}{F10}
if isMod4pressed()
DeadCompose := !(DeadCompose)
else send {blind}{F10}
return
;Lang-s-Tastatur:
*F11::
if (isMod4pressed()){
LangSTastatur := not(LangSTastatur)
if isMod4pressed() {
LangSTastatur := !(LangSTastatur)
if LangSTastatur
KeyboardLED(2,"on")
else KeyboardLED(2,"off")
}
else
send {blind}{F11}
} else send {blind}{F11}
return
;Alle Modi und Locks in den Normalzustand versetzen
;bzw. Skript neu laden:
*Esc::
if (isMod4pressed())
if isMod4pressed()
reload
else
send {blind}{Esc}
else send {blind}{Esc}
return
*pause::
Suspend, Permit
if isShiftpressed()
goto togglesuspend
else=
send {blind}{pause}
else send {blind}{pause}
return
/*****************
@ -210,26 +202,22 @@ return
******************
*/
togglesuspend:
if A_IsSuspended
{
if A_IsSuspended {
menu, tray, rename, %enable%, %disable%
menu, tray, tip, %name%
if (iconBenutzen)
menu, tray, icon, %ResourceFolder%\neo.ico,,1
suspend , off ; Schaltet Suspend aus -> NEO
}
else
{
} else {
menu, tray, rename, %disable%, %enable%
menu, tray, tip, %name% : Deaktiviert
if (iconBenutzen)
menu, tray, icon, %ResourceFolder%\neo_disabled.ico,,1
suspend , on ; Schaltet Suspend ein -> QWERTZ
}
return
} return
help:
Run, %A_WinDir%\hh mk:@MSITStore:autohotkey.chm
Run, %A_WinDir%\hh mk:@MSITStore:autohotkey.chm
return
about:
@ -250,31 +238,31 @@ about:
return
neo:
run http://neo-layout.org/
run http://neo-layout.org/
return
autohotkey:
run http://autohotkey.com/
run http://autohotkey.com/
return
open:
ListLines ; shows the Autohotkey window
ListLines ; shows the Autohotkey window
return
edit:
edit
edit
return
reload:
Reload
Reload
return
hide:
menu, tray, noicon
menu, tray, noicon
return
exitprogram:
exitapp
exitapp
return
/**************************
@ -348,5 +336,3 @@ gespiegelt_m = neo_p
gespiegelt_komma = neo_ä
gespiegelt_punkt = neo_ö
gespiegelt_j = neo_ü

File diff suppressed because it is too large Load Diff

View File

@ -3,8 +3,9 @@
QWERTZ->Neo umwandlung
------------------------------------------------------
*/
; Reihe 1
*VKDCSC029::goto neo_tot1 ; Zirkumflex ^
*VKDCSC029::goto neo_tot1 ; Zirkumflex
*VK31SC002::goto neo_1
*VK32SC003::goto neo_2
*VK33SC004::goto neo_3
@ -12,435 +13,266 @@
*VK35SC006::goto neo_5
*VK36SC007::goto neo_6
*VK37SC008::
if( not(einHandNeo) or not(spacepressed) )
goto neo_7
else
{
keypressed := 1
goto %gespiegelt_7%
}
*VK38SC009::
if( not(einHandNeo) or not(spacepressed) )
goto neo_8
else
{
keypressed := 1
goto %gespiegelt_8%
}
*VK39SC00A::
if( not(einHandNeo) or not(spacepressed) )
goto neo_9
else
{
keypressed := 1
goto %gespiegelt_9%
}
*VK30SC00B::
if( not(einHandNeo) or not(spacepressed) )
goto neo_0
else
{
keypressed := 1
goto %gespiegelt_0%
}
*VKDBSC00C:: ; ß
if ( not(ahkTreiberKombi) )
{
if( not(einHandNeo) or not(spacepressed) )
goto neo_strich
else
{
keypressed := 1
goto %gespiegelt_strich%
}
}
else
{
goto neo_sz
if (!(einHandNeo) or !(spacepressed))
goto neo_7
else {
keypressed := 1
goto %gespiegelt_7%
}
*VKDDSC00D::goto neo_tot2 ; Akut
*VK38SC009::
if(!(einHandNeo) or !(spacepressed))
goto neo_8
else {
keypressed := 1
goto %gespiegelt_8%
}
*VK39SC00A::
if(!(einHandNeo) or !(spacepressed))
goto neo_9
else {
keypressed := 1
goto %gespiegelt_9%
}
*VK30SC00B::
if(!(einHandNeo) or !(spacepressed))
goto neo_0
else {
keypressed := 1
goto %gespiegelt_0%
}
*VKDBSC00C:: ; ß
if !ahkTreiberKombi {
if(!(einHandNeo) or !(spacepressed))
goto neo_strich
else {
keypressed := 1
goto %gespiegelt_strich%
}
} else goto neo_sz
*VKDDSC00D::goto neo_tot2 ; Akut
; Reihe 2
VK09SC00F::goto neo_tab
*VK51SC010:: ; q (x)
if ( not(ahkTreiberKombi) )
{
goto neo_x
}
else
{
goto neo_q
}
if !ahkTreiberKombi
goto neo_x
else goto neo_q
*VK57SC011:: ; w (v)
if ( not(ahkTreiberKombi) )
{
goto neo_v
}
else
{
goto neo_w
}
if !ahkTreiberKombi
goto neo_v
else goto neo_w
*VK45SC012:: ; e (l)
if ( not(ahkTreiberKombi) )
{
goto neo_l
}
else
{
goto neo_e
}
if !ahkTreiberKombi
goto neo_l
else goto neo_e
*VK52SC013:: ; r (c)
if ( not(ahkTreiberKombi) )
{
goto neo_c
}
else
{
goto neo_r
}
if !ahkTreiberKombi
goto neo_c
else goto neo_r
*VK54SC014:: ; t (w)
if ( not(ahkTreiberKombi) )
{
goto neo_w
}
else
{
goto neo_t
}
if !ahkTreiberKombi
goto neo_w
else goto neo_t
*VK5ASC015:: ; z (k)
if ( not(ahkTreiberKombi) )
{
if( not(einHandNeo) or not(spacepressed) )
goto neo_k
else
{
keypressed := 1
goto %gespiegelt_k%
}
}
else
{
goto neo_z
if !ahkTreiberKombi {
if(!(einHandNeo) or !(spacepressed))
goto neo_k
else {
keypressed := 1
goto %gespiegelt_k%
}
}
else goto neo_z
*VK55SC016:: ; u (h)
if ( not(ahkTreiberKombi) )
{
if( not(einHandNeo) or not(spacepressed) )
goto neo_h
else
{
keypressed := 1
goto %gespiegelt_h%
}
}
else
{
goto neo_u
}
if !ahkTreiberKombi {
if(!(einHandNeo) or !(spacepressed))
goto neo_h
else {
keypressed := 1
goto %gespiegelt_h%
}
} else goto neo_u
*VK49SC017:: ; i (g)
if ( not(ahkTreiberKombi) )
{
if( not(einHandNeo) or not(spacepressed) )
goto neo_g
else
{
keypressed := 1
goto %gespiegelt_g%
}
}
else
{
goto neo_i
if !ahkTreiberKombi {
if(!(einHandNeo) or !(spacepressed))
goto neo_g
else {
keypressed := 1
goto %gespiegelt_g%
}
}
else goto neo_i
*VK4FSC018:: ; o (f)
if ( not(ahkTreiberKombi) )
{
if( not(einHandNeo) or not(spacepressed) )
goto neo_f
else
{
keypressed := 1
goto %gespiegelt_f%
}
}
else
{
goto neo_o
if !ahkTreiberKombi {
if(!(einHandNeo) or !(spacepressed))
goto neo_f
else {
keypressed := 1
goto %gespiegelt_f%
}
}
else goto neo_o
*VK50SC019:: ; p (q)
if ( not(ahkTreiberKombi) )
{
if( not(einHandNeo) or not(spacepressed) )
goto neo_q
else
{
keypressed := 1
goto %gespiegelt_q%
}
}
else
{
goto neo_p
if !ahkTreiberKombi {
if(!(einHandNeo) or !(spacepressed))
goto neo_q
else {
keypressed := 1
goto %gespiegelt_q%
}
}
else goto neo_p
*VKBASC01A:: ; ü (ß)
if ( not(ahkTreiberKombi) )
{
if( not(einHandNeo) or not(spacepressed) )
goto neo_sz
else
{
keypressed := 1
goto %gespiegelt_sz%
}
}
else
{
goto neo_ü
}
if !ahkTreiberKombi {
if(!(einHandNeo) or !(spacepressed))
goto neo_sz
else {
keypressed := 1
goto %gespiegelt_sz%
}
} else goto neo_ü
*VKBBSC01B:: ; + (tot3)
if ( not(ahkTreiberKombi) )
{
if( not(einHandNeo) or not(spacepressed) )
goto neo_tot3
else
{
keypressed := 1
goto %gespiegelt_tot3%
}
if !ahkTreiberKombi {
if(!(einHandNeo) or !(spacepressed))
goto neo_tot3
else {
keypressed := 1
goto %gespiegelt_tot3%
}
}
else
{ } ; this should never happen
; Reihe 3
*VK41SC01E:: ; a (u)
if ( not(ahkTreiberKombi) )
{
goto neo_u
}
else
{
goto neo_a
}
if !ahkTreiberKombi
goto neo_u
else goto neo_a
*VK53SC01F:: ; s (i)
if ( not(ahkTreiberKombi) )
{
goto neo_i
}
else
{
goto neo_s
}
if !ahkTreiberKombi
goto neo_i
else goto neo_s
*VK44SC020:: ; d (a)
if ( not(ahkTreiberKombi) )
{
goto neo_a
}
else
{
goto neo_d
}
if !ahkTreiberKombi
goto neo_a
else goto neo_d
*VK46SC021:: ; f (e)
if ( not(ahkTreiberKombi) )
{
goto neo_e
}
else
{
goto neo_f
}
if !ahkTreiberKombi
goto neo_e
else goto neo_f
*VK47SC022:: ; g (o)
if ( not(ahkTreiberKombi) )
{
goto neo_o
}
else
{
goto neo_g
}
if !ahkTreiberKombi
goto neo_o
else goto neo_g
*VK48SC023:: ; h (s)
if ( not(ahkTreiberKombi) )
{
if( not(einHandNeo) or not(spacepressed) )
goto neo_s
else
{
keypressed := 1
goto %gespiegelt_s%
}
}
else
{
goto neo_h
}
if !ahkTreiberKombi {
if(!(einHandNeo) or !(spacepressed))
goto neo_s
else {
keypressed := 1
goto %gespiegelt_s%
}
} else goto neo_h
*VK4ASC024:: ; j (n)
if ( not(ahkTreiberKombi) )
{
if( not(einHandNeo) or not(spacepressed) )
goto neo_n
else
{
keypressed := 1
goto %gespiegelt_n%
}
}
else
{
goto neo_j
}
if !ahkTreiberKombi {
if(!(einHandNeo) or !(spacepressed))
goto neo_n
else {
keypressed := 1
goto %gespiegelt_n%
}
} else goto neo_j
*VK4BSC025:: ; k (r)
if ( not(ahkTreiberKombi) )
{
if( not(einHandNeo) or not(spacepressed) )
goto neo_r
else
{
keypressed := 1
goto %gespiegelt_r%
}
}
else
{
goto neo_k
}
if !ahkTreiberKombi {
if(!(einHandNeo) or !(spacepressed))
goto neo_r
else {
keypressed := 1
goto %gespiegelt_r%
}
} else goto neo_k
*VK4CSC026:: ; l (t)
if ( not(ahkTreiberKombi) )
{
if( not(einHandNeo) or not(spacepressed) )
goto neo_t
else
{
keypressed := 1
goto %gespiegelt_t%
}
}
else
{
goto neo_l
}
if !ahkTreiberKombi {
if(!(einHandNeo) or !(spacepressed))
goto neo_t
else {
keypressed := 1
goto %gespiegelt_t%
}
} else goto neo_l
*VKC0SC027:: ; ö (d)
if ( not(ahkTreiberKombi) )
{
if( not(einHandNeo) or not(spacepressed) )
goto neo_d
else
{
keypressed := 1
goto %gespiegelt_d%
}
}
else
{
goto neo_ö
}
if !ahkTreiberKombi {
if(!(einHandNeo) or !(spacepressed))
goto neo_d
else {
keypressed := 1
goto %gespiegelt_d%
}
} else goto neo_ö
*VKDESC028:: ; ä (y)
if ( not(ahkTreiberKombi) )
{
goto neo_y
}
else
{
goto neo_ä
}
if !ahkTreiberKombi
goto neo_y
else goto neo_ä
; Reihe 4
*VK59SC02C:: ; y (ü)
if ( not(ahkTreiberKombi) )
{
goto neo_ü
}
else
{
goto neo_y
}
if !ahkTreiberKombi
goto neo_ü
else goto neo_y
*VK58SC02D:: ; x (ö)
if ( not(ahkTreiberKombi) )
{
goto neo_ö
}
else
{
goto neo_x
}
if !ahkTreiberKombi
goto neo_ö
else goto neo_x
*VK43SC02E:: ; c (ä)
if ( not(ahkTreiberKombi) )
{
goto neo_ä
}
else
{
goto neo_c
}
if !ahkTreiberKombi
goto neo_ä
else goto neo_c
*VK56SC02F:: ; v (p)
if ( not(ahkTreiberKombi) )
{
goto neo_p
}
else
{
goto neo_v
}
if !ahkTreiberKombi
goto neo_p
else goto neo_v
*VK42SC030:: ; b (z)
if ( not(ahkTreiberKombi) )
{
goto neo_z
}
else
{
goto neo_b
}
if !ahkTreiberKombi
goto neo_z
else goto neo_b
*VK4ESC031:: ; n (b)
if ( not(ahkTreiberKombi) )
{
if( not(einHandNeo) or not(spacepressed) )
goto neo_b
else
{
keypressed := 1
goto %gespiegelt_b%
}
}
else
{
goto neo_n
}
if !ahkTreiberKombi {
if(!(einHandNeo) or !(spacepressed))
goto neo_b
else {
keypressed := 1
goto %gespiegelt_b%
}
} else goto neo_n
*VK4DSC032:: ; m (m)
if( not(einHandNeo) or not(spacepressed) )
if(!(einHandNeo) or !(spacepressed))
goto neo_m
else
{
keypressed := 1
goto %gespiegelt_m%
else {
keypressed := 1
goto %gespiegelt_m%
}
*VKBCSC033:: ; , (,)
if( not(einHandNeo) or not(spacepressed) )
if(!(einHandNeo) or !(spacepressed))
goto neo_komma
else
{
keypressed := 1
goto %gespiegelt_komma%
}
else {
keypressed := 1
goto %gespiegelt_komma%
}
*VKBESC034:: ; . (.)
if( not(einHandNeo) or not(spacepressed) )
if(!(einHandNeo) or !(spacepressed))
goto neo_punkt
else
{
keypressed := 1
goto %gespiegelt_punkt%
}
else {
keypressed := 1
goto %gespiegelt_punkt%
}
*VKBDSC035:: ; - (j)
if ( not(ahkTreiberKombi) )
{
if( not(einHandNeo) or not(spacepressed) )
if !ahkTreiberKombi {
if(!(einHandNeo) or !(spacepressed))
goto neo_j
else
{
keypressed := 1
goto %gespiegelt_j%
}
}
else
{
goto neo_strich
}
else {
keypressed := 1
goto %gespiegelt_j%
}
} else goto neo_strich
; Numpad
*VK90SC145::goto neo_NumLock
@ -449,36 +281,25 @@ VK09SC00F::goto neo_tab
*VK6DSC04A::goto neo_NumpadSub
*VK6BSC04E::goto neo_NumpadAdd
*VK0DSC11C::goto neo_NumpadEnter
*VK67SC047:: ; NumPad7 (mit NumLock und ohne Shift)
*VK24SC047::goto neo_Numpad7 ; NumPadHome (ohne Numlock oder mit Shift)
*VK68SC048:: ; NumPad8 (mit NumLock und ohne Shift)
*VK26SC048::goto neo_Numpad8 ; NumPadUp (ohne Numlock oder mit Shift)
*VK69SC049:: ; NumPad9 (mit NumLock und ohne Shift)
*VK21SC049::goto neo_Numpad9 ; NumPadPgUp (ohne Numlock oder mit Shift)
*VK64SC04B:: ; NumPad4 (mit NumLock und ohne Shift)
*VK25SC04B::goto neo_Numpad4 ; NumPadLeft (ohne Numlock oder mit Shift)
*VK65SC04C:: ; NumPad5 (mit NumLock und ohne Shift)
*VK0CSC04C::goto neo_Numpad5 ; NumPadClear(ohne Numlock oder mit Shift)
*VK66SC04D:: ; NumPad6 (mit NumLock und ohne Shift)
*VK27SC04D::goto neo_Numpad6 ; NumPadRight(ohne Numlock oder mit Shift)
*VK61SC04F:: ; NumPad1 (mit NumLock und ohne Shift)
*VK23SC04F::goto neo_Numpad1 ; NumPadEnd (ohne Numlock oder mit Shift)
*VK62SC050:: ; NumPad2 (mit NumLock und ohne Shift)
*VK28SC050::goto neo_Numpad2 ; NumPadDown (ohne Numlock oder mit Shift)
*VK63SC051:: ; NumPad3 (mit NumLock und ohne Shift)
*VK22SC051::goto neo_Numpad3 ; NumPadPgDn (ohne Numlock oder mit Shift)
*VK60SC052:: ; NumPad0 (mit NumLock und ohne Shift)
*VK2DSC052::goto neo_Numpad0 ; NumPadIns (ohne Numlock oder mit Shift)
*VK6ESC053:: ; NumPadDot (mit NumLock und ohne Shift)
*VK2ESC053::goto neo_NumpadDot ; NumPadIns (ohne Numlock oder mit Shift)
*VK67SC047:: ; NumPad7
*VK24SC047::goto neo_Numpad7 ; NumPadHome
*VK68SC048:: ; NumPad8
*VK26SC048::goto neo_Numpad8 ; NumPadUp
*VK69SC049:: ; NumPad9
*VK21SC049::goto neo_Numpad9 ; NumPadPgUp
*VK64SC04B:: ; NumPad4
*VK25SC04B::goto neo_Numpad4 ; NumPadLeft
*VK65SC04C:: ; NumPad5
*VK0CSC04C::goto neo_Numpad5 ; NumPadClear
*VK66SC04D:: ; NumPad6
*VK27SC04D::goto neo_Numpad6 ; NumPadRight
*VK61SC04F:: ; NumPad1
*VK23SC04F::goto neo_Numpad1 ; NumPadEnd
*VK62SC050:: ; NumPad2
*VK28SC050::goto neo_Numpad2 ; NumPadDown
*VK63SC051:: ; NumPad3
*VK22SC051::goto neo_Numpad3 ; NumPadPgDn
*VK60SC052:: ; NumPad0
*VK2DSC052::goto neo_Numpad0 ; NumPadIns
*VK6ESC053:: ; NumPadDot
*VK2ESC053::goto neo_NumpadDot ; NumPadIns

View File

@ -140,5 +140,3 @@ IsMod4Pressed()
else
return ( GetKeyState("<","P") or GetKeyState("SC138","P") or GetKeyState("ä","P"))
}

View File

@ -105,7 +105,3 @@ InsertIntegerLED(pInteger, ByRef pDest, pOffset = 0, pSize = 4){
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)
}

View File

@ -1,18 +1,18 @@
deadAsc(val){
deadAsc(val) {
global
if!(DeadSilence)
if !DeadSilence
send % val
}
deadUni(val){
deadUni(val) {
global
if!(DeadSilence)
if !DeadSilence
SendUnicodeChar(val)
}
undeadAsc(val){
undeadAsc(val) {
global
if(DeadSilence)
if DeadSilence
send % val
else
send % "{bs}" . val
@ -20,167 +20,163 @@ undeadAsc(val){
undeadUni(val){
global
if!(DeadSilence)
if !DeadSilence
send {bs}
SendUnicodeChar(val)
}
CheckDeadAsc(d,val){
CheckDeadAsc(d,val) {
global
if(PriorDeadKey == d){
if (PriorDeadKey == d) {
undeadAsc(val)
return 1
}else return 0
} else return 0
}
CheckDeadUni(d,val){
CheckDeadUni(d,val) {
global
if(PriorDeadKey == d){
if (PriorDeadKey == d) {
undeadUni(val)
return 1
}else return 0
} else return 0
}
CheckDeadAsc12(d,val1,val2){
CheckDeadAsc12(d,val1,val2) {
global
if(PriorDeadKey == d){
if((Ebene = 1) and (val1 != "")){
if (PriorDeadKey == d){
if (Ebene = 1) and (val1 != "") {
undeadAsc(val1)
return 1
}else if((Ebene = 2) and (val2 != "")){
} else if (Ebene = 2) and (val2 != "") {
undeadAsc(val2)
return 1
}else return 0
}else return 0
} else return 0
} else return 0
}
CheckDeadUni12(d,val1,val2){
CheckDeadUni12(d,val1,val2) {
global
if(PriorDeadKey == d){
if((Ebene = 1) and (val1 != "")){
if(PriorDeadKey == d) {
if (Ebene = 1) and (val1 != "") {
undeadUni(val1)
return 1
}else if((Ebene = 2) and (val2 != "")){
} else if (Ebene = 2) and (val2 != "") {
undeadUni(val2)
return 1
}else return 0
}else return 0
} else return 0
} else return 0
}
compAsc(val){
compAsc(val) {
global
if!(DeadCompose)
if !DeadCompose
send % val
}
compUni(val){
compUni(val) {
global
if!(DeadCompose)
if !DeadCompose
SendUnicodeChar(val)
}
uncompAsc(val){
uncompAsc(val) {
global
if(DeadCompose)
if DeadCompose
send % val
else send % "{bs}" . val
}
uncompUni(val)
{
uncompUni(val) {
global
if!(DeadCompose)
if !DeadCompose
send {bs}
SendUnicodeChar(val)
}
uncomp3Uni(val)
{
uncomp3Uni(val) {
global
if!(DeadCompose)
if !DeadCompose
send {bs}{bs}
SendUnicodeChar(val)
}
CheckCompAsc(d,val){
CheckCompAsc(d,val) {
global
if(PriorCompKey == d){
if (PriorCompKey == d) {
uncompAsc(val)
return 1
}else return 0
} else return 0
}
CheckCompAsc12(d,val1,val2){
CheckCompAsc12(d,val1,val2) {
global
if(PriorCompKey == d)
if((Ebene = 1) and (val1 != "")){
if (PriorCompKey == d)
if (Ebene = 1) and (val1 != "") {
uncompAsc(val1)
return 1
}else if((Ebene = 2) and (val2 != "")){
} else if (Ebene = 2) and (val2 != "") {
uncompAsc(val2)
return 1
}else return 0
} else return 0
else return 0
}
CheckCompUni(d,val){
CheckCompUni(d,val) {
global
if(PriorCompKey == d){
if (PriorCompKey == d) {
uncompUni(val)
return 1
}else return 0
} else return 0
}
CheckCompUni12(d,val1,val2){
global
if(PriorCompKey == d){
if ((Ebene = 1) and (val1 != "")){
if (PriorCompKey == d) {
if (Ebene = 1) and (val1 != "") {
uncompUni(val1)
return 1
}else if((Ebene = 2) and (val2 != "")){
}else if (Ebene = 2) and (val2 != "") {
uncompUni(val2)
return 1
}else return 0
}else return 0
} else return 0
} else return 0
}
CheckComp3Uni(d,val){
CheckComp3Uni(d,val) {
global
if(PriorCompKey == d){
if (PriorCompKey == d) {
uncomp3Uni(val)
return 1
}else return 0
} else return 0
}
CheckComp3Uni12(d,val1,val2){
CheckComp3Uni12(d,val1,val2) {
global
if(PriorCompKey == d){
if((Ebene = 1) and (val1 != "")){
if (PriorCompKey == d) {
if (Ebene = 1) and (val1 != "") {
uncomp3Uni(val1)
return 1
}else if((Ebene = 2) and (val2 != "")){
} else if (Ebene = 2) and (val2 != "") {
uncomp3Uni(val2)
return 1
}else return 0
}else return 0
} else return 0
} else return 0
}
outputChar(val1,val2){
outputChar(val1,val2) {
global
if(Ebene = 1)
if (Ebene = 1)
c := val1
else
c := val2
if GetKeyState("Shift","P") and isMod2Locked
else c := val2
if GetKeyState("Shift","P") and isMod2Locked
send % "{blind}{Shift Up}" . c . "{Shift Down}"
else
send % "{blind}" . c
if(PriorDeadKey = "comp")
else send % "{blind}" . c
if (PriorDeadKey = "comp")
CompKey := c
}
checkComp(d){
if(PriorDeadKey = "comp"){
checkComp(d) {
if (PriorDeadKey = "comp") {
CompKey := d
return 1
}

View File

@ -166,4 +166,3 @@ ToggleAlwaysOnTop:
alwaysOnTop = 1
}
Return

View File

@ -28,4 +28,3 @@ SendUnicodeChar(charCode){
EncodeInteger(ref,val){
DllCall("ntdll\RtlFillMemoryUlong","Uint",ref,"Uint",4,"Uint",val)
}

View File

@ -35,5 +35,3 @@ Das war die letzte WARNUNG, ich hoffe nur dass
Sie wirklich wissen was Sie hier tun wollen ...
*******************************************
*/