Estoy intentando obtener el siguiente comportamiento con AutoHotKey: cuando A
se presiona la tecla, AHK mantiene presionada la S
tecla hasta que D
se presiona la tecla. El siguiente script no funciona como se esperaba:
a::
Send {s Down}
return
d::
if (GetKeyState("s", "P"))
{
Send {s Up}
}
return
Tampoco lo siguiente:
a::
release_s = 0
Loop
{
SendInput, s
if release_s
break
}
return
d::
release_s = 1
return
Respuesta1
Prueba este:
a::Send, {s down}
d::
if(GetKeyState("s")) {
Send, {s up}
}
return
Problema en tu código:
GetKeyState("s", "P")
sólo dará cuenta defísicollaves. Spor el otro ha sido enviado comovirtualclave por AHK.
Respuesta2
Enviar {s Down} no provocará la repetición de una clave. Necesitas usar un bucle. Prueba esto:
a::
stop = 0
Loop
{
SendInput, s
Sleep 50 ;adjust for speed of repetition
if stop
break
}
return
d::
stop = 1
return