1

Тема: AHK: Отслеживание двойного нажатия хоткейя ввиде функции

Есть такой скрипт, его упёр из справки и немного переделал, но возникла проблема - в скрипте много клавиш надо отследить по двойному нажатию, так что возник вопрос.
Как этот или ему подобный код переделать в функцию.
Конечно можно создать массив клавиш и т.д. и обрабатывать, но я вот "сумливаюсь" насчёт синхронной обработки, а задать асинхронный таймер я не знаю как, да и для каждой клавиши нужен таймер и соответственно метка и тут то и возникла проблема.

;-Деф.-циал
$RButton::
 If RButton_Presses > 0
  {
     RButton_Presses += 1
     Return
  }
 RButton_Presses = 1
 SetTimer, KeyRButton, 350
Return
KeyRButton:
 SetTimer, KeyRButton, Off 
 If RButton_Presses = 1
  {
   RButton_Presses = 0
   send {RButton}
   Return
  }
 RButton_Presses = 0
; дальше код обработки двойного нажатия ПКМ
"На каждое действие есть равная ему противодействующая критика." Постулат Харриссона
Для NotePad++(подсветка синтаксиса, автозавершение и плагины(AutoSave и RunMe).
OS Windows 10 x64 Pro

2

Re: AHK: Отслеживание двойного нажатия хоткейя ввиде функции

Мало что понял, но по аналогии вспомнилась эта тема:
AHK::Разные действия для одиночного и двойного нажатия клавиши. Там я вынес общий код в процедуру.

3

Re: AHK: Отслеживание двойного нажатия хоткейя ввиде функции

По сути вопрос решился сам - этот скрипт должен отлавливать удержание клавиши и пропускать его, т.е. требуется ещё его дописывать.

"На каждое действие есть равная ему противодействующая критика." Постулат Харриссона
Для NotePad++(подсветка синтаксиса, автозавершение и плагины(AutoSave и RunMe).
OS Windows 10 x64 Pro

4

Re: AHK: Отслеживание двойного нажатия хоткейя ввиде функции

YMP пишет:

Мало что понял, но по аналогии вспомнилась эта тема:
AHK::Разные действия для одиночного и двойного нажатия клавиши. Там я вынес общий код в процедуру.

а темы с названием Разные действия для одиночного,  двойного нажатия и удержания клавиши - нет?

"На каждое действие есть равная ему противодействующая критика." Постулат Харриссона
Для NotePad++(подсветка синтаксиса, автозавершение и плагины(AutoSave и RunMe).
OS Windows 10 x64 Pro

5

Re: AHK: Отслеживание двойного нажатия хоткейя ввиде функции

С названием таким вроде нет, а сама по себе тема удержания, может, и затрагивалась где-то. Всего не упомнишь.

6 (изменено: Indomito, 2012-04-22 18:14:22)

Re: AHK: Отслеживание двойного нажатия хоткейя ввиде функции

-del

"На каждое действие есть равная ему противодействующая критика." Постулат Харриссона
Для NotePad++(подсветка синтаксиса, автозавершение и плагины(AutoSave и RunMe).
OS Windows 10 x64 Pro

7 (изменено: Indomito, 2012-04-22 18:16:05)

Re: AHK: Отслеживание двойного нажатия хоткейя ввиде функции

YMP пишет:

;----- Пример для правой кнопки мыши ----

переделал просто на левую из за этого пришлось перегрузиться т.к. метку не поправил

Твой код работает идеально, для меня он подходит на 100% и различает все три события, за счёт секции:

LButton(1):                        ; Одиночный действует как и раньше (почти,
  Click Down Left                 ; т.к. пауза иногда даёт о себе знать при 
  KeyWait, LButton                 ; перетаскивании правой кнопкой).
  Click Up Left
Return

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

СПАСИБО - как всегда

"На каждое действие есть равная ему противодействующая критика." Постулат Харриссона
Для NotePad++(подсветка синтаксиса, автозавершение и плагины(AutoSave и RunMe).
OS Windows 10 x64 Pro