当左右 shift 键同时按下时触发一个动作

Trigger an action when both left and right shift keys are down

我希望在按下两个 Shift 键时触发一次自定义操作一次。因此,如果我按下左移键,然后在按下左移键时按下右移键,则动作应该触发一次。

我编写脚本没有问题,问题是 RShift 和 LShift 的行为不像普通键。它们拒绝被 GetKeyState 检测到,因此动态解决方案已经结束,因为我无法将状态集中在一个循环中并检查两个键是否都按下。 (不过,我宁愿避免循环,而采用静态热键解决方案)

如果我这样定义热键:

~RShift::
    tooltip, right
return 

~LShift::
    tooltip, left   
return 

按下 RShift 会触发工具提示,但之后按下 LShift 不会执行任何操作,所以我再次陷入困境,没有任何功能来编写我的解决方案。

~ 是否保留了我需要的 shift 键的原始行为。

我也尝试过使用前缀 $、+ 和 * 但没有成功。

我会接受任何关于此事的建议。

我自己从来没有这样做过,但在我看来,您可以使用与号来指定热键中的两个修饰键。不幸的是,看起来您必须同时指定这两个顺序,因为这里的顺序似乎很重要,但这并不困难:

~RShift & ~LShift::
~LShift & ~RShift::
    MsgBox a
return