Как мне всегда останавливать SendInput и ControlSend для нажатия клавиши DOWN, когда клавиша DOWN больше не удерживается?
~Down::
SendInput {Down down}
ControlSend,, {Down down}
Return
Изменить: ОК, но это немного медленно:
Down::
SendInput {Down down}
ControlSend,, {Down down}
return
Down Up::
SendInput {Down up}
ControlSend,, {Down up}
Return
Я уже вижу, что While l oop работает намного быстрее, но еще не работает должным образом на 100%.
Как мне эффективно обернуть свой код выше в процедуру While l oop?
Edit2: определение одного ключа в режиме While l oop работает правильно:
Down::
While GetKeyState("Down", "P")
{
SendInput, {Down down}
ControlSend,, {Down down}
}
SendInput, {Down Up}
ControlSend,, {Down Up}
Return
Edit3: определение нескольких ключей не работает - это также не работает должным образом:
$Down::
$Left::
$Right::
SendInput, % "{" . LTrim(A_ThisHotkey, "$") . " Down}"
KeyWait, % LTrim(A_ThisHotkey, "$")
SendInput, % "{" . LTrim(A_ThisHotkey, "$") . " Up}"
Return