Autohotkey AHK中的否定按键
我在玩一个游戏,当我同时按下3个按钮时,它会表现出不稳定。我需要将“A S D”按下的结果输入仅为“S” 差不多Autohotkey AHK中的否定按键,autohotkey,Autohotkey,我在玩一个游戏,当我同时按下3个按钮时,它会表现出不稳定。我需要将“A S D”按下的结果输入仅为“S” 差不多 #SingleInstance if getkeystate("a") if getkeystate("s") if getkeystate("d") input "s" 一个简单但可能不是很短的热键和它们的up变体的组合就可以做到这一点。此脚本的工作方式与您预期的相同,但仅适用于按钮a和s。按住s时,a不执行任何操作。当未按下s时,a获取其先前状态 #Single
#SingleInstance
if getkeystate("a")
if getkeystate("s")
if getkeystate("d")
input "s"
一个简单但可能不是很短的热键和它们的up变体的组合就可以做到这一点。此脚本的工作方式与您预期的相同,但仅适用于按钮
a
和s
。按住s
时,a
不执行任何操作。当未按下s
时,a
获取其先前状态
#SingleInstance, Force
SetBatchLines, -1
global a_down = false
global s_down = false
a::
a_down = true
if( %s_down% = true )
return
Send, {a down}
return
a up::
a_down = false
if( %s_down% = true )
return
Send, {a up}
return
s::
s_down = true
if( %a_down% = true )
Send, {a up}
Send, {s down}
return
s up::
s_down = false
if( %a_down% = true )
Send, {a down}
Send, {s up}
return
本着StackOverflow的精神,我不会发布使用所有三个键的完整脚本。这是留给读者的练习
我需要将“A S D”按下的结果输入仅为“S”
“输入”是指Send
命令??请看
如果你的任务是像S一样表现A+S,你会使用
a & s::
send s
return
但你要的是三把钥匙,这需要一些解决办法
#if getKeyState("d")
a & s::
send s
return
#if
或
a & s::
if getkeystate("d")
{
send s
}
return