В этом варианте цикл выполняется, пока клавиша NumpadPgUp удерживается нажатой:
NumpadPgUp::
Loop
{
if not GetKeyState("NumpadPgUp", "P") ; Если клавиша отпущена – выйти из цикла.
break
Send, {O Down}
Send, {O Up}
Sleep, 500
}
return
В этом варианте нажатие клавиши NumpadPgUp запускает циклическую отправку команды, а повторное нажатие – останавливает её:
toggle := false ; Переменная для переключения состояния цикла.
NumpadPgUp::
toggle := !toggle ; Переключаем состояние.
if (toggle)
{
SetTimer, SendO, 500 ; Запускаем таймер, который будет вызывать метку every 500 мс.
}
else
{
SetTimer, SendO, Off ; Останавливаем таймер.
}
return
SendO:
Send, {O Down}
Send, {O Up}
return
Send "{O Down}"
Send "{O Up}"
Sleep 500
}