Есть ли ключ с keyCode 1? Я пытался исследовать, но ничего не смог найти. Что решает коды клавиш каждого ключа? Просто интересуюсь…

var directions = { 37: "left", 38: "up", 39: "right", 40: "down", 87:"up", 68:"right", 83:"down", 65:"left" }; 

Здесь показаны коды клавиш слева, справа, вверх, вниз и w, a, s, d.

(Пересмотренный)

Значения для устаревшего свойства keyCode событий клавиатуры соответствуют стандарту UIEvents . Особенно

  • keyCode часто представляет собой код символа ASCII нажатой клавиши, особенно для цифровых цифр и букв верхнего регистра.
  • Для строчных букв события keyCode возвращают в keyCode значения keyCode код ASCII буквы в верхнем регистре , однако —
  • Код keypress для строчных букв в событиях keypress — это код ASCII для строчных букв.
  • keyCode для некоторых клавиш, функция которых аналогична функции управляющего символа ASCII, является кодом ASCII управляющего символа. EG TAB , CR , BS или ESC ASCII коды возвращаются для клавиш Tab, Enter, Backspace или Esc соответственно.
  • Для не алфавитно-цифровых ключей, которые имеют коды ASCII, код keyCode можно получить из таблиц кодов ключей, показанных в разделе 7.3.3 или 7.3.4 . В результате их значение keyCode не является их значением ASCII.
  • Если ключ не является печатным символом, он не имеет соответствующего кода ASCII и не генерирует событие нажатия клавиши. Этот тип ключа может использовать значение keyCode для событий keyCode и keyup из строчных букв (например, Del использует «d», функциональные клавиши от F1 до F11 используют буквы «p» — «z») или из кодов символов ASCII чьи ключевые коды были взяты из таблиц 7.3.3 или 7.3.4. ссылка выше. Например, F12 использует код ASCII для ‘{‘, ArrowLeft для ‘%’ и pageDown для » ‘в качестве значения keyCode .)

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

keyCode значений keyCode вероятно, восходит к тому, как коды сканирования с физических клавиатур отправлялись на ПК в виде двух байтов: один для keyCode символа и байт состояния для клавиш-модификаторов, таких как Shift, Alt и другие. Это может быть преобразовано с помощью таблиц поиска для разных раскладок клавиатуры, но где-то вдоль линии по крайней мере один браузер keyCode решение keyCode для представления, какая клавиша была нажата с использованием 8-битного значения. Каким бы ни был браузер, другие браузеры следовали бы его примеру, чтобы стать «совместимыми».

Избегайте использования значений keyCode в современных браузерах, если только поддержка не требуется для старых браузеров, которые не предоставляют Unicode или named-values в свойстве key объекта события.


Есть ли ключ с keyCode 1?

Значение кода ASCII, равное 1, является управляющим символом ASCII SOH (начало заголовка) и было сгенерировано на старых клавиатурах ASCII путем одновременного нажатия Ctrl и A Нет ссылки на то, что он был сгенерирован собственной клавишей (у нее ее нет) или используется для чего-либо еще в разделе 7 стандарта.

Короче говоря, невозможно сгенерировать значение keycode клавиши 1 с клавиатуры ПК в браузере *. Вы можете попытаться обнаружить клавишу A с установленным ctrlKey события ctrlKey , но Ctrl A широко используется в программном обеспечении для «выбора всех».

* В Windows ввод 0,0 и 1 на клавиатуре при удерживании клавиши ALT приводит к появлению символа SOH и распознается моим редактором как таковой. Попытка этого трюка в Firefox не сработала и просто вызвала ключевые события для ALT , 0 , 0 и 1 .

https://www.w3schools.com/jsref/event_key_keycode.asp

utf8 / 16 взял на себя ASCII, так как вычисления приспособились к систематическому взаимодействию со всеми языками мира. https://www.w3schools.com/charsets/ref_html_utf8.asp