1

Тема: AHK: Вопрос по теме - Многодельность клавиши!

Тревожу вас, потому что не могу разобраться, с этой темой!:o

Многодельность клавиши!

Не знаю, дождусь ли я ответа, или нет, но все же….:rolleyes:

На мышке все действия работают нормально, но я назначил команды на клавишу *X *

x::
; и далее, какие нужны...

; вызывая функцию можно задать параметры
; все кроме первого необязательны - в функции указаны значения "`по умолчанию"
; первый - псевдоним приложения (ОБЯЗАТЕЛЕН ДЛЯ УКАЗАНИЯ)
; второй - время чувствительности удерживаемого клика,
; третий - время до действия от удерживаемого клика (вне зависимости от отжатия хоткея)
; четвертый - время между двойным кликом
; перечисляем приложения где будет работать скрипт и присваиваем переменной имя приложения,
; для обеспечения уникальности имени меток, которые будут выполнять действия

; вводим зависимость вызова функции от активных приложений,
; присваиваем приложениям названия, для создания уникальных меток,
IfWinActive, ahk_class TTOTAL_CMD ; в Total Commander`е
  {
    KeyAction("Total")
    GoTo %MyLabel%
  }
;...
Else ; во всех остальных случаях
  {
    KeyAction("Default",29) ; delay_time = 30 мс - действие по истечении заданного интервала
    GoTo %MyLabel%
  }

; и собственно действия:

; ~~~ Total Commander ~~~
MButton_delay_total:
MButton_held_total:
MButton_once_total:
MButton_twice_total:
  GoTo Message
Return

; и тут куча всех приложений

; ~~~ Default ~~~
; действия во всех остальных, не обговоренных выше приложениях:

; К примеру одна и та же кнопка - копировать/вставить/вырезать...
x_delay_Default:
x_held_Default:
  Send, 3 ; вставить
Return
x_once_Default:
  Send, 1 ; копировать
Return
x_twice_Default:
  Send, 2 ; вырезать
Return

Один клик, печатает действие: 1

Двойной клик, печатает действие: 2

Удерживая, печатает действие: 3, но когда отпускаю, срабатывает действие: 1

Подскажите, как это убрать, чтоб было чистое нажатие действия: 3

2

Re: AHK: Вопрос по теме - Многодельность клавиши!

Kokc80 пишет:

Не знаю, дождусь ли я ответа, или нет, но все же….:rolleyes:

А Вы автору напишите. Зайдите к нему в профиль и отправьте емейл. Лучше и быстрее его никто не разберётся. Я лично этим скриптом не пользуюсь, а тема в Коллекции уж больно длиннющая.

3

Re: AHK: Вопрос по теме - Многодельность клавиши!

А чего там, делов-то:

vk58::   ; клавиша X
   StartTime := A_TickCount
   KeyWait, vk58
   if (A_TickCount - StartTime > 300)
      SetTimer, Action3, -10
   else
   {
      i++
      SetTimer, Counter, -300
   }
   Return
   
Counter:
   if i = 1
      SetTimer, Action1, -10
   if i = 2
      SetTimer, Action2, -10
   i =
   Return
   
Action1:
   MsgBox Действие 1
   Return
   
Action2:
   MsgBox Действие 2
   Return
   
Action3:
   MsgBox Действие 3
   Return
Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

4

Re: AHK: Вопрос по теме - Многодельность клавиши!

teadrinker пишет:

А чего там, делов-то!

Вам даааа! А у меня уже башка разрывается, расшифровывать эти три буквы закона!:D

Большое вам, ПРЕ-ПРе-Пре-преспасибо!;)