Key codes·ControlRight
Control
ControlRight
keyCode 17

ControlRight key code — keyCode 17

Modifiers

ControlRight has keyCode 17 and key Control, at location 2. It shares that number with ControlLeft.

They do nothing alone and ride on other keys. Left and right share one keyCode.

code (position)
ControlRight
key (US layout)
Control
keyCode (deprecated)
17
Hexadecimal
0x11
location
2 · Right
Types a character
No
Shares keyCode with
ControlLeft

In code

Comparing against code keeps working when the layout changes.

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

code versus key

code is the physical position, the same on a Korean or French keyboard. key is what gets typed and changes — the same spot gives a, A or ㅁ. Use code to ask which spot was pressed, key to ask what was entered.

keyCode has been dropped from the standard. Write new code against code or key; the numbers here are for reading old code.

Keys of the same kind

How to read this

  • code is the position, key is the character typed. Match on code for shortcuts.
  • keyCode is deprecated; use it only to read old code.
  • Left and right Shift share a keyCode and are told apart by location.
  • The 1 on the number row and the 1 on the numpad are different keys — 49 and 97.

Frequently asked questions

Q. What is the keyCode for ControlRight?

17, or 0x11 in hexadecimal.

Q. How do I match ControlRight in code?

Compare with e.code === 'ControlRight'. Matching on keyCode wobbles between browsers and layouts.

Q. What is this key's location?

2. It shares a keyCode with ControlLeft, so you need this value to tell them apart.

Q. Does this key type a character?

No. key is Control and nothing is entered.