AutoHotkey 发送所有修饰符期望一个

AutoHotkey send all modifiers expect one

我正在尝试将(右 windows 键)+ (i) 映射到 (向上) + (修饰符)。这是我目前所拥有的。

RWin & i::send {Blind}{Up} 

问题在于它使用正确的 windows 键发送 Up 并导致混乱!

有没有办法发送除右 windows 键修饰符之外的所有修饰符 + 向上?

为了使您的热键起作用,即使按住其他修饰符,如 ctrl、alt、shift,您也需要使用 *(通配符) 修饰符:

[*] Fire the hotkey even if extra modifiers are being held down

我最初提出的解决方案 *RWin & *i 不起作用,因为通配符修饰符仅适用于 'common' 热键,如 *^h::msgbox。实际上,RWin & i 并不是定义此操作的最佳方式:您可以使用 > 修饰符:

[>] Use the right key of the pair.

您的热键将如下所示:

*>#i::send {up}

#是Windows键,就像^是Ctrl等等。


注:

When {Blind} is the first item in the string, the program avoids releasing Alt/Control/Shift/Win if they started out in the down position.

但是你想要发送 RWin not(这是标准的),所以你应该避免触发与你看起来完全相反的 {blind} 关键字瞄准.

信息来源:https://www.autohotkey.com/docs/Hotkeys.htm