세 번째 키를 누를 때까지 두 번째 키를 누르고 있으려면 하나의 키를 누르세요.

세 번째 키를 누를 때까지 두 번째 키를 누르고 있으려면 하나의 키를 누르세요.

AutoHotKey를 사용하여 다음 동작을 얻으려고 합니다. 키를 누르면 AHK는 키를 누를 때까지 키를 A누르고 있습니다 . 다음 스크립트가 예상대로 작동하지 않습니다.SD

a::
    Send {s Down}
    return

d::
    if (GetKeyState("s", "P"))
        {
        Send {s Up}
        }
    return

다음도 마찬가지입니다.

a::
    release_s = 0
    Loop
        {
        SendInput, s
        if release_s
            break
        }
    return

d::
    release_s = 1
    return

답변1

이거 한번 해봐:

a::Send, {s down}

d::
    if(GetKeyState("s")) {
        Send, {s up}
    }
return

코드 문제:

GetKeyState("s", "P")대해서만 설명할 것이다물리적열쇠. S다른 하나는 다음과 같이 전송되었습니다.가상AHK의 열쇠.

답변2

{s Down}을 보내도 키가 반복되지 않습니다. 루프를 사용해야 합니다. 이것을 시도해 보십시오:

a::
    stop = 0
    Loop 
    {
        SendInput, s
        Sleep 50 ;adjust for speed of repetition
        if stop
            break
    }
    return


d::
    stop = 1
    return

관련 정보