Autohotkey 在按下并按住任何键组成员后,仅运行一次AHK函数或语句

Autohotkey 在按下并按住任何键组成员后,仅运行一次AHK函数或语句,autohotkey,Autohotkey,因此,在本例中,我要求AHK使用以下功能按下shift键两次 ShiftPress(delay){ send {Shift Down} Sleep, delay send {Shift Up} Sleep, delay } ShiftPressTwice(delay){ ShiftPress(delay) ShiftPress(delay) } 对于这组键(不确定这是否是迭代一组键的最佳方式,仅使用我在网上找到的

因此,在本例中,我要求AHK使用以下功能按下shift键两次

ShiftPress(delay){
        send {Shift Down}
        Sleep, delay
        send {Shift Up}
        Sleep, delay
}

ShiftPressTwice(delay){
    ShiftPress(delay)
    ShiftPress(delay)
}
对于这组键(不确定这是否是迭代一组键的最佳方式,仅使用我在网上找到的示例)


我的想法是,上面的代码有点像开关盒的故障,那么它应该调用我的函数
shiftpress两次(延迟)
一次,然后点击
GetKeyState(key)
循环,然后休眠。发生的事情是,这似乎是一个无止境的循环。如果你有任何问题,请告诉我

一般来说,如果答案中包含对代码意图的解释,以及在不介绍其他内容的情况下解决问题的原因,则会更有帮助。请给出完整的答案,而不仅仅是没有解释的代码答案。
w::
a::
s::
d:: 
1::
2::
3::
4::
5::
Space::
    ShiftPressTwice(10) 
    KeyWait %A_ThisHotkey%
    Return
w::
a::
s::
d:: 
1::
2::
3::
4::
5::
Space::
    ShiftPressTwice(10) 
    KeyWait %A_ThisHotkey%
    Return