1

Тема: удержание кнопки мыши - бинд

Как сделать чтобы при удержании правой кнопки мыши нажималась кнопка на клавиатуре?

2

Re: удержание кнопки мыши - бинд

Если не ошибаюсь так:

*~RButton:: ; Кнопка BIND
Loop ; Цикл
   {
      Send, R
      If !GetKeyState("RButton", "P") ; Если BIND отжат то выходит из цикла.
         Break
   }
Return

Пробуйте)

В данном примере если зажать ПКМ будет отправляться нажатие "R".
Перед "Send" рекомендую прописать "Sleep, 100" хотя бы. Да бы избежать непонятных лагов на слабых пк. Или в некоторых играх.
Ну или же выставить общий слип на "Send" в начале скрипта. "SetKeyDelay, 100"

3 (изменено: zxcvbn2049, 2018-03-26 15:30:47)

Re: удержание кнопки мыши - бинд

romzes96

Если в блокноте то печатает букву с интервалом. Но если назначить действие например Ctrl+V то текст не вставляется, в блокноте печатает букву V


*~RButton:: ; Кнопка BIND
Loop ; Цикл
   {
      Sleep, 1000
      Send, {Ctrl}{V}
      If !GetKeyState("RButton", "{Ctrl}{V}") ; Если BIND отжат то выходит из цикла.
         Break
   }
Return

4 (изменено: romzes96, 2018-03-26 15:52:08)

Re: удержание кнопки мыши - бинд

zxcvbn2049
Попробуйте так:


RButton:: ; Кнопка BIND
Loop ; Цикл
   {
      Sleep, 100
      Send, ^{sc2F}
      If !GetKeyState("RButton", "P") ; Если BIND отжат то выходит из цикла.
         Break
   }
Return

F1::
ExitApp
Return

F1 бинд сделан что бы закрыть скрипт. Что бы правый клик работал как обычно. Так же можете использовать "Suspend" и "Pause" эти команды не будут закрывать программу, а поставят её на паузу, при повторном нажатие на F1, ПКМ вновь будет работать "по скрипту".

Так всё должно работать правильно.

5

Re: удержание кнопки мыши - бинд

romzes96

А если другая комбинация клавиш? Просто у вас в скрипте мало что поменялось кроме ^{sc2F}, это что значит я не могу найти.

6

Re: удержание кнопки мыши - бинд

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

7 (изменено: zxcvbn2049, 2018-03-26 20:52:23)

Re: удержание кнопки мыши - бинд

romzes96

Не знаю, с этим скриптом просто правая кнопка мыши перестает работать и только вставляет текст при обычном нажатии. Я думал вы ошиблись *~ не написали.

If !GetKeyState("RButton", "P") ; Если BIND отжат то выходит из цикла. +++

- эта строка не изменилась

8

Re: удержание кнопки мыши - бинд

zxcvbn2049

If !GetKeyState("RButton", "{Ctrl}{V}") ; Если BIND отжат то выходит из цикла.
If !GetKeyState("RButton", "P") ; Если BIND отжат то выходит из цикла. +++

9

Re: удержание кнопки мыши - бинд

zxcvbn2049
Я видимо не до конца понял чего Вы хотите от скрипта...

10 (изменено: zxcvbn2049, 2018-03-26 21:34:05)

Re: удержание кнопки мыши - бинд

romzes96 пишет:

zxcvbn2049
Я видимо не до конца понял чего Вы хотите от скрипта...

Я хочу чтобы при удержании правой кнопки мыши, 1 секунда допустим, срабатывала клавиша(комбинация клавиш) на которую назначено открытие всплывающего окна программы. При этом при одиночном нажатии правая кнопка продолжала работать как обычно. Если такое возможно.

11

Re: удержание кнопки мыши - бинд

stealzy пишет:

KeyWait

Я хз как там сделать это сделать.

12

Re: удержание кнопки мыши - бинд

я подсмотрел скрипт и у меня еще небольшой вопрос. Если к примеру на команду "луп" стоит повторять несколько кнопок и при отпускании он еще доделывает несколько секций этого "лупа" как это остановить?

13

Re: удержание кнопки мыши - бинд

stealzy пишет:

ievgenS, это уже другой вопрос.

Вопрос тот же у меня остается.

14 (изменено: stealzy, 2018-03-28 00:16:03)

Re: удержание кнопки мыши - бинд

i := 0

RButton::
	KeyWait RButton, T1
	If ErrorLevel {
		loopOn := true
		While GetKeyState("RButton", "P") {
			ToolTip % ++i
			Sleep 500
		}
	}
Return

#If loopOn
RButton Up::Reload
Win7x64, AutoHotkey 1.1.30.00

15

Re: удержание кнопки мыши - бинд

stealzy

Моя не понимает.