Коды клавиш JavaScript
В обработчике keydown у клавиши три имени: event.key — что она печатает с учётом раскладки и Shift, event.code — физическая клавиша вроде KeyA или Digit1 независимо от раскладки, и устаревший числовой keyCode, который до сих пор встречается в старом коде.
Как пользоваться
Нажмите любую клавишу на этой странице — тестер покажет все три, плюс which, location и зажатые модификаторы, и запомнит последние нажатия. Ниже таблица кодов для всех клавиш стандартной клавиатуры с поиском по имени и номеру. Проверено 04.09.2026.
- Страница слушает keydown: покажутся key, code, keyCode, which, location и модификаторы. Русская раскладка даёт другой key при том же code.
- Последние десять нажатий остаются в списке, чтобы сравнить сочетания.
- Поиск по имени клавиши, по значению code или по числу keyCode.
- Для сочетаний и игровых кнопок берите event.code, для ввода текста — event.key; keyCode только для поддержки очень старых браузеров.
Частые вопросы
Чем key отличается от code
key — результат нажатия: буква с учётом раскладки и регистра, «Enter», «ArrowUp». code — место на клавиатуре: KeyA остаётся KeyA и в русской раскладке, где печатается «ф». Для горячих клавиш и WASD в играх нужен code, для обработки ввода — key.
Почему keyCode устарел
Он зависит от браузера и системы: у одних клавиш разные номера в Firefox и Chrome, у символов вроде ; и = вообще нет единого стандарта. Спецификация UI Events пометила keyCode, which и charCode устаревшими, но браузеры их не удаляют ради старого кода.
Что такое location
Где физически находится клавиша: 0 — стандартная, 1 — левая (левый Shift, Ctrl, Alt), 2 — правая, 3 — на цифровом блоке. Так различают левый и правый Shift, у которых одинаковый key и keyCode 16.
Как отличить сочетания клавиш
Проверяйте флаги event.ctrlKey, shiftKey, altKey, metaKey вместе с code: например, ctrlKey && code === 'KeyS' для Ctrl+S. На Mac команды идут через metaKey, поэтому обычно проверяют (ctrlKey || metaKey).
Почему на телефоне не все клавиши видны
Экранные клавиатуры часто отдают key «Unidentified» и keyCode 229 для составного ввода. Надёжнее слушать событие input, а keydown использовать только для служебных клавиш вроде Enter и Backspace.
Данные куда-то отправляются
Нет, нажатия обрабатываются в браузере.
Похожие инструменты
Хроматический тюнер по микрофону: нота, отклонение в центах и девять строёв. Плюс метроном с точным планировщиком, tap tempo и пересчётом темпа в миллисекунды.
ОткрытьФорматы бумагиСерии A, B и C в миллиметрах, дюймах и пикселях при любом DPI. Вес листа по плотности, обратный поиск формата и сравнение с Letter и Legal.
ОткрытьЧастоты нотТаблица нот C0-B8 с частотами, MIDI-номерами и длиной волны, переключаемый эталон ля, определение ноты по частоте в центах и девять гитарных строёв.
ОткрытьРимские цифрыПеревод числа в римскую запись и обратно, дата римскими цифрами, проверка записи на ошибки и таблицы от 1 до 20, годы и века.
ОткрытьНорма кормаСуточная норма для собаки и кошки по ветеринарной формуле, сразу в граммах вашего корма: разбивка по кормлениям, смешанный рацион и запас упаковки.
ОткрытьТаблица МенделееваИнтерактивная периодическая система: 118 элементов с атомными массами по данным IUPAC, поиск по названию и символу, группы и категории.
ОткрытьЕщё инструменты для SEO и маркетинга
Кластеризатор запросов, генераторы sitemap и robots.txt, минус-слова, разметка Schema.org и калькуляторы — в разделе инструментов.