Key codes·Undo
Undo
Undo
keyCode 0

Undo key code — keyCode 0

Editing

Undo has keyCode 0 and key Undo, at location 0. It shares that number with Power, WakeUp, NumpadParenLeft, NumpadParenRight, Cut, Copy, Paste, Again, Find, Props, Fn.

Deleting, inserting, breaking a line.

code (position)
Undo
key (US layout)
Undo
keyCode (deprecated)
0
Hexadecimal
0x00
location
0 · Standard
Types a character
No
Shares keyCode with
Power, WakeUp, NumpadParenLeft, NumpadParenRight, Cut, Copy, Paste, Again, Find, Props, Fn

In code

Comparing against code keeps working when the layout changes.

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

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

0, or 0x00 in hexadecimal.

Q. How do I match Undo in code?

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

Q. What is this key's location?

0. It shares a keyCode with Power, WakeUp, NumpadParenLeft, NumpadParenRight, Cut, Copy, Paste, Again, Find, Props, Fn, so you need this value to tell them apart.

Q. Does this key type a character?

No. key is Undo and nothing is entered.