1

Тема: AHK: многократное нажатие клавиши с последующим ее удержанием

Здравствуйте. Пытаюсь придумать, как сделать так, чтобы перед обычным удержанием основных кнопок движения (W, A, S, D) они с минимальной задержкой нажимались 3 - 4 раза. Важно, чтобы это многократное нажатие происходило единожды с момента нажатия клавиши, пока не будет нажата она же или любая из трех других. В принципе, можно задействовать и дополнительные бинды действий на другие клавиши (условно, функционально W=Y; A=G; S=H; D=J), если от этого выиграет работоспособность скрипта.

2

Re: AHK: многократное нажатие клавиши с последующим ее удержанием

Возможно такой вариант сработает:

KK := 0
Return

$w::
$a::
$s::
$d::
K := SubStr(A_ThisHotkey, 2)
If !KK
 SendInput, {%K% 3}
KK := 1
SendInput, {%K% Down}
KeyWait, % K, U
SendInput, {%K% Up}
KK := 0
Return
Win11x64, AHK v1.1.37.01 (Unicode 64-bit), AHK v2.0.17| AHK-Wiki | Переменные и выражения | RegEx101

3

Re: AHK: многократное нажатие клавиши с последующим ее удержанием

Спасибо за неплохой вариант, но есть проблема. При одновременном нажатии любых двух из этих клавиш происходит бесконечное удержание клавиши, которая была нажата первой.
Условно, если были одновременно нажаты "W" и "S", то после физического отпускания двух этих клавиш, первая нажатая (в нашем случае - это "W") останется в состоянии нажатия бесконечно. Приложил скриншот результата. Буду благодарен, если поможете это починить.

Post's attachments

скрин.png
скрин.png 8.79 kb, file has never been downloaded. 

You don't have the permssions to download the attachments of this post.