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. 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 ===
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. 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.). Leider jedoch unterstützt XeTeX derzeitig noch nicht die typographischen Feinheiten des Microtype-Paketes (optischer Randausgleich etc.).
=== XeTeX-unicode-math === === 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. 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} \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. ¡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} % 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). • Brüche (auf Zahlenreihe und Hardware-Ziffernblock).
• römische Zahlen. • römische Zahlen.
• Ligaturen und Copyright. • Ligaturen und Copyright.

View File

@ -1,16 +1,15 @@
/* /*
------------------------------------------------------ ------------------------------------------------------
All.ahk: 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. 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!
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. :-)
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
Siehe auch:
http://www.autohotkey.com/docs/commands/_Include.htm
------------------------------------------------------ ------------------------------------------------------
*/ */
#Include %a_scriptdir%\Warning.ahk #Include %a_scriptdir%\Warning.ahk
#Include %a_scriptdir%\Global-Part.ahk #Include %a_scriptdir%\Global-Part.ahk
#Include %a_scriptdir%\Methods-Layers.ahk #Include %a_scriptdir%\Methods-Layers.ahk
@ -20,6 +19,6 @@
#Include %a_scriptdir%\Methods-Other.ahk #Include %a_scriptdir%\Methods-Other.ahk
#Include %a_scriptdir%\Methods-Unicode.ahk #Include %a_scriptdir%\Methods-Unicode.ahk
#Include %a_scriptdir%\Methods-ScreenKeyboard.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: ; Eines schönen Tages sollten auch die Compose-Kombinationen automatisch aus der Referenz erzeugt werden.
;#Include *i %a_scriptdir%\..\Compose\Compose-all-in-one.ahk ; 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,inputlocale,HKEY_CURRENT_USER,Keyboard Layout\Preload,1
regread,inputlocalealias,HKEY_CURRENT_USER,Keyboard Layout\Substitutes,%inputlocale% regread,inputlocalealias,HKEY_CURRENT_USER,Keyboard Layout\Substitutes,%inputlocale%
if inputlocalealias<>inputlocale=%inputlocalealias% if (inputlocalealias<>inputlocale=%inputlocalealias% and inputlocale<>00000407) {
if inputlocale<>00000407
{
suspend suspend
regread,inputlocale,HKEY_LOCAL_MACHINE,SYSTEM\CurrentControlSet\Control\Keyboard Layouts\%inputlocale%,Layout Text regread,inputlocale,HKEY_LOCAL_MACHINE,SYSTEM\CurrentControlSet\Control\Keyboard Layouts\%inputlocale%,Layout Text
msgbox, 48, Warnung!, msgbox, 48, Warnung!,
@ -162,47 +160,41 @@ menu,tray,tip,%name%
*/ */
;Blinde/Sichtbare Tote Tasten ;Blinde/Sichtbare Tote Tasten
*F9:: *F9::
if (isMod4pressed()) if isMod4pressed()
DeadSilence := not(DeadSilence) DeadSilence := !(DeadSilence)
else else send {blind}{F9}
send {blind}{F9}
return return
;Blinde/Sichtbare Compose ;Blinde/Sichtbare Compose
*F10:: *F10::
if (isMod4pressed()) if isMod4pressed()
DeadCompose := not(DeadCompose) DeadCompose := !(DeadCompose)
else else send {blind}{F10}
send {blind}{F10}
return return
;Lang-s-Tastatur: ;Lang-s-Tastatur:
*F11:: *F11::
if (isMod4pressed()){ if isMod4pressed() {
LangSTastatur := not(LangSTastatur) LangSTastatur := !(LangSTastatur)
if LangSTastatur if LangSTastatur
KeyboardLED(2,"on") KeyboardLED(2,"on")
else KeyboardLED(2,"off") else KeyboardLED(2,"off")
} } else send {blind}{F11}
else
send {blind}{F11}
return return
;Alle Modi und Locks in den Normalzustand versetzen ;Alle Modi und Locks in den Normalzustand versetzen
;bzw. Skript neu laden: ;bzw. Skript neu laden:
*Esc:: *Esc::
if (isMod4pressed()) if isMod4pressed()
reload reload
else else send {blind}{Esc}
send {blind}{Esc}
return return
*pause:: *pause::
Suspend, Permit Suspend, Permit
if isShiftpressed() if isShiftpressed()
goto togglesuspend goto togglesuspend
else= else send {blind}{pause}
send {blind}{pause}
return return
/***************** /*****************
@ -210,26 +202,22 @@ return
****************** ******************
*/ */
togglesuspend: togglesuspend:
if A_IsSuspended if A_IsSuspended {
{
menu, tray, rename, %enable%, %disable% menu, tray, rename, %enable%, %disable%
menu, tray, tip, %name% menu, tray, tip, %name%
if (iconBenutzen) if (iconBenutzen)
menu, tray, icon, %ResourceFolder%\neo.ico,,1 menu, tray, icon, %ResourceFolder%\neo.ico,,1
suspend , off ; Schaltet Suspend aus -> NEO suspend , off ; Schaltet Suspend aus -> NEO
} } else {
else
{
menu, tray, rename, %disable%, %enable% menu, tray, rename, %disable%, %enable%
menu, tray, tip, %name% : Deaktiviert menu, tray, tip, %name% : Deaktiviert
if (iconBenutzen) if (iconBenutzen)
menu, tray, icon, %ResourceFolder%\neo_disabled.ico,,1 menu, tray, icon, %ResourceFolder%\neo_disabled.ico,,1
suspend , on ; Schaltet Suspend ein -> QWERTZ suspend , on ; Schaltet Suspend ein -> QWERTZ
} } return
return
help: help:
Run, %A_WinDir%\hh mk:@MSITStore:autohotkey.chm Run, %A_WinDir%\hh mk:@MSITStore:autohotkey.chm
return return
about: about:
@ -250,31 +238,31 @@ about:
return return
neo: neo:
run http://neo-layout.org/ run http://neo-layout.org/
return return
autohotkey: autohotkey:
run http://autohotkey.com/ run http://autohotkey.com/
return return
open: open:
ListLines ; shows the Autohotkey window ListLines ; shows the Autohotkey window
return return
edit: edit:
edit edit
return return
reload: reload:
Reload Reload
return return
hide: hide:
menu, tray, noicon menu, tray, noicon
return return
exitprogram: exitprogram:
exitapp exitapp
return return
/************************** /**************************
@ -348,5 +336,3 @@ gespiegelt_m = neo_p
gespiegelt_komma = neo_ä gespiegelt_komma = neo_ä
gespiegelt_punkt = neo_ö gespiegelt_punkt = neo_ö
gespiegelt_j = neo_ü gespiegelt_j = neo_ü

File diff suppressed because it is too large Load Diff

View File

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

View File

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

View File

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

View File

@ -28,4 +28,3 @@ SendUnicodeChar(charCode){
EncodeInteger(ref,val){ EncodeInteger(ref,val){
DllCall("ntdll\RtlFillMemoryUlong","Uint",ref,"Uint",4,"Uint",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 ... Sie wirklich wissen was Sie hier tun wollen ...
******************************************* *******************************************
*/ */