Клавиатура, которая работает везде, кроме игры, почти всегда упирается в одно из четырёх: гостинг при нескольких зажатых клавишах, случайно включённая функция специальных возможностей 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 написано, что банят за реальные читы, а за конкретную программу вроде макросов могут решить кикнуть — не забанить, — и это не помечает вас как читера. Правила у разных игр и античитов разные, поэтому честный ответ такой: макро-утилиты — это осознанный риск и заодно частая причина клавиш, которые ведут себя странно.
Источники
- Википедия: rollover клавиатуры, гостинг, boot- и HID-протоколы USB
- Википедия: FilterKeys — что игнорирует и как включается правым Shift
- Википедия: залипание клавиш — модификаторы по одному
- Поддержка Microsoft: переключатели специальных возможностей клавиатуры
- Поддержка Microsoft: сочетания клавиш Windows, включая смену раскладки
- Microsoft Learn: Raw Input — скан-коды против виртуальных кодов клавиш
- BattlEye FAQ: позиция по макросам и оверлеям
- Wooting: матрица сканирования, обработка в MCU и опрос USB