Key codes of keydown/keyup events (as of 2011)

JavaScript FAQ | Keyboard & Mouse Events FAQ  

Question: What were browser keyCode values of keydown/keyup events in 2011?

Answer: This page gives some historical (ca.2011) data on keyCode values in popular browsers. Specifically, the table below shows the event.keyCode values for keydown and keyup events in Opera 11, Internet Exlorer 8.0, Firefox 3.6, Safari 5.0, and Google Chrome 10. (See www.javascripter.net/faq/keycodes.htm for more up-to-date key codes. If you are interested in key codes for older browsers, please refer to the W3C Working Group Note Legacy Keyboard Event Properties.) Common key codes that are relatively safe to use across browsers are shown in black. Key codes that differ across browsers are shown in red. Do not use this table for character codes of keypress events: keypress character codes are not key-specific and may be enirely different from keydown/keyup key codes.

 keydown/keyup event.keyCode Opera MSIE Firefox Safari Chrome Key pressed _________________________________________________________ 8 8 8 8 8 Backspace 9 9 9 9 9 Tab 13 13 13 13 13 Enter 16 16 16 16 16 Shift 17 17 17 17 17 Ctrl 18 18 18 18 18 Alt 19 19 19 19 19 Pause, Break 20 20 20 20 20 CapsLock 27 27 27 27 27 Esc 32 32 32 32 32 Space 33 33 33 33 33 Page Up 34 34 34 34 34 Page Down 35 35 35 35 35 End 36 36 36 36 36 Home 37 37 37 37 37 Left arrow 38 38 38 38 38 Up arrow 39 39 39 39 39 Right arrow 40 40 40 40 40 Down arrow 44 44 44 44 PrntScrn (see below) 45 45 45 45 45 Insert 46 46 46 46 46 Delete 48-57 48-57 48-57 48-57 48-57 0 to 9 65-90 65-90 65-90 65-90 65-90 A to Z 112-123 112-123 112-123 112-123 112-123 F1 to F12 144 144 144 144 144 NumLock 145 145 145 145 145 ScrollLock 188 188 188 188 188 , < 190 190 190 190 190 . > 191 191 191 191 191 / ? 192 192 192 192 192 ` ~ 219 219 219 219 219 [ { (see below) 220 220 220 220 220 \ | 221 221 221 221 221 ] } 222 222 222 222 222 ' " 
In most browsers, pressing the PrntScrn key fires keyup events only.
Caution! Key code 219 also corresponds to the Win Key (Start) in Opera.

The following key codes differ across browsers:

 keydown/keyup event.keyCode Opera MSIE Firefox Safari Chrome Key pressed _________________________________________________________  59 186 59 186 186 ; :  61 187 107 187 187 = +  109 189 109 189 189 - _  219 91 91 91 91 WIN Key (Start)  0 93 93 93 93 WIN Menu  Opera All Others (NumLock On/Off) Key pressed _________________________________________________________ 48/45 96/45 Numpad 0 Ins  49/35 97/35 Numpad 1 End  50/40 98/40 Numpad 2 Down  51/34 99/34 Numpad 3 Pg Down 52/37 100/37 Numpad 4 Left  53/12 101/12 Numpad 5  54/39 102/39 Numpad 6 Right  55/36 103/36 Numpad 7 Home  56/38 104/38 Numpad 8 Up  57/33 105/33 Numpad 9 Pg Up  42/42 106/106 Numpad *  43/43 107/107 Numpad +  45/45 109/109  (45 is also Ins) Numpad -  78/46 110/46  (78 is also N) Numpad . Del  47/47 111/111 Numpad /  

See also:
What event properties can I use to analyze keyboard events?
Which key did the user press?
Which character did the user type?
KeyEvent object (predefined key code constants in Firefox)

Copyright © 1999-2011, JavaScripter.net.