我正在尝试使用 AutoHotKey 实现以下行为:A
按下键时,AHK 会按住该S
键直到D
按下该键。以下脚本未按预期工作:
a::
Send {s Down}
return
d::
if (GetKeyState("s", "P"))
{
Send {s Up}
}
return
以下情况也都不是:
a::
release_s = 0
Loop
{
SendInput, s
if release_s
break
}
return
d::
release_s = 1
return
答案1
尝试一下这个:
a::Send, {s down}
d::
if(GetKeyState("s")) {
Send, {s up}
}
return
您的代码中存在问题:
GetKeyState("s", "P")
仅占身体的钥匙。S另一方面,已经作为虚拟的通过 AHK 键。
答案2
发送 {s Down} 不会导致按键重复。您需要使用循环。试试这个:
a::
stop = 0
Loop
{
SendInput, s
Sleep 50 ;adjust for speed of repetition
if stop
break
}
return
d::
stop = 1
return