Как сделать "BlockInput On / Off" блокировать ввод с клавиатуры, а не с помощью мыши - PullRequest
1 голос
/ 09 мая 2020

Как сказано в заголовке, у меня возникли проблемы с поиском способа для моего сценария блокировать только ввод с клавиатуры во время моего сценария. Есть ли метод, который я упустил из виду? Вот мой код для справки:

toggle = 0
*xbutton1::
{
  if GetKeyState("d", "P")
  {
    if GetKeyState("w", "P")
    {
        BlockInput On ;enabled
    Send, {d up}
    Send, {w up}
    Send, {a down}
    Send, {s down}
    Send, {K}
        BlockInput Off ;disabled when completed with the above actions ^ so no key inputs interfere
    Sleep, -1
    Send, {a up}
    Send, {s up}
    Send, {d down}
    Send, {w down}
    return
  }

Спасибо! Буду признателен за любую информацию или советы.

1 Ответ

0 голосов
/ 09 мая 2020

Вы можете создать функцию только для блокировки ввода с клавиатуры:

; Press F1 to block keyboard input for 10 seconds:

$F1::
    BlockKeyboard("On")
    Sleep, 10000
    BlockKeyboard("Off")
return

BlockKeyboard(state){
    Loop, 512
    {
        Key := Format("SC{:X}",A_Index)
        If (state = "On")
            Hotkey, *%Key%, KeyboardKey, On UseErrorLevel
        else
            Hotkey, *%Key%, KeyboardKey, Off UseErrorLevel
    }
    KeyboardKey:
    return
}
...