В документации MDN предлагается использовать либо KeyboardEvent.code, либо KeyboardEvent.key. Однако ни один из них не заменяет полностью keyCode в моих случаях использования. Изначально я решил использовать код, поскольку он кажется более независимым от языка. Однако я столкнулся с проблемами, такими как необходимость отдельно обрабатывать как обычные клавиши, так и клавиши цифровой клавиатуры (Enter, NumpadEnter, Numpad1...).
Текущая проблема, с которой я столкнулся, вызвана несовпадением раскладок клавиатуры. Например, при использовании физической клавиатуры QWERTY с раскладкой ОС AZERTY и нажатии Ctrl+A:
- Нажатие клавиши «A» (физическая «Q») дает: code = «KeyQ», key = «a»
- Проверка моего кода не удалась, поскольку ожидается «KeyA»
Мой вопрос заключается в том, существует ли лучший и более современный подход для надежной обработки сочетаний клавиш. Что вы используете в своем приложении вместо keyCode?
Подробнее здесь: https://stackoverflow.com/questions/798 ... ross-diffe
Мобильная версия