1 (изменено: ascerdfg1, 2011-08-21 23:05:31)

Тема: AHK: Как отследить комбинированное нажатие?

Нужно отследить нажатие "www.win2.cn/f и Enter", смог составить:

:*:www.win2.cn/f Enter::

но выдаёт ошибку.

2

Re: AHK: Как отследить комбинированное нажатие?

ascerdfg1, почитай справку, если останутся вопросы, подумай над заголовком темы.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

3

Re: AHK: Как отследить комбинированное нажатие?

Справку перечитал, не дошло.

4

Re: AHK: Как отследить комбинированное нажатие?

А что должно происходить при нажатии данной комбинации клавиш?

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

5

Re: AHK: Как отследить комбинированное нажатие?

Вот так:

:*:www.win2.cn/f::

набранные символы стираются, но после них идёт нажатие клавиши Enter, от которого тоже желательно избавиться. Можно Enter временно заблокировать после набора www.win2.cn/f, но как это сделать не пойму. А может есть решение проще. Подскажите плиз.

6

Re: AHK: Как отследить комбинированное нажатие?

:*:www.win2.cn/f::
	Hotkey, Enter, BlockEnter, On
	Sleep, 2000
	Hotkey, Enter, Off
	Return
	
BlockEnter:
	Return

Enter блокируется на 2 сукунды.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

7

Re: AHK: Как отследить комбинированное нажатие?

Спасибо!

А для чего

BlockEnter:
    Return

?

8

Re: AHK: Как отследить комбинированное нажатие?

См. команду Hotkey.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

9 (изменено: ascerdfg1, 2011-08-22 11:29:11)

Re: AHK: Как отследить комбинированное нажатие?

А возможно ли задать условие при котором между нажимом клавиши "w" и "w" прошло меньше 200 ms ?

10

Re: AHK: Как отследить комбинированное нажатие?

Вряд ли.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

11

Re: AHK: Как отследить комбинированное нажатие?

Вероятно подразумевался "двойной клик клавишей W", нечто вроде:


t := 0

~w::  
If(A_TickCount-t < 200)
  MsgBox  менее 200мс между нажатиями
  t := A_TickCount

12

Re: AHK: Как отследить комбинированное нажатие?

Осталось только с этим соединить .

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

13 (изменено: ascerdfg1, 2011-08-24 18:10:19)

Re: AHK: Как отследить комбинированное нажатие?

Вот и вся любовь:

t := 0
 
~w::
If(A_TickCount-t < 70) ; если между нажатием "W" и "W" меньше 70 мс, то это была нажата четвёртая кнопка мыши.
  {
  BlockInput On
  Sleep, 100
  Send, {BS}{BS}
  Sleep, 150
  BlockInput Off
  }
  t := A_TickCount
   Return

creature.ws спасибо!

14

Re: AHK: Как отследить комбинированное нажатие?

Обнаружил проблему данного скрипта: если набираешь слово, в котором присутствует буква "ц" БЫСТРО, то скрипт выполняется, так как как под "ц" находится "w", выставление интервала нажатия менее 50 мс ситуацию не исправила (сами понимаете что прерывания винды сильно влияют). Подскажите пожалуйста, как исправить.

15 (изменено: creature.ws, 2012-01-22 22:06:50)

Re: AHK: Как отследить комбинированное нажатие?

~w::
if (A_PriorHotkey = A_ThisHotkey && A_TimeSincePriorHotkey < 70)
; действия

16

Re: AHK: Как отследить комбинированное нажатие?

Спасибо! Теперь всё чётко!