Тема: AHK: операции при удерживаемой кнопке хоткей
Есть скрипт, который отдельно при нажатии и отдельно отпускании кнопки R(условно) посылает сканкод клавиатуры G(условно). Кнопка активации R назначается через команду
Hotkey, ~%hk%, sub, on UseErrorLevel
Сам скрипт из двух пар Send {%% Down}{%% Up} и одного keywait %hk% я проводить не буду в силу его очевидности.
Есть потребность добавить следующее:
Если при удерживаемой нажатой кнопке R нажать левую кнопку мышки, то должна быть выполнена последовательность операция с колесиком мышки, затем послано G. При этом после этого отпускание кнопки R никаких больше действий производится не должно до ее повторного нажатия.
global hk = "r"
global HK_1_5 = "g"
~r::
{
Send {%HK_1_5% Down}{%HK_1_5% Up}
Loop
{
sleep, 10
GetKeyState, state, %hk% ;проверяем нажата ли кнопка хк
If (state = "U")
{
Send {%HK_1_5% Down}{%HK_1_5% Up}
break
}
if GetKeyState("LButton", "P") ;проверяем не нажата ли левая кнопка мышки
{
Sleep, 30
Send {%HK_1_5% Down}{%HK_1_5% Up}
Sleep, 30
loop 4
{
MouseClick, WheelDown,,, 1
Sleep, 30
}
break
}
}
}
Вот этот код если я зажимаю R, кликаю левой кнопкой мышки выполняет ту часть что должна выполнятся после клика. Но при отпускании кнопки R после этого выполняется и та часть кода, которая должна исполняться без клика мышки. Как мне сделать, что бы выполнялось только что-то одно?