summaryrefslogtreecommitdiff
path: root/windows/XP/autohotkey
diff options
context:
space:
mode:
Diffstat (limited to 'windows/XP/autohotkey')
-rw-r--r--windows/XP/autohotkey/README.txt11
-rw-r--r--windows/XP/autohotkey/neo20-remap.ahk127
-rw-r--r--windows/XP/autohotkey/neo20.ahk340
3 files changed, 290 insertions, 188 deletions
diff --git a/windows/XP/autohotkey/README.txt b/windows/XP/autohotkey/README.txt
index 1a3a4e6..d9bce8e 100644
--- a/windows/XP/autohotkey/README.txt
+++ b/windows/XP/autohotkey/README.txt
@@ -1,4 +1,4 @@
-Version 19.05.2007
+Version 25.05.2007
== Installation ==
@@ -47,7 +47,7 @@ Lsung ist dann, einmal die normale Controltaste zu drcken.
Ohne die Remap-Datei knnen
die 3. Ebene mit Ctrl+Win
-die 4. mit Ctrl+Win+Shift
+die 4. entsprechend mit Ctrl-Win-Shift
die 5. mit AltGr
die 6. mit AltGr+Shift
erreicht werden.
@@ -77,10 +77,3 @@ AltGr + Ende = Computer ausschalten
Lsst sich die neo20-remap.ahk in die Hauptdatei integrieren?
Ist mir bislang noch nicht gelungen.
-
-Geschtztes Leerzeichen und schmales Leerzeichen auf 4./6. Ebene ber
-Leertaste, finde ich keine ANSI-Darstellung fr.
-
-./, auf Mod5 5. Ebene
-
-CapsLock auf Mod3 3. Ebene
diff --git a/windows/XP/autohotkey/neo20-remap.ahk b/windows/XP/autohotkey/neo20-remap.ahk
index eca8d69..3e48831 100644
--- a/windows/XP/autohotkey/neo20-remap.ahk
+++ b/windows/XP/autohotkey/neo20-remap.ahk
@@ -1,7 +1,7 @@
/*
- Mod3: Umbelegung von Win+Ctrl auf CapsLock und #,
- Mod5: Zweites AltGr auf <
- Version vom 21.05.2007
+ Mod3: Umbelegung von Win+Ctrl auf CapsLock und #,
+ Mod5: Zweites AltGr auf <
+ Version vom 25.05.2007
*/
;#InstallKeybdHook
@@ -14,6 +14,7 @@ name = NEO-Remap
enable = Aktiviere %name%
disable = Deaktiviere %name%
+
; Men des Systray-Icons
; ----------------------
@@ -31,79 +32,117 @@ menu, tray, add, %name% beenden, exitprogram
menu, tray, tip, %name%
+
; Mod3 (3. und 4. Ebene)
; CapsLock und # werden zu Win + Ctrl
+; # + CapsLock = CapsLock
; --------------------------------------------
*CapsLock::
-Send {RWin Down}
-Send {Control Down}
-Loop
-{
- Sleep, 10
- GetKeyState, keystate, CapsLock, P
- if keystate = U
- break
- ; The key has been released, so break out of the loop.
-}
-Send {RWin Up}
-Send {Control Up}
+ Send {RWin Down}
+ Send {Control Down}
+ GetKeyState, capsstate, #, P
+ If capsstate = D
+ {
+ keywait, Capslock
+ GetKeyState, state, CapsLock, T
+ ; D if CapsLock is ON or U otherwise.
+ if state = D
+ setcapslockstate, off
+ else
+ setcapslockstate, on
+ }
+ Else
+ {
+ Loop
+ {
+ Sleep, 10
+ GetKeyState, keystate, CapsLock, P
+ if keystate = U
+ {
+ Send {RWin Up}
+ Send {Control Up}
+ break
+ }
+ }
+ }
return
*#::
-Send {RWin Down}
-Send {Control Down}
-Loop
-{
- Sleep, 10
- GetKeyState, keystate, #, P
- if keystate = U
- break
- ; The key has been released, so break out of the loop.
-}
-Send {RWin Up}
-Send {Control Up}
+ Send {RWin Down}
+ Send {Control Down}
+ Loop
+ {
+ Sleep, 10
+ GetKeyState, keystate, #, P
+ if keystate = U
+ break
+ }
+ Send {RWin Up}
+ Send {Control Up}
return
; Mod5 (5. und 6. Ebene)
-; < wird zu zweiter AltGr (SC138)
+; < wird zu zweitem AltGr (SC138)
+; < + AltGr = NumpadDot
; --------------------------------
-
-
+;
+
+*SC138::
+ Send {Blind}{LCtrl Up}{SC138 DownTemp}
+ GetKeyState, dotstate, <, P
+ If dotstate = D
+ {
+ keywait, SC138
+ Send {numpaddot}
+ Send {Blind}{LCtrl Up}{SC138 DownTemp}
+ }
+ Else
+ {
+ Loop
+ {
+ Sleep, 10
+ GetKeyState, keystate, SC138, P
+ If keystate = U
+ {
+ Send {Blind}{SC138 Up}
+ break
+ }
+ }
+ }
+return
*<::
-Send {SC138 Down}
-Loop
-{
- Sleep, 10
- GetKeyState, keystate, <, P
- if keystate = U
- break
- ; The key has been released, so break out of the loop.
-}
-Send {SC138 Up}
+ Send {SC138 DownTemp}
+ Loop
+ {
+ Sleep, 10
+ GetKeyState, keystate, <, P
+ if keystate = U
+ break
+ }
+ Send {SC138 Up}
return
-
; Funktionen des Systray-Mens
; ----------------------------
toggleneo:
- if suspendstate <>
+ If suspendstate <>
{
suspendstate =
menu, tray, rename, %enable%, %disable%
}
- else
+ Else
{
suspendstate = : Deaktiviert
menu, tray, rename, %disable%, %enable%
}
- menu, tray, tip, %name%%state%
+ menu, tray, tip, %name%%suspendstate%
suspend
return
diff --git a/windows/XP/autohotkey/neo20.ahk b/windows/XP/autohotkey/neo20.ahk
index 95f7b63..a7940f1 100644
--- a/windows/XP/autohotkey/neo20.ahk
+++ b/windows/XP/autohotkey/neo20.ahk
@@ -1,5 +1,5 @@
/*
- NEO-Layout - Version vom 23.05.2007
+ NEO-Layout - Version vom 25.05.2007
Mod3 (3./4. Ebene) funktioniert ber Win+Ctrl,
Mod5 (5./6. Ebene) ber AltGr.
Zur Umbelegung von Mod3 auf CapsLock und #
@@ -7,35 +7,30 @@
verwende neo20-remap.ahk
*/
-;#InstallKeybdHook
#usehook on
#singleinstance force
#LTrim
; Quelltext kann eingerckt werden,
; msgbox ist trotzdem linksbndig
-SendMode InputThenPlay
+SendMode Play
+SetTitleMatchMode 2
name = NEO-Layout 2.0
enable = Aktiviere %name%
disable = Deaktiviere %name%
-; ToDo
-; --------
-; - nobreakspace und schmales Leerzeichen
-; - ./, auf Altgr
-; - CapsLock ber beide Mod3
-
-
; ANSI-Darstellung von beliebigen Unicode-Zeichen
; -----------------------------------------------
-; (bentigt fr MyUTF_String):
; - die untenstehende Definition auskommentieren
; - gewnschtes Zeichen in die Zwischenablage befrdern
; - ^!u (Control+Alt+U) drcken
; - die ANSI-Darstellung aus der Zwischenablage an die
; gewnschte Stelle ins Skript einfgen
+; Wird bentigt fr Unicode("") und BSUnicode("").
+; Alternativ kann SendUnicodeChar(0x002A) verwendet werden,
+; braucht aber viel mehr CPU.
/*
^!u::
MsgBox,
@@ -76,7 +71,7 @@ if inputlocale <> 00000407
`t%inputlocale%
`nDas deutsche QWERTZ muss als Standardlayout eingestellt
sein, damit %name% wie erwartet funktioniert.
- `nndere die Tastatureinstellung unter
+ `nndern Sie die Tastatureinstellung unter
`tSystemsteuerung
`t-> Regions- und Sprachoptionen
`t-> Sprachen
@@ -112,25 +107,16 @@ menu, tray, tip, %name%
; Sondertasten
; ------------
-Space::
- If A_PriorHotkey = ^ ; circumflex
- BSUnicode("ˆ")
- Else If A_PriorHotkey = + ; tilde
- BSUnicode("˜")
- Else
- Send {Space}
-Return
+*Esc::Send {Esc}
+
+*Enter::Send {Enter}
+Space::Send {Space}
+Space::Send {Space}
#^space::Send {Space}
-#^+space::Send {Space} ; soll geschtztes Leerzeichen
+#^+space::SendUnicodeChar(0x00A0) ; geschtztes Leerzeichen
<^>!Space::Send 0
-<^>!+Space::Send {Space} ; soll schmales Leerzeichen
-
-
-*Enter::Send {Enter}
-
-*Esc::Send {Esc}
+<^>!+Space::SendUnicodeChar(0x2009) ; schmales Leerzeichen
Tab::Send {Tab}
+Tab::Send +{Tab}
@@ -147,34 +133,31 @@ Backspace::Send {BS}
<^>!Backspace::Send {BS}
<^>!+Backspace::Send {BS}
-;<^>!SC138::Send {NumpadDot}
- ; geht nicht, weil sonst AltGr nur noch , macht
-
; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
; 1. Ebene
; ---------
-^::send {^} ; circumflex, tot
+^::Unicode("ˆ") ; circumflex, tot
1::
If A_PriorHotkey = ^ ; circumflex
- send {bs}
+ BSUnicode("¹")
Else
send 1
return
2::
If A_PriorHotkey = ^ ; circumflex
- send {bs}
+ BSUnicode("²")
Else
send 2
return
3::
If A_PriorHotkey = ^ ; circumflex
- send {bs}
+ BSUnicode("³")
Else
send 3
return
@@ -187,15 +170,15 @@ return
9::send 9
0::send 0
::send - ; Bind
-::send {} ; akut, tot
+::send {}{space} ; akut, tot
-q::send x
+q::sendinput {blind}x
w::
If A_PriorHotkey = <^>!+^ ; punkt darunter
BSUnicode("ṿ")
Else
- send v
+ sendinput {blind}v
Return
e::
@@ -212,7 +195,7 @@ e::
Else If A_PriorHotkey = <^>!+^ ; punkt darunter
BSUnicode("ḷ")
Else
- send l
+ sendinput {blind}l
Return
r::
@@ -227,14 +210,14 @@ r::
Else If A_PriorHotkey = <^>! ; punkt darber
BSUnicode("ċ")
Else
- Send c
+ sendinput {blind}c
Return
t::
If A_PriorHotkey = ^ ; circumflex
BSUnicode("ŵ")
Else
- send w
+ sendinput {blind}w
Return
z::
@@ -243,7 +226,7 @@ z::
Else If A_PriorHotkey = <^>!+^ ; punkt darunter
BSUnicode("ḳ")
Else
- send k
+ sendinput {blind}k
Return
u::
@@ -255,7 +238,7 @@ u::
BSUnicode("ḣ")
Else If A_PriorHotkey = <^>!+^ ; punkt darunter
BSUnicode("ḥ")
- Else send h
+ Else sendinput {blind}h
Return
i::
@@ -267,7 +250,7 @@ i::
BSUnicode("ģ")
Else If A_PriorHotkey = <^>! ; punkt darber
BSUnicode("ġ")
- Else send g
+ Else sendinput {blind}g
Return
o::
@@ -275,14 +258,22 @@ o::
BSUnicode("ƒ")
Else If A_PriorHotkey = <^>! ; punkt darber
BSUnicode("ḟ")
- Else send f
+ Else sendinput {blind}f
Return
-p::send q
-::send
-+::send ~ ; tilde, tot
+p::sendinput {blind}q
+::sendinput {blind}
+
++::Unicode("˜") ; tilde, tot
+
a::
- If A_PriorHotkey = #^+ ; Diaerese
+ If A_PriorHotkey = ^ ; circumflex
+ BSUnicode("û")
+ Else If A_PriorHotkey = ; akut
+ BSUnicode("ú")
+ Else If A_PriorHotkey = + ; grave
+ BSUnicode("ù")
+ Else If A_PriorHotkey = #^+ ; Diaerese
Send, {bs}
Else If A_PriorHotkey = #^++ ; doppelakut
BSUnicode("ű")
@@ -297,11 +288,17 @@ a::
Else If A_PriorHotkey = + ; tilde
BSUnicode("ũ")
Else
- send u
+ sendinput {blind}u
Return
s::
- If A_PriorHotkey = #^+ ; Diaerese
+ If A_PriorHotkey = ^ ; circumflex
+ BSUnicode("î")
+ Else If A_PriorHotkey = ; akut
+ BSUnicode("í")
+ Else If A_PriorHotkey = + ; grave
+ BSUnicode("ì")
+ Else If A_PriorHotkey = #^+ ; Diaerese
Send, {bs}
Else If A_PriorHotkey = ++ ; macron
BSUnicode("ī")
@@ -314,12 +311,18 @@ s::
Else If A_PriorHotkey = <^>! ; (ohne) punkt darber
BSUnicode("ı")
Else
- Send i
+ sendinput {blind}i
Return
d::
- If A_PriorHotkey = #^+ ; Diaerese
- Send {bs}
+ If A_PriorHotkey = ^ ; circumflex
+ BSUnicode("â")
+ Else If A_PriorHotkey = ; akut
+ BSUnicode("á")
+ Else If A_PriorHotkey = + ; grave
+ BSUnicode("à")
+ Else If A_PriorHotkey = #^+ ; Diaerese
+ send {bs}
Else If A_PriorHotkey = <^>!+ ; Ring
Send {bs}
Else If A_PriorHotkey = + ; tilde
@@ -331,11 +334,17 @@ d::
Else If A_PriorHotkey = #^^ ; brevis
BSUnicode("ă")
Else
- Send a
+ sendinput {blind}a
Return
f::
- If A_PriorHotkey = #^+ ; Diaerese
+ If A_PriorHotkey = ^ ; circumflex
+ BSUnicode("ê")
+ Else If A_PriorHotkey = ; akut
+ BSUnicode("é")
+ Else If A_PriorHotkey = + ; grave
+ BSUnicode("è")
+ Else If A_PriorHotkey = #^+ ; Diaerese
Send, {bs}
Else If A_PriorHotkey = #^+ ; ogonek
BSUnicode("ę")
@@ -348,11 +357,17 @@ f::
Else If A_PriorHotkey = <^>! ; punkt darber
BSUnicode("ė")
Else
- Send e
+ sendinput {blind}e
Return
g::
- If A_PriorHotkey = #^+ ; Diaerese
+ If A_PriorHotkey = ^ ; circumflex
+ BSUnicode("ô")
+ Else If A_PriorHotkey = ; akut
+ BSUnicode("ó")
+ Else If A_PriorHotkey = + ; grave
+ BSUnicode("ò")
+ Else If A_PriorHotkey = #^+ ; Diaerese
Send, {bs}
Else If A_PriorHotkey = + ; tilde
BSUnicode("õ")
@@ -365,7 +380,7 @@ g::
Else If A_PriorHotkey = #^^ ; brevis
BSUnicode("ŏ")
Else
- send o
+ sendinput {blind}o
Return
h::
@@ -382,7 +397,7 @@ h::
Else If A_PriorHotkey = <^>!+^ ; punkt darunter
BSUnicode("ṣ")
Else
- send s
+ sendinput {blind}s
Return
j::
@@ -397,7 +412,7 @@ j::
Else If A_PriorHotkey = <^>! ; punkt darber
BSUnicode("ṅ")
Else
- send n
+ sendinput {blind}n
Return
k::
@@ -412,7 +427,7 @@ k::
Else If A_PriorHotkey = <^>!+^ ; punkt darunter
BSUnicode("ṛ")
Else
- send r
+ sendinput {blind}r
Return
l::
@@ -427,7 +442,7 @@ l::
Else If A_PriorHotkey = <^>!+^ ; punkt darunter
BSUnicode("ṭ")
Else
- send t
+ sendinput {blind}t
Return
::
@@ -442,29 +457,31 @@ Return
Else If A_PriorHotkey = <^>!+^ ; punkt darunter
BSUnicode("ḍ")
Else
- send d
+ sendinput {blind}d
Return
::
If A_PriorHotkey = #^+ ; Diaerese
Send {bs}
+ Else If A_PriorHotkey = ; akut
+ BSUnicode("ý")
Else If A_PriorHotkey = ^ ; circumflex
BSUnicode("ŷ")
Else
- send y
+ sendinput {blind}y
Return
;SC02B (#) wird zu Mod3
;SC056 (<) wird zu Mod5
-y::send
-x::send
-c::send
+y::sendinput {blind}
+x::sendinput {blind}
+c::sendinput {blind}
v::
If A_PriorHotkey = <^>! ; punkt darber
BSUnicode("ṗ")
Else
- send p
+ sendinput {blind}p
Return
b::
@@ -477,14 +494,14 @@ b::
Else If A_PriorHotkey = <^>! ; punkt darber
BSUnicode("ż")
Else
- Send z
+ sendinput {blind}z
Return
n::
If A_PriorHotkey = <^>! ; punkt darber
BSUnicode("ḃ")
Else
- send b
+ sendinput {blind}b
Return
m::
@@ -493,7 +510,7 @@ m::
Else If A_PriorHotkey = <^>!+^ ; punkt darunter
BSUnicode("ṃ")
Else
- send m
+ sendinput {blind}m
Return
,::send `,
@@ -503,12 +520,13 @@ Return
If A_PriorHotkey = ^ ; circumflex
BSUnicode("ĵ")
Else
- send j
+ sendinput {blind}j
Return
;2. Ebene (Shift)
;---------
+;
+^::Unicode("ˇ") ; caron, tot
+1::send
@@ -522,14 +540,14 @@ Return
+9::send
+0::send
+::Unicode("–") ; Ged
-+::send ``
++::send ``{space}
-+q::send X
++q::sendinput {blind}X
+w::
If A_PriorHotkey = <^>!+^ ; punkt darunter
BSUnicode("Ṿ")
Else
- send V
+ sendinput {blind}V
Return
+e::
@@ -546,7 +564,7 @@ Return
Else If A_PriorHotkey = <^>!+^ ; punkt darunter
BSUnicode("Ḷ")
Else
- send L
+ sendinput {blind}L
return
+r::
@@ -561,14 +579,14 @@ return
Else If A_PriorHotkey = <^>! ; punkt darber
BSUnicode("Ċ")
Else
- Send C
+ sendinput {blind}C
Return
+t::
If A_PriorHotkey = ^ ; circumflex
BSUnicode("Ŵ")
Else
- send W
+ sendinput {blind}W
Return
+z::
@@ -577,7 +595,7 @@ Return
Else If A_PriorHotkey = <^>!+^ ; punkt darunter
BSUnicode("Ḳ")
Else
- send K
+ sendinput {blind}K
Return
+u::
@@ -589,7 +607,7 @@ Return
BSUnicode("Ḣ")
Else If A_PriorHotkey = <^>!+^ ; punkt darunter
BSUnicode("Ḥ")
- Else send H
+ Else sendinput {blind}H
Return
+i::
@@ -601,7 +619,7 @@ Return
BSUnicode("Ģ")
Else If A_PriorHotkey = <^>! ; punkt darber
BSUnicode("Ġ")
- Else send G
+ Else sendinput {blind}G
Return
+o::
@@ -609,16 +627,22 @@ Return
BSUnicode("₣")
Else If A_PriorHotkey = <^>! ; punkt darber
BSUnicode("Ḟ")
- Else send F
+ Else sendinput {blind}F
Return
-+p::send Q
++p::sendinput {blind}Q
+::send SS ; wird versal-
++::Unicode("ˉ") ; macron, tot
+a::
- If A_PriorHotkey = #^+ ; Diaerese
+ If A_PriorHotkey = ^ ; circumflex
+ BSUnicode("Û")
+ Else If A_PriorHotkey = ; akut
+ BSUnicode("Ú")
+ Else If A_PriorHotkey = + ; grave
+ BSUnicode("Ù")
+ Else If A_PriorHotkey = #^+ ; Diaerese
Send, {bs}
Else If A_PriorHotkey = <^>!+ ; Ring
BSUnicode("Ů")
@@ -637,11 +661,17 @@ Return
Else If A_PriorHotkey = + ; tilde
BSUnicode("Ũ")
Else
- send U
+ sendinput {blind}U
Return
+s::
- If A_PriorHotkey = #^+ ; Diaerese
+ If A_PriorHotkey = ^ ; circumflex
+ BSUnicode("Î")
+ Else If A_PriorHotkey = ; akut
+ BSUnicode("Í")
+ Else If A_PriorHotkey = + ; grave
+ BSUnicode("Ì")
+ Else If A_PriorHotkey = #^+ ; Diaerese
Send, {bs}
Else If A_PriorHotkey = ++ ; macron
BSUnicode("Ī")
@@ -654,12 +684,18 @@ Return
Else If A_PriorHotkey = <^>! ; punkt darber
BSUnicode("İ")
Else
- Send I
+ sendinput {blind}I
Return
+d::
- If A_PriorHotkey = #^+ ; Diaerese
- Send {bs}
+ If A_PriorHotkey = ^ ; circumflex
+ BSUnicode("Â")
+ Else If A_PriorHotkey = ; akut
+ BSUnicode("Á")
+ Else If A_PriorHotkey = + ; grave
+ BSUnicode("À")
+ Else If A_PriorHotkey = #^+ ; Diaerese
+ send {bs}
Else If A_PriorHotkey = + ; tilde
BSUnicode("Ã")
Else If A_PriorHotkey = <^>!+ ; Ring
@@ -671,41 +707,53 @@ Return
Else If A_PriorHotkey = #^+ ; ogonek
BSUnicode("Ą")
Else
- Send A
+ sendinput {blind}A
Return
+f::
- If A_PriorHotkey = #^+ ; Diaerese
+ If A_PriorHotkey = ^ ; circumflex
+ BSUnicode("Ê")
+ Else If A_PriorHotkey = ; akut
+ BSUnicode("É")
+ Else If A_PriorHotkey = + ; grave
+ BSUnicode("È")
+ Else If A_PriorHotkey = #^+ ; Diaerese
Send, {bs}
- Else If A_PriorHotkey = +^ ; caron
+ Else If A_PriorHotkey = +^ ; caron
BSUnicode("Ě")
- Else If A_PriorHotkey = ++ ; macron
+ Else If A_PriorHotkey = ++ ; macron
BSUnicode("Ē")
- Else If A_PriorHotkey = #^^ ; brevis
+ Else If A_PriorHotkey = #^^ ; brevis
BSUnicode("Ĕ")
- Else If A_PriorHotkey = #^+ ; ogonek
+ Else If A_PriorHotkey = #^+ ; ogonek
BSUnicode("Ę")
- Else If A_PriorHotkey = <^>! ; punkt darber
+ Else If A_PriorHotkey = <^>! ; punkt darber
BSUnicode("Ė")
Else
- Send E
+ sendinput {blind}E
Return
+g::
- If A_PriorHotkey = <^>!+ ; Schrgstrich
+ If A_PriorHotkey = ^ ; circumflex
+ BSUnicode("Ô")
+ Else If A_PriorHotkey = ; akut
+ BSUnicode("Ó")
+ Else If A_PriorHotkey = + ; grave
+ BSUnicode("Ò")
+ Else If A_PriorHotkey = <^>!+ ; Schrgstrich
BSUnicode("Ø")
- Else If A_PriorHotkey = + ; tilde
+ Else If A_PriorHotkey = + ; tilde
BSUnicode("Õ")
- Else If A_PriorHotkey = #^++ ; doppelakut
+ Else If A_PriorHotkey = #^++ ; doppelakut
BSUnicode("Ő")
- Else If A_PriorHotkey = #^+ ; Diaerese
- Send {bs}
- Else If A_PriorHotkey = ++ ; macron
+ Else If A_PriorHotkey = #^+ ; Diaerese
+ send {bs}
+ Else If A_PriorHotkey = ++ ; macron
BSUnicode("Ō")
- Else If A_PriorHotkey = #^^ ; brevis
+ Else If A_PriorHotkey = #^^ ; brevis
BSUnicode("Ŏ")
Else
- send O
+ sendinput {blind}O
Return
+h::
@@ -722,7 +770,7 @@ Return
Else If A_PriorHotkey = <^>!+^ ; punkt darunter
BSUnicode("Ṣ")
Else
- send S
+ sendinput {blind}S
Return
+j::
@@ -737,7 +785,7 @@ Return
Else If A_PriorHotkey = <^>! ; punkt darber
BSUnicode("Ṅ")
Else
- send N
+ sendinput {blind}N
Return
+k::
@@ -752,7 +800,7 @@ Return
Else If A_PriorHotkey = <^>!+^ ; punkt darunter
BSUnicode("Ṛ")
Else
- send R
+ sendinput {blind}R
Return
+l::
@@ -767,7 +815,7 @@ Return
Else If A_PriorHotkey = <^>!+^ ; punkt darunter
BSUnicode("Ṭ")
Else
- send T
+ sendinput {blind}T
Return
@@ -782,27 +830,29 @@ Return
BSUnicode("Ḋ")
Else If A_PriorHotkey = <^>!+^ ; punkt darunter
BSUnicode("Ḍ")
- Else send D
+ Else sendinput {blind}D
Return
+::
- If A_PriorHotkey = #^+ ; Diaerese
+ If A_PriorHotkey = ; akut
+ BSUnicode("Ý")
+ Else If A_PriorHotkey = #^+ ; Diaerese
Send {bs}
- Else If A_PriorHotkey = ^ ; circumflex
+ Else If A_PriorHotkey = ^ ; circumflex
BSUnicode("Ŷ")
Else
- send Y
+ sendinput {blind}Y
Return
-+y::send
-+x::send
-+c::send
++y::sendinput {blind}
++x::sendinput {blind}
++c::sendinput {blind}
+v::
If A_PriorHotkey = <^>! ; punkt darber
BSUnicode("Ṗ")
Else
- send P
+ sendinput {blind}P
Return
+b::
@@ -813,14 +863,14 @@ Return
Else If A_PriorHotkey = <^>! ; punkt darber
BSUnicode("Ż")
Else
- send Z
+ sendinput {blind}Z
Return
+n::
If A_PriorHotkey = <^>! ; punkt darber
BSUnicode("Ḃ")
Else
- send B
+ sendinput {blind}B
Return
+m::
@@ -829,7 +879,7 @@ Return
Else If A_PriorHotkey = <^>!+^ ; punkt darunter
BSUnicode("Ṃ")
Else
- send M
+ sendinput {blind}M
Return
+,::return
@@ -839,7 +889,7 @@ Return
If A_PriorHotkey = ^ ; circumflex
BSUnicode("Ĵ")
Else
- send J
+ sendinput {blind}J
Return
@@ -985,7 +1035,7 @@ Return
#^+v::Unicode("π") ;pi
#^+b::Unicode("ζ") ;zeta
#^+n::Unicode("β") ;beta
-#^+m::Unicode("μ") ;mu
+#^+m::Unicode("µ") ;micro, mu wre μ
#^+,::Unicode("ϑ") ;vartheta?
#^+.::Unicode("θ") ;theta
#^+-::return
@@ -1129,7 +1179,7 @@ Return
^o::send ^f
^p::send ^q
^::send ^
-^+::send ^+ ;z.B. Firefox Schrift grer
+^+::send ^{+} ;z.B. Firefox Schrift grer
^a::send ^u
^s::send ^i
@@ -1414,20 +1464,40 @@ Return
; ------------------------------------
Unicode(code)
- {
- saved_clipboard := ClipboardAll
- Transform, Clipboard, Unicode, %code%
- send ^v
- Clipboard := saved_clipboard
- }
+ {
+ saved_clipboard := ClipboardAll
+ Transform, Clipboard, Unicode, %code%
+ send ^v
+ Clipboard := saved_clipboard
+ }
BSUnicode(code)
- {
- saved_clipboard := ClipboardAll
- Transform, Clipboard, Unicode, %code%
- send {bs}^v
- Clipboard := saved_clipboard
- }
+ {
+ saved_clipboard := ClipboardAll
+ Transform, Clipboard, Unicode, %code%
+ send {bs}^v
+ Clipboard := saved_clipboard
+ }
+
+SendUnicodeChar(charCode)
+ {
+ VarSetCapacity(ki, 28 * 2, 0)
+
+ EncodeInteger(&ki + 0, 1)
+ EncodeInteger(&ki + 6, charCode)
+ EncodeInteger(&ki + 8, 4)
+ EncodeInteger(&ki +28, 1)
+ EncodeInteger(&ki +34, charCode)
+ EncodeInteger(&ki +36, 4|2)
+
+ DllCall("SendInput", "UInt", 2, "UInt", &ki, "Int", 28)
+ }
+
+EncodeInteger(ref, val)
+ {
+ DllCall("ntdll\RtlFillMemoryUlong", "Uint", ref, "Uint", 4, "Uint", val)
+ }
+
; ------------------------------------