ToolActToolAct

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

Тестирование функциональности клавиш клавиатуры, отображение состояния клавиш и информации о кодах

Esc
F1
F2
F3
F4
F5
F6
F7
F8
F9
F10
F11
F12
`
1
2
3
4
5
6
7
8
9
0
-
=
Backspace
Tab
Q
W
E
R
T
Y
U
I
O
P
[
]
\
Caps
A
S
D
F
G
H
J
K
L
;
'
Enter
Shift
Z
X
C
V
B
N
M
,
.
/
Shift
Ctrl
Win
Alt
Space
Alt
Win
Menu
Ctrl

История нажатий

Нажмите любую клавишу для начала теста...

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

Тест клавиатуры проверяет, доходят ли нажатия клавиш до браузера и как браузер описывает каждое событие. Он полезен, если клавиша залипает, сочетание клавиш не работает, есть подозрение на повреждение клавиатуры ноутбука или нужно быстро проверить новую механическую клавиатуру. Инструмент показывает key, code, устаревший keyCode, положение клавиши, повторное срабатывание и модификаторы Ctrl, Shift, Alt или Meta. Эти данные помогают отличить аппаратную проблему от раскладки или поведения программы: одна и та же физическая клавиша может давать разные символы. Системные сочетания вроде Ctrl+Alt+Del или Alt+Tab обычно не попадают на веб-страницу, поэтому их отсутствие не означает поломку.

Как использовать

Как использовать

  1. Наведите курсор мыши на область тестирования
  2. Нажмите любую клавишу на клавиатуре
  3. Следите за подсветкой нажатой клавиши и информационной панелью
  4. Просмотрите историю нажатий ниже

Подсказки

  • Зелёная подсветка означает, что клавиша работает корректно
  • Поддерживаются все стандартные клавиши клавиатуры
  • Поддерживается определение клавиш-модификаторов (Ctrl, Shift, Alt, Meta)
  • Повторные нажатия отмечаются в информационной панели

Применение

Диагностика залипающих или ненадёжных клавишНажимайте клавиши и наблюдайте, как виртуальная клавиатура подсвечивается по реальным событиям keydown и keyup. Панель текущей клавиши показывает key, code, keyCode, which, location, состояние модификаторов и статус повтора, поэтому клавиша с двойным срабатыванием, дребезгом или регистрацией только в нижней точке нажатия может быть сравнена с заведомо исправным переключателем до того, как списывать всю клавиатуру.
Проверка левых/правых модификаторов и numpadПоскольку инструмент отображает location из KeyboardEvent, он различает стандартную, левую, правую и numpad-позиции, когда браузер предоставляет эту информацию. Это помогает при тестировании сценариев с обилием горячих клавиш, где важно различие левого и правого Control, правого Alt для AltGr или numpad Enter, который ОС отображает на другой скан-код, нежели основной Enter.
Запись короткой истории событий клавишПоследние 50 нажатий без повтора сохраняются в видимой истории, что упрощает сравнение того, что вы хотели нажать, с тем, что реально получил браузер. Кнопки очистки и сброса позволяют проводить целенаправленные тесты без перезагрузки страницы, а журнал нажатий отображается только на локальной странице, поэтому любой конфиденциальный набранный контент остаётся во вкладке.
Проверка N-key rollover и антигостинга на игровых клавиатурахУдерживайте несколько буквенных клавиш одновременно и наблюдайте, как панель активных клавиш подсвечивается в реальном времени. Клавиатура, регистрирующая только часть нажатых клавиш, не соответствует заявленному антигостингу или N-key rollover, поскольку USB HID обычно ограничен 6KRO, а PS/2 или n-key rollover-клавиатуры передают все 104 клавиши; пропуск букв при комбинации WASD + Shift — классический симптом.
Различение браузерной раскладки и физической клавиатурыСравните отображаемое значение key с reported code, чтобы обнаружить несоответствия: например, раскладка Dvorak, дающая коды QWERTY, или неамериканская клавиатура, по-прежнему выдающая значения US-раскладки из-за устаревшей записи в ОС. Это полезно при диагностике, почему горячая клавиша работает в оболочке ОС, но не в веб-приложении, которое слушает code, а не key.

Технический принцип

Браузер предоставляет клавиатурные события через интерфейс KeyboardEvent: каждое нажатие генерирует события keydown и keyup. KeyboardEvent содержит несколько ключевых свойств: key — символьное значение клавиши (зависит от раскладки и состояния Shift — например, a или A); code — идентификатор физической позиции (не зависит от раскладки — KeyA остаётся KeyA как на QWERTY, так и на AZERTY); keyCode — устаревшее числовое значение (deprecated, но всё ещё встречается в старом коде); location — позиция клавиши (0 стандартная, 1 левая, 2 правая, 3 цифровая клавиатура). Для обнаружения комбинаций используются четыре булевых флага модификаторов: ctrlKey, shiftKey, altKey, metaKey — например, при Ctrl+C ctrlKey=true и key='c'. Порядок срабатывания: keydown -> keypress (deprecated) -> keyup; при удержании клавиши keydown срабатывает повторно, event.repeat=true. В разработке игр предпочтительнее code (не зависит от раскладки игрока), для полей ввода — key (показывает реальный символ). N-key rollover (NKRO) означает, что аппаратная часть клавиатуры способна зарегистрировать произвольное количество одновременных нажатий; обычные USB-клавиатуры ограничены 6KRO протоколом USB HID — при удержании более 6 клавиш события начинают теряться. Механические клавиатуры с интерфейсом PS/2 или специальными драйверами могут обеспечить настоящий NKRO.

  • KeyboardEvent.key — символьное значение ('a'/'A'/'Enter'), зависит от раскладки и Shift — используйте для сценариев с полями ввода.
  • KeyboardEvent.code — идентификатор физической позиции ('KeyA'/'Digit1'), не зависит от раскладки — используйте для игр и привязки горячих клавиш.
  • Значения location: 0 стандартная, 1 левый модификатор, 2 правый модификатор, 3 цифровая клавиатура — полезно для различения левого/правого Shift, Ctrl, Alt.
  • Комбинации: ctrlKey/shiftKey/altKey/metaKey — четыре булевых флага состояния модификаторов; комбинируйте с key для обнаружения Ctrl+C, Cmd+Shift+P и т.д.
  • event.repeat=true означает авто-повтор удерживаемой клавиши; при тестах длительного нажатия используйте этот флаг для фильтрации повторных событий.
  • 6KRO и NKRO: 6-клавишный rollover — ограничение протокола USB HID; механические клавиатуры могут достичь N-key rollover (NKRO) через PS/2 или специальный драйвер.

Примеры

Нажатие буквенной клавиши

Нажмите A -> key: "a", code: "KeyA", keyCode: 65, location: 0 (стандартная)

Нажатие функциональной клавиши

Нажмите F1 -> key: "F1", code: "F1", keyCode: 112, location: 0

Нажатие комбинации

Нажмите Ctrl+C -> обнаружено Ctrl (code: "ControlLeft", location: 1) + C (code: "KeyC", ctrlKey: true)

Часто задаваемые вопросы

Какие клавиши определяет тест?

Почти каждую физическую клавишу, для которой браузер получает событие keydown: буквенно-цифровые, модификаторы (Shift/Ctrl/Alt/Meta), стрелки, функциональные F1–F24, цифровой блок, мультимедийные клавиши (громкость, воспроизведение) в поддерживаемых браузерах. Каждая нажатая клавиша становится зелёной на экранной клавиатуре, чтобы вы могли заметить нерабочие.

Почему моя клавиша Fn не регистрируется?

На большинстве ноутбуков Fn обрабатывается на уровне прошивки и не порождает JavaScript-события клавиатуры — это нормально, а не дефект. Сочетания функционального ряда (Fn+F5 и т. п.) часто дают только действие (увеличение громкости) без кода клавиши. Используйте настольную или внешнюю клавиатуру для проверки таких клавиш.

Подходит ли тест для залипающих или дребезжащих клавиш?

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

В чём разница между key, code и keyCode?

key — это значение ("a", "Shift", "Enter"). code — физическая позиция ("KeyA", "ShiftLeft") — одинакова на любой раскладке. keyCode — устаревший числовой ID (всё ещё выдаётся для совместимости). Используйте code, чтобы определять физические клавиши независимо от языковой раскладки.

Может ли он проверить N-key rollover (NKRO)?

Частично. Страница показывает удерживаемые в данный момент клавиши, поэтому можно нажать несколько одновременно и увидеть, сколько зарегистрируется. У USB HID и PS/2 клавиатур разные пределы гостинга; этот тест даёт реальный веб-результат, но специализированный тестер (Aqua's KeyTest, Switch Hitter) авторитетнее для серьёзных измерений.

Регистрируются ли мёртвые клавиши и композиция IME?

Композиция IME (китайский, японский, корейский) обычно подавляет нижележащие события клавиш, пока вы набираете. Отключите IME и используйте режим прямого ввода для проверки отдельных клавиш. Мёртвые клавиши (акут, умляут на европейских раскладках) выдают Dead, а затем следующую клавишу в комбинации.

Отправляется ли что-нибудь на сервер?

Нет. События клавиатуры обрабатываются целиком в вашем браузере. Ничего не логируется и не передаётся.

Похожие инструменты

Тест мыши

Бесплатный онлайн-инструмент для тестирования кнопок мыши, колёсика прокрутки и двойного клика. Позиция мыши в реальном времени и счётчик кликов, история событий, защита приватности в браузере.

Тест экрана

Бесплатный онлайн-тест экрана: поиск битых и горячих пикселей, проверка засветки и контраста заливкой сплошным цветом. Быстро оцените качество дисплея.

Тест скорости реакции

Бесплатный онлайн-тест скорости реакции: измеряет время от сигнала до клика и ведёт учёт лучшего и среднего результата. Проверьте свою реакцию и побейте рекорд.

Тест скорости кликов

Онлайн тест скорости кликов. Измерь клики в секунду (CPS) в режимах 5с, 10с, 30с. Отслеживай лучший результат и брось вызов своей скорости.

Тест частоты обновления

Бесплатный онлайн-тест частоты обновления экрана: определяет реальную частоту монитора по частоте кадров анимации. Поддержка 60, 120, 144 Гц и выше.

Инструмент проверки системы

Бесплатный онлайн-инструмент проверки системы. Определите ОС, браузер, разрешение экрана, конфигурацию оборудования и состояние сети. Локальная обработка.