Estou tentando obter o seguinte comportamento com AutoHotKey: Quando a A
tecla é pressionada, AHK mantém a S
tecla pressionada até que D
ela seja pressionada. O script a seguir não está funcionando conforme o esperado:
a::
Send {s Down}
return
d::
if (GetKeyState("s", "P"))
{
Send {s Up}
}
return
Nem é o seguinte:
a::
release_s = 0
Loop
{
SendInput, s
if release_s
break
}
return
d::
release_s = 1
return
Responder1
Tente este:
a::Send, {s down}
d::
if(GetKeyState("s")) {
Send, {s up}
}
return
Problema no seu código:
GetKeyState("s", "P")
só vai contabilizarfísicochaves. Spor outro lado, foi enviado como umvirtualchave por AHK.
Responder2
Enviar {s Down} não causará repetição de uma chave. Você precisa usar um loop. Experimente:
a::
stop = 0
Loop
{
SendInput, s
Sleep 50 ;adjust for speed of repetition
if stop
break
}
return
d::
stop = 1
return