Тема: Непрерывное воспроизведение при зажатом модификаторе
Здравствуйте!
Пришёл к новой проблеме и хотел бы спросить совета у знатоков.
Как приделать к такому коду возможность правильного вывода при зажатом модификаторе (alt, shift, ctrl)?
#MaxHotkeysPerInterval 1000
SetBatchLines -1
SetKeyDelay -1
SetTimer t,1
Arr := []
Arr["$vk31"] := {Send:"{vk31}" , Time:50 }
Arr["$vk31"] := {Send:"{vk31}" , Time:50 }
Arr["$vk32"] := {Send:"{vk32}" , Time:50 }
Arr["$vk33"] := {Send:"{vk33}" , Time:50 }
Arr["$vk34"] := {Send:"{vk34}" , Time:50 }
Arr["$vk35"] := {Send:"{vk35}" , Time:50 }
Arr["$vk36"] := {Send:"{vk36}" , Time:50 }
Arr["$vk46"] := {Send:"{vk46}" , Time:50 }
Arr["$vk47"] := {Send:"{vk47}" , Time:50 }
Arr["$vk51"] := {Send:"{vk51}" , Time:50 }
Arr["$vk43"] := {Send:"{vk43}" , Time:50 }
Arr["$vk45"] := {Send:"{vk45}" , Time:50 }
Arr["$vk54"] := {Send:"{vk54}" , Time:50 }
Arr["$vk54"] := {Send:"{vk54}" , Time:50 }
Arr["$vk56"] := {Send:"{vk56}" , Time:50 }
Arr["$vk5A"] := {Send:"{vk5A}" , Time:50 }
Arr["$vk58"] := {Send:"{vk58}" , Time:50 }
Arr["$vk52"] := {Send:"{vk52}" , Time:50 }
for i, k in Arr
Hotkey %i%,pressing,On
pressing:
return
t:
for i, k in Arr
if GetKeyState((RegExMatch(i,"(vk..)",hk)+"") hk1,"p")
and (A_TickCount > Arr[i].Timer) && (Arr[i].Timer := A_TickCount + k.Time)
Send % k.Send
return
vk2D::
Suspend
Pause,,1
return
А то получается при зажатии "shift (alt, ctrl) + 1" что-то такое: !11111111!1!1!!1!!1!!1!!1!!1!!1
Как я понимаю, срабатывают 2 варианта обработки, а не только вывод, без задержки, восклицательного знака.
По этому получаю не верный вариант при нажимании способности с модификатором.
p.s. Смысл кода в том, чтобы на выбранных мною кнопках не было задержки вывода символов + контролируемых повтор. Так сказать, зажал способность и пошёл автоспам.