Javascript: obtenga una descripción clave para cualquier distribución de teclado
Para una aplicación web rica, necesito atajos de teclado. Debido a que hay muchas distribuciones de teclado diferentes, tienen que ser configurables. Desafortunadamente, no puedo encontrar una manera de asignar eventos de teclado anombres de acceso directo legibles por humanos comoCtrl + Alt + Y oAlt + \ los.
El evento es inútil ya que no se activa para todas las claves. Aquí hay algunas propiedades dekeypress
eventos:keydown
: Funciona solo para caracteres imprimibles.
charCode
Obsoleto, de acuerdo con MDN: Funciona, pero ignora la distribución del teclado. Cuando presiono Z, me salecode
en mi teclado alemáncode: "KeyY"
: Funciona, pero da resultados diferentes según los modificadores. P.ej. Shift + 3 rendimientoskey
en mi teclado ykey: "§"
en la mayoría de los teclados de EE. UU.key: "#"
: El valor no es único. Ä, Ö, Ü o ^ rendimientoskeyCode
ObsoletokeyCode: 0
. , de acuerdo con MDN: Al igual quewhich
, el valor no es único.keyCode
Obsoleto, de acuerdo con MDN: Útil para detectar teclas modificadorasaltKey
, ctrlKey
, metaKey
, shiftKey
¿Cómo debería hacer esto? ¿Es posible incluso sin conocer la distribución del teclado del usuario?¿Te ayuda esta biblioteca?