by ZenRigel » 20 Feb 2021, 21:08
Добрый всем день! Хочу попросить вас о помощи в написании скрипта. Суть скрипта заключается в следующем: когда мы нажимаем определенную кнопку №1 (пусть это будет LAlt) сначала вводится единоразовое нажатие кнопки №2 (например, М), а затем, спустя какую то маленькую задержку (как если бы эти клавиши одну за другой нажимал бы вручную человек) запускается цикл нажатия кнопки №3 (пускай, Space) с задержкой между нажатиями в 100 ms, который, к тому же, повторяется до тех пор, пока зажата клавиша №1.
При этом повторятся должен только цикл с клавишей №3, вторая же - должна считываться только 1 раз, после нажатия кнопки №1. Плюс ко всему, нажатие кнопки №2 должно быть "естественным", т.е. таким, как будто мы просто вместо кнопки №1 нажимаем ее (возможно для этого нужно задать задержку или еще что то, я не знаю).
У меня есть пример скрипта, такой, каким я хочу его видеть, однако без одноразового нажатия клавиши №2, имеющий в себе лишь цикл. Вот он:
Code: Select all
*~$LAlt::
Sleep 100
Loop
{
GetKeyState, LAltState, LAlt, P
If LAltState = U
break
Sleep 1
Send, {Blind}{Space}
}
Return
[Mod edit: [code][/code] tags added.]
Возможно, его можно как то оптимизировать или просто поменять, я не знаю. Даю его с мыслью, что он может вам помочь. Если вы напишете другой, но функциональный, выполняющий поставленную задачу то я буду только рад. В общем - главное не форма, а что бы работал
Всем заранее большое спасибо!)
Добрый всем день! Хочу попросить вас о помощи в написании скрипта. Суть скрипта заключается в следующем: когда мы нажимаем определенную кнопку №1 (пусть это будет LAlt) сначала вводится единоразовое нажатие кнопки №2 (например, М), а затем, спустя какую то маленькую задержку (как если бы эти клавиши одну за другой нажимал бы вручную человек) запускается цикл нажатия кнопки №3 (пускай, Space) с задержкой между нажатиями в 100 ms, который, к тому же, повторяется до тех пор, пока зажата клавиша №1.
При этом повторятся должен только цикл с клавишей №3, вторая же - должна считываться только 1 раз, после нажатия кнопки №1. Плюс ко всему, нажатие кнопки №2 должно быть "естественным", т.е. таким, как будто мы просто вместо кнопки №1 нажимаем ее (возможно для этого нужно задать задержку или еще что то, я не знаю).
У меня есть пример скрипта, такой, каким я хочу его видеть, однако без одноразового нажатия клавиши №2, имеющий в себе лишь цикл. Вот он:
[code]*~$LAlt::
Sleep 100
Loop
{
GetKeyState, LAltState, LAlt, P
If LAltState = U
break
Sleep 1
Send, {Blind}{Space}
}
Return[/code][color=#FF0040][size=75][Mod edit: [kbd][code][/code][/kbd] tags added.][/size][/color]
Возможно, его можно как то оптимизировать или просто поменять, я не знаю. Даю его с мыслью, что он может вам помочь. Если вы напишете другой, но функциональный, выполняющий поставленную задачу то я буду только рад. В общем - главное не форма, а что бы работал ;)
Всем заранее большое спасибо!)