TextFizz
  1. Главная
  2. Гайды
  3. Клавиатура не отвечает в игре: почему пропадают нажатия
Fix

Клавиатура не отвечает в игре: почему пропадают нажатия

Гостинг, залипание клавиш, сменившаяся раскладка и программа-перехватчик выглядят в игре одинаково. Как развести их за пять минут и что чинить.

Обновлено: ·7 мин чтения
Клавиатура не отвечает в игре: почему пропадают нажатия

Клавиатура, которая работает везде, кроме игры, почти всегда упирается в одно из четырёх: гостинг при нескольких зажатых клавишах, случайно включённая функция специальных возможностей Windows, сменившаяся раскладка или программа, получающая нажатие раньше игры. Сломанной клавиатуры среди этого нет, и все четыре разводятся одной проверкой: нажмите отказавшие клавиши в тестере вне игры и посмотрите, доходят ли они. Эта проверка отделяет железо от софта до того, как вы полезете в настройки.

Коротко

  • Сначала проверьте мёртвые клавиши вне игры: тестер клавиатуры показывает, что реально доходит до системы.
  • Клавиши пропадают только в сочетаниях — это гостинг, ограничение матрицы, а не баг игры.
  • Был писк и окно перед поломкой — это залипание клавиш или фильтрация ввода; обе выключаются в специальных возможностях.
  • WASD умер после Ctrl+Shift — сменилась раскладка, и это сочетание описано у Microsoft.
  • Макросы, ремапперы и оверлеи стоят перед игрой, и отключать для проверки надо в первую очередь их.

Работает ли клавиша вне игры?

Начинать надо отсюда: ответ решает, какая половина гайда вам нужна. Откройте тестер клавиатуры и нажмите отказавшие клавиши — сначала по одной, потом в том сочетании, на котором всё ломается.

Три исхода — три разных маршрута:

  • Клавиша не срабатывает нигде. Железо или подключение. Другой порт, другой кабель, другая машина.
  • Одиночные нажатия проходят, сочетание — нет. Гостинг, вам в следующий раздел.
  • В тестере всё проходит, в игре нет. Либо софт перед игрой, либо обработка ввода в самой игре: разделы про специальные возможности и раскладку.

Есть и четвёртый случай, который стоит назвать, потому что на нём теряют часы: клавиша работает, а в игре на неё просто ничего не назначено. Раскладка бинда — отдельная тема, и живые схемы собраны в гайде по игровым биндам.

Гостинг и rollover: куда девается третья клавиша

Это классическое «не могу присесть в диагональном спринте», и это физика, а не патч.

Большинство клавиатур не разводят каждую клавишу отдельно. Они используют матрицу строк и столбцов без развязывающих диодов, исходя из того, что одновременно держат немного клавиш. В статье Википедии про rollover отказ описан точно: когда нажаты три клавиши, образующие три угла прямоугольника в матрице, ток проходит и через четвёртое пересечение, и контроллер регистрирует клавишу, которую никто не трогал, либо теряет настоящую.

Производители раскладывают матрицу так, чтобы частые последовательности выживали, — обычно это даёт четыре-пять клавиш rollover на тех сочетаниях, которые люди печатают. Только движение в игре — это не печать. Вперёд плюс стрейф плюс спринт плюс присед плюс прыжок — уже пять одновременных клавиш, и это до первого выстрела.

Клавиатура с NKRO опрашивает каждую клавишу независимо, и такого предела у неё нет.

Со стороны USB есть ещё один нюанс. Режимов два: boot-протокол для очень ограниченных хостов вроде BIOS с потолком в восемь модификаторов и шесть кодов клавиш и HID report protocol, который используют операционные системы и который таких ограничений не накладывает. Википедия добавляет честную оговорку: требований к rollover спецификация HID не задаёт, поэтому недорогая клавиатура может ограничить себя в любом режиме.

Проверка бесплатная. Зажмите проблемное сочетание в тестере и посчитайте, что загорелось. Если пятая клавиша не появляется никогда, переустановка драйверов ничего не изменит: переносите бинды на клавиши из других строк матрицы или берите клавиатуру с полным rollover.

Залипание, фильтрация ввода и писк перед поломкой

В Windows есть две функции доступности, до которых одно случайное сочетание, и обе калечат ровно тот ввод, на котором держатся игры.

Фильтрация ввода (FilterKeys) заставляет Windows игнорировать короткие и повторяющиеся нажатия. Она сделана для людей с тремором рук и включается удержанием правого Shift в течение восьми секунд — со звуковым сигналом и всплывающим окном. Восемь секунд зажатого Shift в спринте — обычное дело. Итог: клавиатура «пропускает» тапы, и это читается как сломанная клавиша.

Залипание клавиш (Sticky Keys) делает модификаторы последовательными: нажали и отпустили Shift — он остаётся активным до следующей клавиши. В игре это присед или спринт, который защёлкивается сам.

Живут обе в одном месте. Нажмите Windows + U, откройте раздел Клавиатура и выключите залипание клавиш, фильтрацию ввода и озвучивание переключений. Последнее безобидно — оно лишь пищит на Caps Lock, Num Lock и Scroll Lock, — но если оно включено, а включали не вы, значит, кто-то нажал за вас.

Почему WASD перестаёт работать после Ctrl+Shift?

Потому что Ctrl+Shift меняет раскладку, когда их установлено больше одной. Это не фольклор, а строка из собственного списка сочетаний Microsoft — рядом с Windows + Ctrl + пробел для возврата к предыдущему языку ввода.

Почему ломается не везде, объясняет документация Microsoft по raw input: клавиатура выдаёт специфичный для устройства скан-код, а система отдаёт приложению виртуальный код клавиши; приложение, зарегистрировавшееся на raw input, получает низкоуровневые данные напрямую. Поэтому один движок читает физическое положение клавиши и переживает смену раскладки, а другой читает переведённый символ и теряет бинд.

Два долгих решения, оба в языковых параметрах Windows: убрать вторую раскладку, если она вам не нужна, или увести переключение с сочетания, которое вы жмёте в бою. Менять стоит именно Ctrl+Shift: держать вместе Ctrl и Shift во время боя — самое обычное дело.

Программы, которые получают нажатие раньше игры

Всё, что вешает хук на клавиатуру, встаёт между вами и игрой: ремапперы, макро-утилиты, стриминговые оверлеи, чаты с глобальными горячими клавишами, скриншотилки и родной софт самой клавиатуры.

Часть этой картины разработчики античитов проговаривают открыто. В FAQ BattlEye сказано: банят за настоящие читы, а по конкретной программе вроде макро-утилиты могут решить кикнуть — не забанить, — и это не помечает игрока как читера; нечитерские оверлеи в целом допускаются, если их не блокирует сама игра. Читать это стоит как предупреждение, а не как разрешение: макро-софт — и риск кика, и частый источник странного поведения клавиш.

Проверка та же, что и везде в этом гайде: закрыть всё, убедиться, что клавиатура ведёт себя нормально, и включать по одному. А если примерно тогда же начала чудить сама игра — вылетать или не запускаться, — это другая ветка, она начинается в гайде про вылеты при запуске.

Когда виновата не программа, а провод

Остаётся физический путь сигнала, и он короче, чем кажется. В разборе Wooting цепочка разложена по шагам: физическое нажатие, частота сканирования матрицы контроллером, обработка в микроконтроллере, опрос по USB и только потом обработка в операционной системе и игре. Ломается обычно середина, и ломается тихо.

Практических подозреваемых три: порт через вложенный хаб (монитор, сквозной порт другого устройства, док-станция), кабель, который трогают чаще всего, и подсветка. Про подсветку в том же разборе сказано прямо: работающий эффект нагружает микроконтроллер и задерживает остальные его задачи, а ток порта USB ограничен. Выключить её на время проверки ничего не стоит.

Что обычно идёт не так

  • Гостинг записали в баги игры. Симптом: пятая клавиша отваливается только в движении. Почему: матрица без диодов. Что делать: подтвердить в тестере и перенести бинды либо взять клавиатуру с NKRO.
  • Фильтрация ввода включилась посреди матча. Симптом: тапы перестали доходить, а до этого что-то пискнуло. Почему: правый Shift держали восемь секунд. Что делать: Windows + U → Клавиатура → выключить фильтрацию.
  • Вторая раскладка, которую никто не добавлял специально. Симптом: в одной игре клавиши живы, в другой нет, и всё после Ctrl+Shift. Почему: смена раскладки плюс разная обработка ввода в движках. Что делать: убрать раскладку или переназначить сочетание.
  • Софт клавиатуры воюет с игрой. Симптом: перенастроенная клавиша шлёт старый бинд или ничего. Почему: профиль применяется на уровне устройства или драйвера. Что делать: сбросить профиль в стандартный и назначать бинды только внутри игры.
  • Хаб в цепочке. Симптом: непредсказуемые пропажи нажатий, чаще с включённой подсветкой. Почему: общая полоса и ограниченный ток порта; в разборе Wooting отдельно сказано, что эффекты подсветки нагружают микроконтроллер самой клавиатуры. Что делать: порт на материнской плате, подсветку на время теста выключить.

Если тестер показывает, что всё доходит корректно, а игра по-прежнему вас игнорирует, остаётся её собственная конфигурация ввода, а не ваше железо. Заодно, раз уж вы в режиме проверок: тестер геймпада покажет, не перехватывает ли управление подключённый контроллер.

Для вопросов про скорость кликов есть тест CPS и гайд про быстрый клик, а если вместе с клавиатурой чудит мышь, причина может быть общей — про это рывки и лаг мыши. Нажатия доходят, но с опозданием — это уже третья история, про фреймтайм: просадки FPS и фризы.

Вопросы и ответы

Почему часть клавиш перестаёт работать, если зажать несколько сразу?

Это гостинг, и он аппаратный, а не игровой. Большинство клавиатур используют матрицу переключателей без развязывающих диодов, и в статье Википедии про rollover показано, как три клавиши, образующие три угла прямоугольника в матрице, порождают фантомную четвёртую или съедают настоящую. Обычные матрицы держат четыре-пять клавиш в тех сочетаниях, которые люди печатают. Клавиатуры с NKRO опрашивают каждую клавишу независимо и такого ограничения не имеют.

NKRO по USB — это правда или маркетинг?

Правда, но с оговоркой, которую Википедия формулирует прямо. У USB два режима: boot-протокол для очень ограниченных хостов вроде BIOS, где предел — восемь модификаторов и шесть кодов клавиш, и HID report protocol, который используют операционные системы и который таких ограничений не накладывает. При этом спецификация HID не требует никакого rollover, так что дешёвая клавиатура может ограничить себя сама в любом режиме.

Появилось окно, и клавиши перестали срабатывать. Что это было?

Почти наверняка вы включили функцию специальных возможностей. Правый Shift, удержанный восемь секунд, включает фильтрацию ввода: Windows начинает игнорировать короткие и повторяющиеся нажатия — то есть ровно то, как выглядит короткий тап по клавише движения. И фильтрация ввода, и залипание клавиш выключаются переключателями в разделе специальных возможностей Windows.

Почему WASD отваливается после Ctrl+Shift?

Потому что Ctrl+Shift переключает раскладку, когда их установлено больше одной, — это есть в собственном списке сочетаний Microsoft. Одни игры читают положение физической клавиши, другие — уже переведённый символ, поэтому после смены раскладки в одной игре вы бежите, а в другой стоите. Лечится удалением лишней раскладки или переносом сочетания на комбинацию, которую вы не жмёте в бою.

Могут ли забанить за макросы?

Кикнуть могут. В FAQ BattlEye написано, что банят за реальные читы, а за конкретную программу вроде макросов могут решить кикнуть — не забанить, — и это не помечает вас как читера. Правила у разных игр и античитов разные, поэтому честный ответ такой: макро-утилиты — это осознанный риск и заодно частая причина клавиш, которые ведут себя странно.

Источники

Попробуйте также