Javascript и Dvorak: есть ли способ нажать клавишу, а не символ?

#javascript #keyboard-shortcuts #keyboard-layout

#javascript #сочетания клавиш #раскладка клавиатуры

Вопрос:

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

В документе MDN для «keydown» код ключа выглядел многообещающим, но это было не так.

Есть ли способ нажать клавишу, а не символ?

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

Комментарии:

1. Я не понимаю, зачем вам это нужно; как пользователь узнает, какую клавишу нажать, если клавиша не зависит от символа на клавише?

2. ctr-z является распространенным примером этого. То, что в вашем макете есть какая-то другая буква, где обычно находится z, не означает, что вы хотите, чтобы это была ваша горячая клавиша.

3. но в данном случае я использую клавиатуру как пианино, и лично я использую раскладку alt, но я хотел бы писать код для себя и пользователей QWERTY одновременно.

Ответ №1:

Вы не сможете получить эту информацию непосредственно из API-интерфейсов браузера. Одной из возможностей может быть использование плагина, такого как Layoutline (demo), который может быть обязательным шагом для пользователей вашего приложения.