Тема: AHK: Нужен макрос на "зажатие кнопки"
Здравствуйте, недавно ознакомился с ahk,не могу написать простой макрос.
Нужно чтобы на кнопку Q нажимался пробел до тех пор пока кнопка Q зажата, заранее спасибо.
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Здравствуйте, недавно ознакомился с ahk,не могу написать простой макрос.
Нужно чтобы на кнопку Q нажимался пробел до тех пор пока кнопка Q зажата, заранее спасибо.
vk51::Send {Space Down}
vk51 up::Send {Space Up}Вместо клавиши Q используется виртуальный код этой клавиши. Это позволяет избежать ошибку
Note: The hotkey Q will not be active because it does not exist in the current keyboard layout.
Эта ошибка возникает при запуске скрипта если раскладка клавиатуры не соответствует заданному символу.
Например если переключится на русский язык и запустить скрипт, то появится эта ошибка.
Используя виртуальный код, скрипт запустится и ему будет неважно какая была раскладка клавиатуры.
Вот тут есть таблица виртуальных кодов: ТЫК.
Сам скрипт работает так:
нажимая клавишу скрипт отправляет пробел вниз(зажатие), а при отпускании клавиши q отжимаем пробел.
Зачем два хоткея? Тут достаточно:
vk51::Send {Space}Flasher
В вашем варианте происходит флуд пробела, а не зажатие.
Вот пример:
i := 0
Gui,add,Text,, Q\Й = space
Gui,add,button,gbt vbt Default,% "Кол-во нажатий [" i "]"
Gui,add,radio,vversion grad Checked,Вариант Flasher
Gui,add,radio,grad,Вариант yalanne
gui,show
rad:
Gui,Submit,NoHide
GuiControl, Focus,bt
Return
bt:
i++
GuiControl,,bt,% "Кол-во нажатий [" i "]"
Return
#if version = 1
vk51::Send {Space}
#if version = 2
vk51::Send {Space Down}
vk51 up::Send {Space Up}
#ifyalanne
Я, к сожалению, не знаю, что такое флуд пробела. Главное - это тот же результат для вопрошающего.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться