1

Тема: 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

2

Re: AHK: Блокировка на время после нажатия любой кнопки без модификатора

Скорее всего под звездочкой воспринимается сама клавиша со звездочкой, а не любая клавиша.

Win10: LTSC (21H2); AHK: ANSI (v1.1.36.02)