Ich versuche, mit AutoHotKey das folgende Verhalten zu erzielen: Wenn die A
Taste gedrückt wird, hält AHK die S
Taste gedrückt, bis die D
Taste gedrückt wird. Das folgende Skript funktioniert nicht wie erwartet:
a::
Send {s Down}
return
d::
if (GetKeyState("s", "P"))
{
Send {s Up}
}
return
Das Folgende ist auch nicht der Fall:
a::
release_s = 0
Loop
{
SendInput, s
if release_s
break
}
return
d::
release_s = 1
return
Antwort1
Probier diese:
a::Send, {s down}
d::
if(GetKeyState("s")) {
Send, {s up}
}
return
Problem in Ihrem Code:
GetKeyState("s", "P")
wird nur berücksichtigenphysischSchlüssel. Sauf der anderen Seite wurde gesendet alsvirtuellSchlüssel von AHK.
Antwort2
Das Senden von {s Down} führt nicht zur Wiederholung einer Taste. Sie müssen eine Schleife verwenden. Probieren Sie Folgendes aus:
a::
stop = 0
Loop
{
SendInput, s
Sleep 50 ;adjust for speed of repetition
if stop
break
}
return
d::
stop = 1
return