Autohotkeyで3つのキーをホットキーとして組み合わせる方法は?


14

次のように、CapsLock Alt kキーを単一のホットキーに結合したい:

CapsLock & !k:: Send !{Up}

Autohotkeyは修飾キー以外の3つ以上のキーの組み合わせを許可しないため、これは機能しません。

解決策を探して、左側でスキャンコードを使用すると、次のような回避策が得られることがわかりました。

SC035 & !k:: Send !{Up}

私もこのソリューションをテストしましたが、これも正しく機能しません。この場合、を押すCapsLock+kとホットキーがトリガーされます。


(AutoHotkeyでは、Ctrlは^Alt、Altは!。どちらが必要かを明確にすることができます。)
Bavi_H

間違いを修正しました。
メルトヌホグル

回答:


13

これはどう?

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

ありがとうございました。これは本当に効果的です。ただし、「CapsLock&a :: =」などのキーと組み合わせたCapsLockを使用すると、わずかな遅延が発生します。この遅延は、おそらくGetKeyState関数によるものです。
メルトヌホグル

テストしましたが、この遅延を再現できませんでした。スクリプトは自己完結型であり、他のスクリプトのパフォーマンスに影響を与えないようにする必要があります。3つ目のホットキー(上記のような)を追加するGetKeyStateを含むスクリプトは、通常のホットキー設定のスクリプトとまったく同じように動作せず、通常のように高速にスクリプトを繰り返すことができません。お役に立てば幸いです。
snitzr

3
私はこのより簡潔な構文を好み、それをあなたと共有したいと思いました:GetKeyState( "Alt"、 "P")...でなければ、必要に応じて変更します。乾杯。
マリオAwad
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.