Códigos de tecla·ControlLeft
Control
ControlLeft
keyCode 17

Tecla ControlLeft — keyCode 17 (JS)

Modificadoras

ControlLeft tem keyCode 17 e key Control, em location 1. Divide esse número com ControlRight.

Sozinhas não fazem nada e se apoiam em outras. Esquerda e direita dividem o keyCode.

code (posição)
ControlLeft
key (layout dos EUA)
Control
keyCode (obsoleto)
17
Hexadecimal
0x11
location
1 · Esquerda
Digita um caractere
Não
Divide keyCode com
ControlRight

No código

Comparar com code continua funcionando mesmo se o layout mudar.

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

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 ControlLeft?

17, ou 0x11 em hexadecimal.

Q. Como detecto ControlLeft no código?

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

Q. Qual é o location desta tecla?

1. Ela divide o keyCode com ControlRight, então esse valor é o que as separa.

Q. Esta tecla digita um caractere?

Não. key é Control e nada é digitado.