Я пытаюсь получить следующее поведение с 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