Scancode

From Deskthority wiki
Jump to: navigation, search

This article is a stub. You can help Deskthority by expanding it.

A scancode is the numeric code that a keyboard uses to reference each key when reporting to the computer which keys have been pressed. These codes differ from any representation that the computer itself uses for the characters.

List of USB HID Scancodes

KEY

Y = Part of official spec

T = Tested working but not in spec

<blank> = Not part of spec , not tested

Hexadecimal Key Name PC AT Mac UNIX
00 Reserved Y Y Y
01 Keyboard ErrorRollOver Y Y Y
02 Keyboard POSTFail Y Y Y
03 Keyboard ErrorUndefined Y Y Y
04 Keyboard a and A Y Y Y
05 Keyboard b and B Y Y Y
06 Keyboard c and C Y Y Y
07 Keyboard d and D Y Y Y
08 Keyboard e and E Y Y Y
09 Keyboard f and F Y Y Y
0a Keyboard g and G Y Y Y
0b Keyboard h and H Y Y Y
0c Keyboard i and I Y Y Y
0d Keyboard j and J Y Y Y
0e Keyboard k and K Y Y Y
0f Keyboard l and L Y Y Y
10 Keyboard m and M Y Y Y
11 Keyboard n and N Y Y Y
12 Keyboard o and O Y Y Y
13 Keyboard p and P Y Y Y
14 Keyboard q and Q Y Y Y
15 Keyboard r and R Y Y Y
16 Keyboard s and S Y Y Y
17 Keyboard t and T Y Y Y
18 Keyboard u and U Y Y Y
19 Keyboard v and V Y Y Y
1a Keyboard w and W Y Y Y
1b Keyboard x and X Y Y Y
1c Keyboard y and Y Y Y Y
1d Keyboard z and Z Y Y Y
1e Keyboard 1 and ! Y Y Y
1f Keyboard 2 and @ Y Y Y
20 Keyboard 3 and # Y Y Y
21 Keyboard 4 and $ Y Y Y
22 Keyboard 5 and % Y Y Y
23 Keyboard 6 and ^ Y Y Y
24 Keyboard 7 and & Y Y Y
25 Keyboard 8 and * Y Y Y
26 Keyboard 9 and ( Y Y Y
27 Keyboard 0 and ) Y Y Y
28 Keyboard Return Y Y Y
29 Keyboard Escape Y Y Y
2a Keyboard Backspace Y Y Y
2b Keyboard Tab Y Y Y
2c Keyboard Spacebar Y Y Y
2d Keyboard - and _ Y Y Y
2e Keyboard = and + Y Y Y
2f Keyboard [ and { Y Y Y
30 Keyboard ] and } Y Y Y
31 Keyboard \ and | Y Y Y
32 Keyboard Int' # and ~ Y Y Y
33 Keyboard ; and : Y Y Y
34 Keyboard ‘ and “ Y Y Y
35 Keyboard Grave Accent and Tilde Y Y Y
36 Keyboard, and < Y Y Y
37 Keyboard . and > Y Y Y
38 Keyboard / and ? Y Y Y
39 Keyboard Caps Lock Y Y Y
3a Keyboard F1 Y Y Y
3b Keyboard F2 Y Y Y
3c Keyboard F3 Y Y Y
3d Keyboard F4 Y Y Y
3e Keyboard F5 Y Y Y
3f Keyboard F6 Y Y Y
40 Keyboard F7 Y Y Y
41 Keyboard F8 Y Y Y
42 Keyboard F9 Y Y Y
43 Keyboard F10 Y Y Y
44 Keyboard F11 Y Y Y
45 Keyboard F12 Y Y Y
46 Keyboard PrintScreen Y Y Y
47 Keyboard Scroll Lock Y Y Y
48 Keyboard Pause Y Y Y
49 Keyboard Insert Y Y Y
4a Keyboard Home Y Y Y
4b Keyboard PageUp Y Y Y
4c Keyboard Delete(forward) Y Y Y
4d Keyboard End Y Y Y
4e Keyboard PageDown Y Y Y
4f Keyboard RightArrow Y Y Y
50 Keyboard LeftArrow Y Y Y
51 Keyboard DownArrow Y Y Y
52 Keyboard UpArrow Y Y Y
53 Keypad Num Lock and Clear Y Y Y
54 Keypad / Y Y Y
55 Keypad * Y Y Y
56 Keypad - Y Y Y
57 Keypad + Y Y Y
58 Keypad ENTER Y Y Y
59 Keypad 1 and End Y Y Y
5a Keypad 2 and Down Arrow Y Y Y
5b Keypad 3 and PageDn Y Y Y
5c Keypad 4 and Left Arrow Y Y Y
5d Keypad 5 Y Y Y
5e Keypad 6 and Right Arrow Y Y Y
5f Keypad 7 and Home Y Y Y
60 Keypad 8 and Up Arrow Y Y Y
61 Keypad 9 and PageUp Y Y Y
62 Keypad 0 and Insert Y Y Y
63 Keypad . and Delete Y Y Y
64 Keyboard Int, \ and | Y Y Y
65 Keyboard Application[Notes 1] Y Y
66 Keyboard Power[Notes 2] Y Y
67 Keypad = T Y
68 Keyboard F13 T Y
69 Keyboard F14 Y
6a Keyboard F15 Y
6b Keyboard F16
6c Keyboard F17
6d Keyboard F18
6e Keyboard F19
6f Keyboard F20
70 Keyboard F21
71 Keyboard F22
72 Keyboard F23
73 Keyboard F24
74 Keyboard Execute[Notes 3] Y
75 Keyboard Help[Notes 3] Y
76 Keyboard Menu[Notes 3] Y
77 Keyboard Select[Notes 3] Y
78 Keyboard Stop[Notes 3] Y
79 Keyboard Again[Notes 3] Y
7a Keyboard Undo[Notes 3] Y
7b Keyboard Cut[Notes 3] Y
7c Keyboard Copy[Notes 3] Y
7d Keyboard Paste[Notes 3] Y
7e Keyboard Find[Notes 3] Y
7f Keyboard Mute[Notes 3] Y
80 Keyboard Volume Up[Notes 3] Y
81 Keyboard Volume Down[Notes 3] Y
82 Locking Caps Lock[Notes 4][Notes 3] Y
83 Locking Num Lock[Notes 4][Notes 3] Y
84 Locking Scroll Lock[Notes 4][Notes 3] Y
85 Keypad ,[Notes 5] Y
86 Keypad Equals Sign[Notes 6]
87 Keyboard INT1
88 Keyboard INT2
89 Keyboard INT3
8a Keyboard INT4
8b Keyboard INT5
8c Keyboard INT6
8d Keyboard INT7
8e Keyboard INT8
8f Keyboard INT9
90 Keyboard LANG1
91 Keyboard LANG2
92 Keyboard LANG3
93 Keyboard LANG4
94 Keyboard LANG5
95 Keyboard LANG6
96 Keyboard LANG7
97 Keyboard LANG8
98 Keyboard LANG9
99 Keyboard Alternative Erase
9a Keyboard SysReq/Attention[Notes 7]
9b Keyboard Cancel
9c Keyboard Clear
9d Keyboard Prior
9e Keyboard Return
9f Keyboard Separator
a0 Keyboard Out
a1 Keyboard Oper
a2 Keyboard Clear/Again
a3 Keyboard ClSel/Props
a4 Keyboard ExSel
a5 Reserved
a6 Reserved
a7 Reserved
a8 Reserved
a9 Reserved
aa Reserved
ab Reserved
ac Reserved
ad Reserved
ae Reserved
af Reserved
b0 Keypad 00
b1 Keypad 000
b2 Thousands Separator
b3 Decimal Separator
b4 Currency Unit[Notes 8]
b5 Currency Sub-unit[Notes 8]
b6 Keypad (
b7 Keypad )
b8 Keypad {
b9 Keypad }
ba Keypad Tab
bb Keypad Backspace
bc Keypad A
bd Keypad B
be Keypad C
bf Keypad D
c0 Keypad E
c1 Keypad F
c2 Keypad XOR
c3 Keypad ^
c4 Keypad %
c5 Keypad <
c6 Keypad >
c7 Keypad &
c8 Keypad &&
c9 Keypad |
ca Keypad ||
cb Keypad :
cc Keypad #
cd Keypad Space
ce Keypad @
cf Keypad !
d0 Keypad Memory Store
d1 Keypad Memory Recall
d2 Keypad Memory Clear
d3 Keypad Memory Add
d4 Keypad Memory Subtract
d5 Keypad Memory Multiply
d6 Keypad Memory Divide
d7 Keypad +/-
d8 Keypad Clear
d9 Keypad Clear Entry
da Keypad Binary
db Keypad Octal
dc Keypad Decimal
dd Keypad Hexadecimal
de Reserved
df Reserved
e0 Keyboard Left Control Y Y Y
e1 Keyboard Left Shift Y Y Y
e2 Keyboard Left Alt Y Y Y
e3 Keyboard Left GUI Y Y Y
e4 Keyboard Right Control Y Y Y
e5 Keyboard Right Shift Y Y Y
e6 Keyboard Right Alt Y Y Y
e7 Keyboard Right GUI Y Y Y
e8 to FFFF Reserved

Notes

  1. NOT Windows / Apple key. May be Windows Menu key ?
  2. Mac external Keyboard power , may not apply built in keyboard on laptops (rMBP etc).
  3. 3.00 3.01 3.02 3.03 3.04 3.05 3.06 3.07 3.08 3.09 3.10 3.11 3.12 3.13 3.14 3.15 3.16 Scancodes 74 to 84 appear to be related to Sun keyboards, may only be in SunOS/Solaris
  4. 4.0 4.1 4.2 Appear to be for physically locking keys ( e.g. Cherry MX Lock)
  5. Your OS may treat this as Keypad . depends on your keyboard layout or language settings
  6. Unsure how this differs from Scancode 67.
  7. Usage of keys is not modified by the state of the Control, Alt, Shift or Num Lock keys
  8. 8.0 8.1 Based on OS current language settings, e.g £ for GB $ for US, (period) for US/GB decimal (comma) for Int