Códigos de tecla·KeyB
b
KeyB
keyCode 66

Tecla KeyB — keyCode 66 (JS)

Letras

KeyB tem keyCode 66 e key "b", em location 0.

A posição é fixa como KeyA. Mesmo que saia um ㅁ coreano, o code continua KeyA.

code (posição)
KeyB
key (layout dos EUA)
"b"
Com Shift
"B"
keyCode (obsoleto)
66
Hexadecimal
0x42
location
0 · Padrão
Digita um caractere
Sim
Divide keyCode com
Nenhum

No código

Comparar com code continua funcionando mesmo se o layout mudar.

window.addEventListener('keydown', e => {
  if (e.code === 'KeyB') {
    // b
  }
});

code versus key

code é a posição física, a mesma num teclado coreano ou francês. key é o que se digita e muda — o mesmo lugar dá a, A ou ㅁ. Use code para saber qual lugar foi pressionado e key para saber o que entrou.

keyCode saiu do padrão. Escreva código novo com code ou key; os números daqui servem para ler código antigo.

Teclas do mesmo tipo

Como ler

  • code é a posição e key o caractere digitado. Para atalhos, compare com code.
  • keyCode está obsoleto; use apenas para ler código antigo.
  • Shift esquerdo e direito dividem o keyCode e se separam por location.
  • O 1 da linha e o 1 do teclado numérico são teclas diferentes: 49 e 97.

Perguntas frequentes

Q. Qual é o keyCode de KeyB?

66, ou 0x42 em hexadecimal.

Q. Como detecto KeyB no código?

Compare com e.code === 'KeyB'. Comparar por keyCode oscila entre navegadores e layouts.

Q. Qual é o location desta tecla?

0.

Q. Esta tecla digita um caractere?

Sim: key é "b", e "B" com Shift.