基本的な AutoHotKey 入力ダブラー?

基本的な AutoHotKey 入力ダブラー?

AutoHotKey が役に立つと思う、かなりシンプルなアイデアがあります。基本的には、Ctrl + V を使って貼り付けるときに、2 回目の Ctrl + V を送信して 2 回貼り付けられるようにしたいのです。開発環境では、さまざまな Ctrl キーのダブル ストロークになるようにいくつかのキーバインドを設定しているので、Ctrl + V 以外のさまざまなキーにもスクリプトを拡張できるようにしたいです。ただし、これは私の最初の AutoHotKey スクリプトであり、理解すべきことがたくさんあり、なかなかうまくいきません。ありがとうございます!

答え1

AutoHotkey では、キーを二重に送信するのは非常に簡単です。

#IfWinActive
~^v::SendInput, ^v

追加項目:

#IfWinActive1) WinTitleにウィンドウ名、exe名、クラスなどを指定して、二重送信を受信するプログラムと受信しないプログラムをカスタマイズできます。

2) ホットキー定義のチルダは、スクリプトが元のキーストロークの通過を阻止しないことを意味します。元のキーストロークが通過するかどうかを完全に制御したい場合は、チルダを削除して (元のキーストロークをブロックします)、自分で 2 回送信します (または、まったく送信しないか、元のキーストロークが登録されないように任意の操作を行います)。

3) 必要に応じて、関数を1行以上のホットキー定義に拡張し、ステートメントを使用して遅延を追加できますReturn

4) A_ThisHotkey を使用すると、複数のホットキーに同じコードを使用できます。

5) 必要に応じて、* 修飾子を使用して複数の修飾子を持つキーストロークを許可することもできます。これは、以下のサンプル コードでは正確には機能しない可能性がありますが、注意が必要です。

上記1~4の例:

; this will execute the code to send duplicate keystrokes 
; for any of the hotkeys defined, in this case, a,b,c, or Ctrl+V
#IfWinActive ahk_exe notepad.exe
~a::
~b::
~c::
~^v::
    Sleep 200   ; Possibly use or adjust for reliability if needed
    SendInput % SubStr(A_ThisHotkey, 2) ; Remove tilde and send duplicate keystrokes for whichever hotkey executed
Return

関連情報