按一個鍵可按住第二個鍵,直到按下第三個鍵

按一個鍵可按住第二個鍵,直到按下第三個鍵

我試圖使用 AutoHotKey 來獲得以下行為:A按下該鍵時,AHK 按住該S鍵直到D按下該鍵。以下腳本未如預期運作:

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

相關內容