Autohotkey 将切换按钮转换为保持按钮的AHK脚本

Autohotkey 将切换按钮转换为保持按钮的AHK脚本,autohotkey,Autohotkey,与我的另一个问题类似:但现在我想做相反的事情 我想要它,所以当你按下一个键时,它会触发一个向上/向下,当你释放它时,它会再次触发一个向上/向下 我是这样想的: LShift down:: send, {Capslock} LShift up:: send, {Capslock} 但是我不确定降档::部分我很确定这不会起作用,那么我如何才能有效地做同样的事情呢 注意:我打算在游戏中使用它,因此最好不要发送Capslock,而是发送LShift,我认为这可能会影响一些事情。但如果

与我的另一个问题类似:但现在我想做相反的事情

我想要它,所以当你按下一个键时,它会触发一个向上/向下,当你释放它时,它会再次触发一个向上/向下

我是这样想的:

LShift down::
    send, {Capslock}

LShift up::
    send, {Capslock}
但是我不确定降档::部分我很确定这不会起作用,那么我如何才能有效地做同样的事情呢


注意:我打算在游戏中使用它,因此最好不要发送Capslock,而是发送LShift,我认为这可能会影响一些事情。但如果这更难的话,我可以将sprint重新绑定到LShift以外的其他东西,切换键的处理方式不同,使用它们自己的命令,请阅读更多

解决方案:

LShift::
    While (GetKeyState("LShift", "P"))
        SetCapslockState, On   
    SetCapslockState, Off
Return
根据新信息,解决方案#2:


谢谢,不幸的是,我不认为这会起作用,因为一个游戏不关心capslock键的状态,但无论它是被按下(用于保持类型)还是在游戏期间被按下(用于切换)添加的代码,都应该起同样的作用,但触发“游戏”希望读取的逻辑状态。游戏很棘手,你可能需要尝试各种不同的输入模式才能让任何东西正常工作,但这是一个完全不同的主题,不可能在这里全部讨论。
LShift::
    While (GetKeyState("LShift", "P"))
        Send, {Capslock Down}  
    Send, {Capslock Up}
Return