Código de tecla corchete izquierdo ([) en JavaScript

Para corchete izquierdo ([), event.key es [ (or { with Shift), event.code es BracketLeft y el obsoleto keyCode es 219. Pulsa cualquier tecla en el Key Code Finder para ver sus valores en vivo.

Actualizado el

PropiedadValor
event.key[ (or { with Shift)
event.codeBracketLeft
event.keyCode / which (obsoleto)219

Cómo detectar el corchete izquierdo ([)

document.addEventListener('keydown', (event) => {
  if (event.key === "[") {
    // Left bracket ([) was pressed
  }
});

Usa event.key para reaccionar según lo que significa la tecla (sigue la distribución del teclado) y event.code para su posición física, por ejemplo WASD en los juegos. keyCode e which están obsoletas: siguen funcionando, pero sus valores difieren entre navegadores y distribuciones.

Cómo tratan los navegadores el corchete izquierdo ([)

En muchas distribuciones europeas los corchetes requieren AltGr, así que un atajo con [ puede ser difícil de escribir ahí.

En React

<input onKeyDown={(e) => { if (e.key === "[") { /* … */ } }} />

Preguntas frecuentes

¿Cuál es el keyCode del corchete izquierdo ([)?
219. Pero está obsoleto: en código nuevo usa event.key (“[ (o { con Shift)”) o event.code (BracketLeft).
¿Cuál es la diferencia entre event.key y event.code?
event.key es el carácter o la acción que produce la tecla con la distribución actual; event.code es la posición física de la tecla, igual en todas las distribuciones.
¿Debo usar keydown o keypress?
keydown. El evento keypress está obsoleto y no se dispara para teclas que no producen caracteres, como Escape o las flechas.