Keyboard Test
Русский

Тест на гостинг клавиатуры

Зажмите несколько клавиш одновременно и посмотрите, какие из них получает браузер. Найдите сочетания, которые пропадают, и узнайте, есть ли у клавиатуры ролловер на 6 клавиш или полноценный NKRO.

Зажато сейчас0
Макс. одновременно0
Вывод–
Зажмите несколько клавиш сразу. Здесь появятся все клавиши, которые получил браузер: сравните их число с числом пальцев на клавиатуре.

Чтобы проверить клавиатуру на гостинг, зажмите несколько клавиш одновременно и сравните число сработавших с количеством пальцев на клавиатуре. Каждая клавиша, которую получает браузер, появляется в окне ниже в виде метки, так что отсутствующая метка означает, что клавиатура клавишу потеряла. Строка «Вывод» показывает N-key rollover (NKRO) при 10 и более клавишах одновременно, Ролловер 6 клавиш или больше при 6–9 и Ограниченный ролловер при меньшем числе.

Как пользоваться тестом на гостинг клавиатуры

  1. Щёлкните в любом месте страницы, чтобы она принимала события клавиш.
  2. Зажмите группу клавиш. Начните с тех, на которые вы действительно полагаетесь: W, A, S, D с Shift и пробелом для игр или Ctrl, Shift и буква для горячих клавиш.
  3. Следите за окном. Каждая зажатая клавиша появляется в виде метки с её кодом, например KeyW или ShiftLeft, а Зажато сейчас показывает число. Сравните его с количеством ваших пальцев.
  4. Добавляйте клавиши по одной, пока число не перестанет расти. Макс. одновременно хранит наибольшее увиденное значение, а строка Самое большое сочетание перечисляет, какие именно клавиши в него вошли.
  5. Отпустите всё. Только что собранное сочетание добавится в список последних под окном, новое сверху, до восьми записей, чтобы вы могли посмотреть, какие сочетания сработали.

Нажмите Сбросить, чтобы очистить счётчики и список. Клавиши, нажатые с удерживаемыми Ctrl или Cmd, передаются браузеру как горячие клавиши, поэтому во время теста не нажимайте комбинации вроде Ctrl+W. В macOS отпускание Cmd сбрасывает всё сочетание целиком, потому что система не отправляет события отпускания других клавиш, пока Cmd нажата.

Тест показывает только те клавиши, которые дошли. Клавиатура, которая молча теряет четвёртую клавишу сочетания, покажет три метки и число 3 при четырёх пальцах на клавишах. Этот разрыв и есть результат.

Что такое гостинг клавиатуры

Гостинг побочный эффект того, как подключена почти любая клавиатура. Контроллер не тянет по проводу на каждую клавишу, а расставляет переключатели в сетку из строк и столбцов и сканирует её: подаёт питание на один столбец за раз и считывает, какие строки откликаются. Нажатие клавиши соединяет её строку со столбцом. Для клавиатуры на 104 клавиши это около 20 проводов вместо 104.

Проблема возникает, когда одновременно нажаты три клавиши, образующие три угла прямоугольника в этой сетке. Ток идёт от запитанного столбца через первую клавишу в её строку, по строке через вторую клавишу в другой столбец и затем через третью клавишу обратно в строку, которую читает контроллер. С точки зрения контроллера четвёртый угол прямоугольника тоже выглядит нажатым. Эта фантомная клавиша и есть «призрак» (ghost).

Прямоугольник определяется раскладкой матрицы, а не расположением кейкапов, поэтому предсказать сочетания с гостингом, глядя на клавиатуру, нельзя. Две соседние клавиши могут находиться внутри в разных строках, а две далёкие делить одну. Поэтому практический тест это зажать именно те сочетания, которые важны вам.

Гостинг, блокировка и анти-гостинг

Большинство клавиатур на самом деле не печатают символ-призрак. Их прошивка обнаруживает ситуацию с прямоугольником и отказывается сообщать о новой клавише, пока одна из трёх не будет отпущена. Это называется блокировкой, и она обычно объясняет, почему клавиша «не работает», пока зажаты две другие. Для пользователя гостинг и блокировка выглядят одинаково: одной клавиши не хватает.

ТерминЧто происходит при рискованном сочетанииПочему
ГостингСообщается лишняя клавиша, которую вы не нажималиТри клавиши на прямоугольнике матрицы замыкают путь к четвёртой
БлокировкаТретья или четвёртая клавиша игнорируетсяПрошивка находит прямоугольник и отбрасывает клавишу, чтобы не рисковать призраком
Анти-гостингОпределённые сочетания срабатывают всегдаМатрица разведена, или добавлены диоды, так что распространённые игровые группы никогда не образуют прямоугольник
N-key rolloverСрабатывает каждая клавиша при любом сочетанииДиод на каждом переключателе не даёт току течь обратно через другие клавиши

Анти-гостинг рекламный термин без чёткого определения. Обычно он означает, что производитель защитил группу клавиш: как правило, буквы вокруг WASD, стрелки, Shift, Ctrl и пробел. Клавиши вне этой группы всё равно могут блокироваться. Клавиатура с надписью «26-key anti-ghosting» говорит, что определённый набор из 26 клавиш безопасен вместе, а не что безопасны любые 26.

Почему диоды решают проблему

Путь призрака зависит от тока, текущего назад через нажатую клавишу, из её строки в столбец. Диод, включённый последовательно с каждым переключателем, пропускает ток только в одну сторону, поэтому обходной путь перерезается. Когда диод стоит на каждом переключателе, каждую клавишу можно читать независимо, сколько бы других ни было нажато, и клавиатура может предложить настоящий N-key rollover.

Нажмите три клавиши, образующие три угла прямоугольника, например Q, W и A.

Вы нажали
0
Клавиатура сообщает
0
Каждая клавиша стоит на пересечении провода строки и провода столбца. Контроллер подаёт напряжение на одну строку за раз и читает столбцы, чтобы найти нажатые клавиши.

Диоды стоят копейки, но их нужно установить и припаять к каждой клавише, поэтому дешёвые мембранные клавиатуры их пропускают, а NKRO раньше был свойством дорогих механических моделей. Сегодня диоды есть во многих механических клавиатурах среднего класса. В клавиатурах ноутбуков их обычно нет, поэтому клавиатуры ноутбуков склонны блокироваться на трёх-четырёх клавишах вне защищённой группы.

Ролловер клавиатуры: 2KRO, 6KRO и NKRO

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

  • 2KRO. Любые две клавиши работают вместе; третья может блокироваться в зависимости от сочетания. Встречается в простых мембранных клавиатурах. На набор текста это не влияет, но в игре, где нужно одновременно вперёд, движение вбок и прыжок, одна из клавиш пропадёт.
  • 6KRO. Одновременно срабатывают до шести обычных клавиш плюс модификаторы. Это потолок базового протокола USB-клавиатуры и формат, который любая операционная система поддерживает без драйвера. Этого хватает почти всем, включая быстро печатающих, у которых пальцы перекрываются при наборе.
  • NKRO. Без ограничений. Срабатывает каждая клавиша, что бы ещё ни было зажато. Нужны диоды на каждую клавишу и формат отчёта USB, в котором каждая клавиша представлена отдельным битом вместо списка из шести ячеек.

Строка «Вывод» в этом тесте соответствует этим значениям: 10 и более клавиш одновременно выводятся как N-key rollover (NKRO), потому что клавиатура 6KRO до этого дойти не может; 6–9 это «Ролловер 6 клавиш или больше»; а меньше 6 это «Ограниченный ролловер». Достижение 6 не доказывает, что клавиатура ограничена шестью. Добавляйте клавиши, пока число не перестанет расти, и если оно остановилось ровно на 6 обычных клавишах, хотя вы нажимаете больше, значит, вы нашли лимит USB.

Почему USB-клавиатуры останавливаются на 6 клавишах

Спецификация USB определяет базовый отчёт клавиатуры, так называемый загрузочный протокол (boot protocol), чтобы клавиатура работала в BIOS и при запуске до загрузки любых драйверов. Отчёт занимает 8 байт: один байт с битом для каждого из восьми модификаторов (левые и правые Shift, Ctrl, Alt и Win или Cmd), один зарезервированный байт и шесть байт, в каждом из которых хранится код одной нажатой клавиши. Места для седьмой клавиши, не являющейся модификатором, там просто нет.

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

Байт модификаторов объясняет важную деталь: Shift, Ctrl, Alt и Win или Cmd не занимают ни одной из шести ячеек. На обычной клавиатуре 6KRO можно держать все восемь модификаторов и шесть букв. Этот тест учитывает модификаторы в значении «Зажато сейчас», потому что браузер сообщает о них как об обычных клавишах, так что при подсчёте с модификаторами от клавиатуры 6KRO можно ожидать до 14.

Что результаты значат для вас

  • Набор текста. Даже быстро печатающие редко держат нажатыми больше трёх клавиш одновременно. Блокировка 2KRO при печати встречается нечасто, но может проявиться в переходах вроде «str» или «the» на плохой матрице. Если при наборе теряются буквы, проверьте именно эти буквы здесь.
  • Игры. Движение плюс бег плюс прыжок плюс клавиша умения это пять-шесть клавиш. Проверьте свои реальные назначения. Если клавиатура блокирует одно из них, это причина жалобы «мой персонаж перестал двигаться, когда я нажал R».
  • Горячие клавиши. Ctrl, Shift, Alt и буква на USB-клавиатурах всегда безопасны, потому что модификаторы передаются отдельно. Тест их покажет, но не они вызывают сбои.
  • Ритм-игры и эмуляторы. Именно здесь настоящий NKRO окупается, потому что там может понадобиться десять нажатых клавиш одновременно.

Если нужное вам сочетание теряет клавишу, программно это не исправить. Матрица физическая. Остаётся либо переназначить потерянное действие на клавишу вне прямоугольника, либо взять клавиатуру с диодами на каждой клавише.

Другие тесты клавиатуры

Проверка клавиатуры на главной странице проверяет, что каждая клавиша срабатывает сама по себе, и показывает счётчик «Макс. одновременно», но именно эта страница нужна, чтобы выяснить, какие сочетания не проходят. Если клавиша кажется не пропавшей, а медленной, тест задержки клавиатуры измеряет время отклика, чтобы можно было сравнить клавиатуры. А если вы не уверены, какую физическую клавишу обозначает метка вроде IntlBackslash или MetaRight, нажмите её на странице какую клавишу я нажимаю, и вы увидите название, код и расположение клавиши сразу. Пользователям Mac стоит учесть описанное выше поведение Cmd; для полной раскладки Mac есть проверка клавиатуры Mac.

Частые вопросы

Как проверить клавиатуру на гостинг?

Откройте эту страницу и зажмите несколько клавиш одновременно. Каждая клавиша, которую получил браузер, появляется в окне в виде метки, а «Зажато сейчас» показывает их число. Если число меньше количества пальцев на клавиатуре, какая-то клавиша теряется. Пробуйте сочетания, которые вы действительно используете, например W, A, Shift и пробел, потому что гостинг зависит от того, какие клавиши делят строку или столбец.

Что такое гостинг клавиатуры?

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

Что значит анти-гостинг?

Анти-гостинг значит, что клавиатура спроектирована так, чтобы определённые сочетания, обычно те, которые геймеры держат вместе, срабатывали всегда. Это не обещание, что сработает любое сочетание. Клавиатура с пометкой «анти-гостинг» всё равно может терять клавиши вне защищённой группы, поэтому проверять свои сочетания важнее, чем верить коробке.

Что такое N-key rollover?

N-key rollover (NKRO) означает, что срабатывает каждая клавиша, сколько бы их ни удерживалось одновременно. Для этого нужен диод на каждом переключателе, чтобы контроллер мог читать каждую клавишу независимо. Ролловер на 6 клавиш означает, что одновременно срабатывают до шести обычных клавиш плюс модификаторы: это предел базового протокола USB-клавиатуры, и этого более чем достаточно для набора текста.

Почему тест останавливается на 6 клавишах, даже если клавиатура заявляет NKRO?

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

Учитываются ли Shift, Ctrl и Alt в лимите ролловера?

На обычной USB-клавиатуре нет. Модификаторы передаются в отдельной части отчёта, поэтому ограничение в шесть клавиш относится к обычным клавишам поверх удерживаемых модификаторов. Этот тест включает модификаторы в «Зажато сейчас», потому что браузер сообщает о них как об обычных клавишах, так что сочетание Shift, Ctrl и шести букв покажется как восемь.

Видит ли браузер клавиши, которые клавиатура потеряла?

Нет. Клавишу, которую клавиатура не отправила, не видит ни операционная система, ни страница. Тест показывает то, что дошло; сравнение вы делаете сами, считая пальцы на клавишах. Строка «Самое большое сочетание» и список последних сочетаний упрощают сравнение, потому что называют каждую зарегистрированную клавишу.

Другие тесты клавиатуры

Каждый из тестов ниже подробнее проверяет одну сторону работы клавиатуры.