发送热键自己的默认行为

时间:2015-04-14 17:26:23

标签: autohotkey

如何在自己的密钥定义中发送密钥默认(来自硬件)行为。我的意思是这段代码:

vcerc = 0

+c::
vcerc := !vcerc
Return

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

kkey = 0

$k::
if vcerc {
    kkey := !kkey
    if kkey
        SendInput {k down}
    else
        SendInput {k up}
}
else {
    Send, K
}
Return

在结尾部分Send, K它发送单词K。我在多语言环境中,这意味着如果我切换到另一个,此键仍然发送K而不是发送第二语言的那个(假设为ن)。
如何使此发送默认值? (无论语言是什么,都来自硬件)

1 个答案:

答案 0 :(得分:0)

对我来说似乎有两件事:1)你的初始kkey声明永远不会被击中,因为它落在热键之后(并且返回)。在顶部声明您的变量。 2)如果kkey为真,你的脚本会无限期地按住k按钮。这是预期的吗? 3)你唯一寻找小写字母k但发送大写字母k的。这是预期的吗?

无论如何,这个例子应该指向正确的方向。

vcerc = 0
kkey = 0

+c::
vcerc := !vcerc
return

$k::
{
    if (vcerc) {
        kkey := !kkey
        if (kkey) {
            msgbox, k down ; SendInput {k down}
        } else {
            msgbox, k up ; SendInput {k up}
        }
    } else {
        Send, K
    }
}