我有一个脚本,用于插入特殊字符并实现死键。使用SendEvent
插入特殊字符。当激活死锁时,脚本将运行Input, key, L1
并在表中查找结果以查找组合字符。
这适用于真正的按键,但是如果我触发死键然后使用SendEvent
插入特殊字符,则Input
调用不会注意到它。将逐字插入特殊字符,下一个真正的按键将转到Input
调用。
如何更改我的脚本,以便Input
捕获脚本插入的特殊字符?
我正在运行一个最小的脚本来演示这个问题:
SpecialCharacter(char) {
SendEvent %char%
}
DeadKey(combining) {
Input, key, L1
SendEvent %key%
SendEvent %combining%
}
^q::SpecialCharacter("a")
^w::DeadKey("b")
^ESC::Reload
实际应用会更复杂。
实际输出:
a
xb
xb
期望的输出:
ab
abx
我试图摆弄SendLevel
/ #InputLevel
,但我不认为那些会影响Input
命令的行为。