如何将三个键作为热键与自动热键结合使用?


14

我想CapsLock Alt k在一个热键中组合键,例如:

CapsLock & !k:: Send !{Up}

这是行不通的,因为Autohotkey不允许组合键以外的两个以上的键组合使用。

在寻找解决方案时,我发现在左侧使用扫描代码可能是一种解决方法,例如:

SC035 & !k:: Send !{Up}

我也测试了此解决方案,但这也无法正常工作。在这种情况下,按下CapsLock+k会触发热键。


(在AutoHotkey中,Ctrl是^,Alt是!。您可能需要弄清楚哪个。)
Bavi_H 2010年

我纠正了这个错误。
Mert Nuhoglu

Answers:


13

这个怎么样?

Capslock & k:: 
GetKeyState, state, Alt
if state = D
SendInput !{Up}
Return 

谢谢。这确实有效。但是现在结合使用CapsLock和键(例如“ CapsLock&a :: =“)时,会稍有延迟。这种延迟可能是由于GetKeyState函数引起的,不是吗?
Mert Nuhoglu

我进行了测试,但无法重新创建此延迟。该脚本应该是独立的,并且不会影响其他脚本的性能。具有GetKeyState来添加第三个热键的脚本(如我上面的脚本)将不会完全像具有常规热键设置的脚本那样工作,并且可能阻止脚本像往常一样快速重复。希望能有所帮助。
snitzr 2010年

3
我喜欢这种更简洁的语法,并认为我会与您分享:如果没有,则GetKeyState(“ Alt”,“ P”)...根据您的需要进行修改。干杯。
马里奥·阿瓦德
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.