Тема: AHK: Блокировка на время после нажатия любой кнопки без модификатора
Кнопки на клавиатуре находятся слишком близко для моих пальцев. Часто задеваю соседнюю кнопку и она печатается.
Хотел приколхозить скрипт, который запрещает нажатие нескольких клавиш одновременно. Он проверяет, что предыдущая клавиша уже была отпущена, прежде чем разрешить нажатие следующей клавиши. Если нажать несколько клавиш одновременно, только первая клавиша должна быть зарегистрирована.
Вот такой скрипт получился. Но блокировки не происходит.
Не пойму в чем причина. Помогите!
#NoEnv
SendMode Input
SetBatchLines -1
blocked := false
$*::
if (!blocked && !GetKeyState("LShift", "P") && !GetKeyState("RShift", "P") && !GetKeyState("LControl", "P") && !GetKeyState("RControl", "P") && !GetKeyState("LAlt", "P") && !GetKeyState("RAlt", "P")) {
KeyWait, %A_ThisHotkey%, T0.2
if (ErrorLevel) {
blocked := true
Return
}
}
Return
$* up::
blocked := false
Return
