기본 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

관련 정보