Тема: удержание кнопки мыши - бинд
Как сделать чтобы при удержании правой кнопки мыши нажималась кнопка на клавиатуре?
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Как сделать чтобы при удержании правой кнопки мыши нажималась кнопка на клавиатуре?
Если не ошибаюсь так:
*~RButton:: ; Кнопка BIND
Loop ; Цикл
{
Send, R
If !GetKeyState("RButton", "P") ; Если BIND отжат то выходит из цикла.
Break
}
Return
Пробуйте)
В данном примере если зажать ПКМ будет отправляться нажатие "R".
Перед "Send" рекомендую прописать "Sleep, 100" хотя бы. Да бы избежать непонятных лагов на слабых пк. Или в некоторых играх.
Ну или же выставить общий слип на "Send" в начале скрипта. "SetKeyDelay, 100"
romzes96
Если в блокноте то печатает букву с интервалом. Но если назначить действие например Ctrl+V то текст не вставляется, в блокноте печатает букву V
*~RButton:: ; Кнопка BIND
Loop ; Цикл
{
Sleep, 1000
Send, {Ctrl}{V}
If !GetKeyState("RButton", "{Ctrl}{V}") ; Если BIND отжат то выходит из цикла.
Break
}
Return
zxcvbn2049
Попробуйте так:
RButton:: ; Кнопка BIND
Loop ; Цикл
{
Sleep, 100
Send, ^{sc2F}
If !GetKeyState("RButton", "P") ; Если BIND отжат то выходит из цикла.
Break
}
Return
F1::
ExitApp
Return
F1 бинд сделан что бы закрыть скрипт. Что бы правый клик работал как обычно. Так же можете использовать "Suspend" и "Pause" эти команды не будут закрывать программу, а поставят её на паузу, при повторном нажатие на F1, ПКМ вновь будет работать "по скрипту".
Так всё должно работать правильно.
romzes96
А если другая комбинация клавиш? Просто у вас в скрипте мало что поменялось кроме ^{sc2F}, это что значит я не могу найти.
zxcvbn2049
Что изменилось отметил плюсиками. точнее отметил ту строку в которой произошли изменения.
RButton:: ; Кнопка BIND +++
Loop ; Цикл
{
Sleep, 100
Send, ^{sc2F} +++
If !GetKeyState("RButton", "P") ; Если BIND отжат то выходит из цикла. +++
Break
}
Return
F1::
ExitApp
Return
Смотрите внимательней.
То что вы не поняли называется скан клавиш. Вам сюда: http://forum.script-coding.com/viewtopic.php?id=5690
romzes96
Не знаю, с этим скриптом просто правая кнопка мыши перестает работать и только вставляет текст при обычном нажатии. Я думал вы ошиблись *~ не написали.
If !GetKeyState("RButton", "P") ; Если BIND отжат то выходит из цикла. +++
- эта строка не изменилась
zxcvbn2049
If !GetKeyState("RButton", "{Ctrl}{V}") ; Если BIND отжат то выходит из цикла.
If !GetKeyState("RButton", "P") ; Если BIND отжат то выходит из цикла. +++
zxcvbn2049
Я видимо не до конца понял чего Вы хотите от скрипта...
zxcvbn2049
Я видимо не до конца понял чего Вы хотите от скрипта...
Я хочу чтобы при удержании правой кнопки мыши, 1 секунда допустим, срабатывала клавиша(комбинация клавиш) на которую назначено открытие всплывающего окна программы. При этом при одиночном нажатии правая кнопка продолжала работать как обычно. Если такое возможно.
KeyWait
Я хз как там сделать это сделать.
я подсмотрел скрипт и у меня еще небольшой вопрос. Если к примеру на команду "луп" стоит повторять несколько кнопок и при отпускании он еще доделывает несколько секций этого "лупа" как это остановить?
ievgenS, это уже другой вопрос.
Вопрос тот же у меня остается.
i := 0
RButton::
KeyWait RButton, T1
If ErrorLevel {
loopOn := true
While GetKeyState("RButton", "P") {
ToolTip % ++i
Sleep 500
}
}
Return
#If loopOn
RButton Up::Reload
stealzy
Моя не понимает.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться