基本 AutoHotKey 輸入加倍器?

基本 AutoHotKey 輸入加倍器?

我有一個相當簡單的想法,我認為 AutoHotKey 可以幫助我。本質上,當我使用 ctrl-v 貼上時,我希望它傳輸第二個 ctrl-v 以便我貼上兩次。我的開發環境中有幾個按鍵綁定設定為各種 ctrl 按鍵的雙擊,因此我還希望能夠將腳本擴展到除了 ctrl-v 之外的各種其他按鍵。這是我的第一個 AutoHotKey 腳本,但我很難開始工作,因為這裡有很多東西要消化。謝謝!

答案1

在 AutoHotkey 中,雙重傳送金鑰非常簡單。

#IfWinActive
~^v::SendInput, ^v

一些附加項目:

#IfWinActive1) 您可以透過為 WinTitle 使用和指定視窗名稱、exe 名稱、類別等來自訂哪些程式將接收雙重傳送或不接收雙重傳送

2) 熱鍵定義中的波形符號表示腳本不會阻止原始擊鍵的執行。如果您想完全控制原件是否通過,您可以刪除波形符(這將阻止原始擊鍵),然後自己發送兩次(或者根本不發送,或者在沒有原始擊鍵的情況下您可能想做的任何事情)註冊)。

3) 如果需要,您可以透過將函數擴展到不僅僅是單行熱鍵定義並使用語句來新增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

相關內容