Тема: AHK : цикл при имитации зажатой кнопки
Добрый день!
Написал следующий код:
shift::
loop
{
if GetKeyState("ctrl","p")
{
Send {LButton Up}
return
}
Send {LButton Down}
Send, {RButton}
Sleep, 550
Send, {XButton1}
Sleep, 50
Send, {XButton2}
Sleep, 50
Send, {MButton}
Sleep, 450
}
Что хочу получить, при "физическом" нажатии (и отпускании) клавиши "shift" активирую скрипт, который имитирует зажатие левой кнопки мыши с одновременным выполнением цикла следующего содержания:
-нажатие (клик) правой кнопки мыши + ожидание 550мс
-нажатие (клик) четвертой кнопки мыши + ожидание 50мс
-нажатие (клик) пятой кнопки мыши + ожидание 50мс
-нажатие (клик) третьей кнопки мыши + ожидание 450мс.
После "физического" нажатия (и отпускания) "ctrl" цикл и имитация зажатия левой кнопки мыши прерываются (не пауза) до следующего нажатия (и отпускания) клавиши "shift" (цикл работает с начала).
На практике при работе скрипта часто не срабатывает команда на "клик" правой кнопкой мыши (возможно и других, замечал только по правой кнопке), а также физическое "нажать кнопку "ctrl"" принимает вид постоянного кратковременного нажатия на "ctrl" до остановки скрипта.
Как это исправить? Так же было бы удобнее "запуск" и "прерывание" работы скрипта перевести на одну клавишу "shift".