Призраки нажатий и роллover клавиатуры: почему не срабатывают некоторые комбинации
Призрачное нажатие (ghosting) — это ситуация, когда клавиатура сообщает о клавише, которую вы не нажимали, или пропускает ту, которую нажали, потому что несколько клавиш удерживаются одновременно. Это происходит на клавиатурах, где несколько клавиш используют общие провода. Роллover — это количество одновременных нажатий, которое клавиатура может передать компьютеру. Обычные USB-клавиатуры часто передают шесть обычных клавиш одновременно, это шестиклавишный роллover. Полный N-key rollover (NKRO) передаёт каждую нажатую клавишу, и именно его стоит искать, если вы играете или печатаете, удерживая много клавиш сразу.
Проверка клавиатурыНекоторые клавиши не работаютСделать бесплатноКак матрица клавиш создаёт призраки
Большинство клавиатур не подключают каждую клавишу к отдельной линии. Клавиши расположены на пересечениях сетки из строк и столбцов. Контроллер находит нажатую клавишу, опрашивая строки по одной и считывая, какие столбцы активны. Нажатие замыкает цепь в одной точке пересечения.
Призрак возникает, когда три нажатые клавиши образуют путь, который контроллер может прочитать неверно. Представьте три клавиши в трёх углах прямоугольника на сетке. Если удерживать их, контроллер может пройти по прямоугольнику до четвёртого угла и сообщить о четвёртой клавише, которую никто не нажимал. В зависимости от схемы соединений и порядка опроса вы можете увидеть появившееся нажатие или, наоборот, пропущенную настоящую клавишу. Пропущенная клавиша — та, которая не срабатывает, когда игра не принимает комбинацию.
Диод под каждой клавишей останавливает эту петлю. Диод пропускает ток только в одном направлении, поэтому контроллер не может пройти путь обратно через другие клавиши. Дешёвые мембранные клавиатуры часто обходятся без диодов. Многие клавиатуры с полным роллover диоды содержат, поэтому эти две функции часто продаются вместе.
Роллover: 6KRO и NKRO
USB-клавиатура сообщает компьютеру о нажатых клавишах, отправляя небольшой отчёт много раз в секунду. Стандартный отчёт загрузочного протокола занимает восемь байт. Один байт отвечает за служебные клавиши: Shift, Ctrl, Alt и Windows или Command. Один байт зарезервирован, а шесть байт содержат коды обычных нажатых клавиш.
Поскольку слотов для обычных клавиш шесть, клавиатура в загрузочном протоколе может передать шесть из них одновременно. Служебные клавиши имеют собственный байт, поэтому удержание Shift вместе с шестью буквами — всё ещё корректный отчёт. Седьмая обычная клавиша не передаётся: отчёт заполняет слоты кодом ошибки. Это и есть шестиклавишный роллover, или 6KRO.
N-key rollover, NKRO, работает иначе. Вместо шести слотов отчёт представляет собой битовую карту с одним битом на каждую клавишу. Каждая нажатая клавиша устанавливает свой бит, поэтому клавиатура может передать любое количество нажатий в пределах возможностей своей конструкции.
Для набора текста обычно не нужно больше шести обычных клавиш одновременно, так что 6KRO подходит. Ограничение заметно в играх, где может одновременно удерживаться несколько клавиш движения и действий. Некоторые клавиатуры ограничивают роллover в беспроводных режимах, поэтому, если вы используете Bluetooth, проверьте заметки производителя.
Проверка комбинаций
Чтобы проверить свою клавиатуру, откройте проверку клавиатуры:
- Нажмите на поле, затем удерживайте одну клавишу. Пока она нажата, она становится мятной, а счётчик одновременно удерживаемых клавиш показывает 1.
- Добавьте вторую и третью клавишу, затем четвёртую, и следите, как растёт значение максимума одновременных нажатий. Оно остановится на числе, которое может считать браузер, и это может быть меньше реального роллover вашей клавиатуры.
- Проверьте прямоугольник. На стандартной раскладке W, E и S — три угла прямоугольника, четвёртый угол которого — D. Удерживайте эти три клавиши. Если загорелась D, хотя вы её не нажимали, клавиатура создаёт призрак в этом углу.
- Попробуйте другой набор, например R, T и F, четвёртый угол которого на стандартной раскладке — G. Призрак в одном наборе — это подсказка. Призраки в нескольких наборах говорят о том, что клавиатура не защищена от эффекта призраков.
Страница показывает, что получает браузер. Призрачная клавиша, которую отправляет клавиатура, загорится, а клавиша, которую клавиатура пропустила, останется тёмной. Системные клавиши, например громкость и яркость, могут вообще не попадать на страницу, поэтому не считайте их ошибками.
Решения, которые работают
- Выбирайте полный роллover или защиту от призраков для игр. Если комбинации для вас важны, ищите NKRO или anti-ghosting в технических характеристиках, а не только в рекламе.
- Переместите комбинацию. Назначьте комбинацию в игре на клавиши, которые не образуют прямоугольник на сетке. С помощью проверки найдите наборы, которые создают призраки, и переназначьте клавиши так, чтобы обойти их.
- Попробуйте кабель. Некоторые беспроводные клавиатуры передают меньше нажатий, чем в проводном режиме. Перепроверьте работу по кабелю, прежде чем считать клавиатуру неисправной.
- Не вините порт. USB-хаб или другой порт не меняют схему соединения клавиш. Ограничение заложено в самой клавиатуре и её отчёте, поэтому другой порт обычно ничего не меняет.
Особые случаи
- Мёртвые клавиши. Клавиша, которая никак не реагирует, имеет другую причину, чем призраки. См. почему не работают клавиши клавиатуры.
- Удержание и повтор. Удержание клавиши в текстовом поле вызывает её повтор, и проверка показывает этот повтор. Повтор — это не второе нажатие, поэтому не засчитывайте его как результат роллover.
- Залипшие переключатели. Клавиша, которая остаётся нажатой после того, как вы её отпустили, — это неисправность переключателя, а не призрак. Почистите клавишу и проверьте снова, прежде чем винить матрицу.
- Ноутбуки. Клавиатуры ноутбуков сильно отличаются друг от друга. Проверьте нужные вам комбинации, прежде чем на них полагаться, а не считайте, что роллover полный.
Переведено с помощью ИИ с Английский оригинал.
Комментарии
Комментариев пока нет. Будьте первым.


