1 (изменено: grigo.alek, 2016-05-25 18:42:32)

Тема: AHK: При нажатии на клавишу, будет нажиматься она же N раз

Здравствуйте.

Вот например это работает

z::
  Send {vk51} код клавиши Q
  Send {vk51}
  Send {vk51}
  Send {vk51}
return

А вот это уже не работает

z::
  Send {vk5A} код клавиши Z
  Send {vk5A}
  Send {vk5A}
  Send {vk5A}
return

Хотелось бы в переменную записывать код кнопки, и потом использоват так ка указано выше.

И еще проблема в том, что если держишь кнопку, он продолжает нажимать. А нужно так,  при нажатии он использовал N раз, и все. До следующего нажатия.

Помогите, если не сложно

2

Re: AHK: При нажатии на клавишу, будет нажиматься она же N раз

Добавь тильду перед хоткеем, например ~z:: и тогда нажатия не будут съедены

3

Re: AHK: При нажатии на клавишу, будет нажиматься она же N раз

$vk5A:: ;z. Знак доллар значит что скрипт не будет сам сам себе посылать клавишу активации(не будет замкнутого цикла)
loop 4
  Send {vk51} ;Z
KeyWait % Ltrim(A_ThisHotkey,"$") ; Ждем отжатие клавиши. Если в нажатой клавише есть знак доллара то убираем его.
return

Вот еще вариант с переменной.
Просто перечисляем какая клавиша отправит 4 раза другую клавишу(в hk_list)

; A = A
; B = Q
; C = Z
hk_list := {vk41:"vk41",vk42:"vk51",vk43:"vk5A"}


;--
FnEventhk := func("FnEventhk").Bind(hk_list)
for hotkeyVar,sendVar in hk_list
	Hotkey,% "$" hotkeyVar,% FnEventhk

FnEventhk(list)
{
	hk := Ltrim(A_ThisHotkey,"$")
	loop 4
	  Send % "{" list[hk] "}"
	 KeyWait % hk
	 Return
}
;--
Return

4

Re: AHK: При нажатии на клавишу, будет нажиматься она же N раз

Yalanne, огромное Вас спасибо! Второй вариант я не стал проверять, потому что там слишком много непонятных для меня команд, а разбираться сейчас не хочу. А вот первый работает чётко Спасибо ещё раз!

5

Re: AHK: При нажатии на клавишу, будет нажиматься она же N раз

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

6

Re: AHK: При нажатии на клавишу, будет нажиматься она же N раз

becauseim, отвечу за yalanne. Можно, но в соответствующей теме.

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

7

Re: AHK: При нажатии на клавишу, будет нажиматься она же N раз

teadrinker, в таком случае, если найдется ответ, можно дать его здесь.