summaryrefslogtreecommitdiffstats
path: root/windows/autohotkey/Source/Methods-Unicode.ahk
diff options
context:
space:
mode:
authormartin_r <martin_r@b9310e46-f624-0410-8ea1-cfbb3a30dc96>2008-09-15 01:08:23 +0000
committermartin_r <martin_r@b9310e46-f624-0410-8ea1-cfbb3a30dc96>2008-09-15 01:08:23 +0000
commit617adf85157eec87ff3fc4f177cb71af260539e7 (patch)
tree267abc0692a28f2c24f48e55745cb8b62bafb515 /windows/autohotkey/Source/Methods-Unicode.ahk
parent43433b3d799a0b7e89c0d856e47f8a6bf68049b8 (diff)
Compose-Automatisierung für den AHK
git-svn-id: https://svn.neo-layout.org@872 b9310e46-f624-0410-8ea1-cfbb3a30dc96
Diffstat (limited to 'windows/autohotkey/Source/Methods-Unicode.ahk')
-rw-r--r--windows/autohotkey/Source/Methods-Unicode.ahk12
1 files changed, 6 insertions, 6 deletions
diff --git a/windows/autohotkey/Source/Methods-Unicode.ahk b/windows/autohotkey/Source/Methods-Unicode.ahk
index a23da10..161e01c 100644
--- a/windows/autohotkey/Source/Methods-Unicode.ahk
+++ b/windows/autohotkey/Source/Methods-Unicode.ahk
@@ -8,21 +8,21 @@ Dieser basiert auf http://www.autohotkey.com/forum/topic32947.html
Der Aufruf von »SubStr(charCode,3)« geht davon aus, dass alle charCodes in Hex mit führendem „0x“ angegeben sind. Die abenteuerliche „^+u“-Konstruktion benötigt im Übrigen den Hex-Wert in Kleinschrift, was derzeit nicht bei den Zeichendefinitionen umgesetzt ist, daher zentral und weniger fehlerträchtig an dieser Stelle. Außerdem ein abschließend gesendetes Space, sonst bleibt der „eingetippte“ Unicode-Wert noch kurz sichtbar stehen, bevor er sich GTK-sei-dank in das gewünschte Zeichen verwandelt.
*/
-SendUnicodeChar(charCode) {
+SendUnicodeChar(charCode1, charCode2) {
global
- if !(CheckComp(charCode) and DeadCompose)
+ if !(CheckComp(charCode2) and DeadCompose)
IfWinActive,ahk_class gdkWindowToplevel
{
- StringLower,charCode,charCode
- send % "^+u" . SubStr(charCode,3) . " "
+ StringLower,charCode1,charCode1
+ send % "^+u" . SubStr(charCode1,3) . " "
} else {
VarSetCapacity(ki,28*2,0)
EncodeInteger(&ki+0,1)
- EncodeInteger(&ki+6,charCode)
+ EncodeInteger(&ki+6,charCode1)
EncodeInteger(&ki+8,4)
EncodeInteger(&ki+28,1)
- EncodeInteger(&ki+34,charCode)
+ EncodeInteger(&ki+34,charCode1)
EncodeInteger(&ki+36,4|2)
DllCall("SendInput","UInt",2,"UInt",&ki,"Int",28)
}