diff options
Diffstat (limited to 'windows/neo-vars/src')
-rw-r--r-- | windows/neo-vars/src/source/varsfunctions.ahk | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/windows/neo-vars/src/source/varsfunctions.ahk b/windows/neo-vars/src/source/varsfunctions.ahk index d538a03..079dadc 100644 --- a/windows/neo-vars/src/source/varsfunctions.ahk +++ b/windows/neo-vars/src/source/varsfunctions.ahk @@ -42,6 +42,7 @@ CharStarDown(PhysKey, ActKey, char) { CharProc%SubProc%()
return
}
+rerun:
wasNonShiftKeyPressed := 1
if (PP%PhysKey% != "")
CompNew := PP%PhysKey% ; Von Tastaturwiederholung
@@ -56,6 +57,27 @@ CharStarDown(PhysKey, ActKey, char) { tosend := ""
PP%PhysKey% := ""
Comp := CompNew
+ } else if (CF%Comp% != "") {
+ tosend := CF%Comp%
+ if (PR%PhysKey% != "") { ; Eventuell vergessenen Key-Release aufr�umen
+ CharOutUp(PR%PhysKey%)
+ PR%PhysKey% := ""
+ }
+
+ loop {
+ if (SubStr(tosend,1,1)=="P") {
+ SubProc := SubStr(tosend,2,6)
+ CharProc%SubProc%()
+ } else {
+ CharOut(SubStr(tosend,1,7))
+ }
+ tosend := SubStr(tosend,8)
+ if (tosend == "")
+ break ; erledigt
+ }
+ Comp := ""
+ PP%PhysKey% := ""
+ goto rerun
} else if (Comp == "") { ; noch kein Zeichen in der Compose-Queue: Ein einzelnes Zeichen wird geschickt
tosend := char
PP%PhysKey% := char
|