-
Notifications
You must be signed in to change notification settings - Fork 1.7k
USB: HID Usage Table
https://www.usb.org/sites/default/files/hut1_22.pdf
Usage_ID | Usage_Name | Usage_Type | AT-101 | PC-AT | Mac | Unix | Boot |
---|---|---|---|---|---|---|---|
00-00 | Reserved | ||||||
01 | Keyboard ErrorRollOver1 | Sel | N/A | ✓ | ✓ | ✓ | 84/101/104 |
02 | Keyboard POSTFail1 | Sel | N/A | ✓ | ✓ | ✓ | 84/101/104 |
03 | Keyboard ErrorUndefined1 | Sel | N/A | ✓ | ✓ | ✓ | 84/101/104 |
04 | Keyboard a and A2 | Sel | 31 | ✓ | ✓ | ✓ | 84/101/104 |
05 | Keyboard b and B | Sel | 50 | ✓ | ✓ | ✓ | 84/101/104 |
06 | Keyboard c and C2 | Sel | 48 | ✓ | ✓ | ✓ | 84/101/104 |
07 | Keyboard d and D | Sel | 33 | ✓ | ✓ | ✓ | 84/101/104 |
08 | Keyboard e and E | Sel | 19 | ✓ | ✓ | ✓ | 84/101/104 |
09 | Keyboard f and F | Sel | 34 | ✓ | ✓ | ✓ | 84/101/104 |
0A | Keyboard g and G | Sel | 35 | ✓ | ✓ | ✓ | 84/101/104 |
0B | Keyboard h and H | Sel | 36 | ✓ | ✓ | ✓ | 84/101/104 |
0C | Keyboard i and I | Sel | 24 | ✓ | ✓ | ✓ | 84/101/104 |
0D | Keyboard j and J | Sel | 37 | ✓ | ✓ | ✓ | 84/101/104 |
0E | Keyboard k and K | Sel | 38 | ✓ | ✓ | ✓ | 84/101/104 |
0F | Keyboard l and L | Sel | 39 | ✓ | ✓ | ✓ | 84/101/104 |
10 | Keyboard m and M2 | Sel | 52 | ✓ | ✓ | ✓ | 84/101/104 |
11 | Keyboard n and N | Sel | 51 | ✓ | ✓ | ✓ | 84/101/104 |
12 | Keyboard o and O2 | Sel | 25 | ✓ | ✓ | ✓ | 84/101/104 |
13 | Keyboard p and P2 | Sel | 26 | ✓ | ✓ | ✓ | 84/101/104 |
14 | Keyboard q and Q2 | Sel | 17 | ✓ | ✓ | ✓ | 84/101/104 |
15 | Keyboard r and R | Sel | 20 | ✓ | ✓ | ✓ | 84/101/104 |
16 | Keyboard s and S | Sel | 32 | ✓ | ✓ | ✓ | 84/101/104 |
17 | Keyboard t and T | Sel | 21 | ✓ | ✓ | ✓ | 84/101/104 |
18 | Keyboard u and U | Sel | 23 | ✓ | ✓ | ✓ | 84/101/104 |
19 | Keyboard v and V | Sel | 49 | ✓ | ✓ | ✓ | 84/101/104 |
1A | Keyboard w and W2 | Sel | 18 | ✓ | ✓ | ✓ | 84/101/104 |
1B | Keyboard x and X2 | Sel | 47 | ✓ | ✓ | ✓ | 84/101/104 |
1C | Keyboard y and Y2 | Sel | 22 | ✓ | ✓ | ✓ | 84/101/104 |
1D | Keyboard z and Z2 | Sel | 46 | ✓ | ✓ | ✓ | 84/101/104 |
1E | Keyboard 1 and | Sel | 2 | ✓ | ✓ | ✓ | 84/101/104 |
1F | Keyboard 2 and @2 | Sel | 3 | ✓ | ✓ | ✓ | 84/101/104 |
20 | Keyboard 3 and #2 | Sel | 4 | ✓ | ✓ | ✓ | 84/101/104 |
21 | Keyboard 4 and $2 | Sel | 5 | ✓ | ✓ | ✓ | 84/101/104 |
22 | Keyboard 5 and %2 | Sel | 6 | ✓ | ✓ | ✓ | 84/101/104 |
23 | Keyboard 6 and ∧2 | Sel | 7 | ✓ | ✓ | ✓ | 84/101/104 |
24 | Keyboard 7 and &2 | Sel | 8 | ✓ | ✓ | ✓ | 84/101/104 |
25 | Keyboard 8 and *2 | Sel | 9 | ✓ | ✓ | ✓ | 84/101/104 |
26 | Keyboard 9 and (2 | Sel | 10 | ✓ | ✓ | ✓ | 84/101/104 |
27 | Keyboard 0 and )2 | Sel | 11 | ✓ | ✓ | ✓ | 84/101/104 |
28 | Keyboard Return (ENTER)3 | Sel | 43 | ✓ | ✓ | ✓ | 84/101/104 |
29 | Keyboard ESCAPE | Sel | 110 | ✓ | ✓ | ✓ | 84/101/104 |
2A | Keyboard DELETE (Backspace)4 | Sel | 15 | ✓ | ✓ | ✓ | 84/101/104 |
2B | Keyboard Tab | Sel | 16 | ✓ | ✓ | ✓ | 84/101/104 |
2C | Keyboard Spacebar | Sel | 61 | ✓ | ✓ | ✓ | 84/101/104 |
2D | Keyboard - and (underscore)[2] | Sel | 12 | ✓ | ✓ | ✓ | 84/101/104 |
2E | Keyboard = and +2 | Sel | 13 | ✓ | ✓ | ✓ | 84/101/104 |
2F | Keyboard [ and {2 | Sel | 27 | ✓ | ✓ | ✓ | 84/101/104 |
30 | Keyboard ] and }2 | Sel | 28 | ✓ | ✓ | ✓ | 84/101/104 |
31 | Keyboard \and | | Sel | 29 | ✓ | ✓ | ✓ | 84/101/104 |
32 | Keyboard Non-US # and ˜5 | Sel | 42 | ✓ | ✓ | ✓ | 84/101/104 |
33 | Keyboard ; and :2 | Sel | 40 | ✓ | ✓ | ✓ | 84/101/104 |
34 | Keyboard ‘ and “2 | Sel | 41 | ✓ | ✓ | ✓ | 84/101/104 |
35 | Keyboard Grave Accent and Tilde2 | Sel | 1 | ✓ | ✓ | ✓ | 84/101/104 |
36 | Keyboard , and <2 | Sel | 53 | ✓ | ✓ | ✓ | 84/101/104 |
37 | Keyboard . and >2 | Sel | 54 | ✓ | ✓ | ✓ | 84/101/104 |
38 | Keyboard / and ?2 | Sel | 55 | ✓ | ✓ | ✓ | 84/101/104 |
39 | Keyboard Caps Lock6 | Sel | 30 | ✓ | ✓ | ✓ | 84/101/104 |
3A | Keyboard F1 | Sel | 112 | ✓ | ✓ | ✓ | 84/101/104 |
3B | Keyboard F2 | Sel | 113 | ✓ | ✓ | ✓ | 84/101/104 |
3C | Keyboard F3 | Sel | 114 | ✓ | ✓ | ✓ | 84/101/104 |
3D | Keyboard F4 | Sel | 115 | ✓ | ✓ | ✓ | 84/101/104 |
3E | Keyboard F5 | Sel | 116 | ✓ | ✓ | ✓ | 84/101/104 |
3F | Keyboard F6 | Sel | 117 | ✓ | ✓ | ✓ | 84/101/104 |
40 | Keyboard F7 | Sel | 118 | ✓ | ✓ | ✓ | 84/101/104 |
41 | Keyboard F8 | Sel | 119 | ✓ | ✓ | ✓ | 84/101/104 |
42 | Keyboard F9 | Sel | 120 | ✓ | ✓ | ✓ | 84/101/104 |
43 | Keyboard F10 | Sel | 121 | ✓ | ✓ | ✓ | 84/101/104 |
44 | Keyboard F11 | Sel | 122 | ✓ | ✓ | ✓ | 84/101/104 |
45 | Keyboard F12 | Sel | 123 | ✓ | ✓ | ✓ | 84/101/104 |
46 | Keyboard PrintScreen7 | Sel | 124 | ✓ | ✓ | ✓ | 84/101/104 |
47 | Keyboard Scroll Lock6 | Sel | 125 | ✓ | ✓ | ✓ | 84/101/104 |
48 | Keyboard Pause7 | Sel | 126 | ✓ | ✓ | ✓ | 84/101/104 |
49 | Keyboard Insert7 | Sel | 75 | ✓ | ✓ | ✓ | 84/101/104 |
4A | Keyboard Home[7] | Sel | 80 | ✓ | ✓ | ✓ | 84/101/104 |
4B | Keyboard PageUp7 | Sel | 85 | ✓ | ✓ | ✓ | 84/101/104 |
4C | Keyboard Delete Forward7,8 | Sel | 76 | ✓ | ✓ | ✓ | 84/101/104 |
4D | Keyboard End7 | Sel | 81 | ✓ | ✓ | ✓ | 84/101/104 |
4E | Keyboard PageDown7 | Sel | 86 | ✓ | ✓ | ✓ | 84/101/104 |
4F | Keyboard RightArrow7 | Sel | 89 | ✓ | ✓ | ✓ | 84/101/104 |
50 | Keyboard LeftArrow7 | Sel | 79 | ✓ | ✓ | ✓ | 84/101/104 |
51 | Keyboard DownArrow7 | Sel | 84 | ✓ | ✓ | ✓ | 84/101/104 |
52 | Keyboard UpArrow7 | Sel | 83 | ✓ | ✓ | ✓ | 84/101/104 |
53 | Keypad Num Lock and Clear6 | Sel | 90 | ✓ | ✓ | ✓ | 84/101/104 |
54 | Keypad /7 | Sel | 95 | ✓ | ✓ | ✓ | 84/101/104 |
55 | Keypad * | Sel | 100 | ✓ | ✓ | ✓ | 84/101/104 |
56 | Keypad - | Sel | 105 | ✓ | ✓ | ✓ | 84/101/104 |
57 | Keypad + | Sel | 106 | ✓ | ✓ | ✓ | 84/101/104 |
58 | Keypad ENTER3 | Sel | 108 | ✓ | ✓ | ✓ | 84/101/104 |
59 | Keypad 1 and End | Sel | 93 | ✓ | ✓ | ✓ | 84/101/104 |
5A | Keypad 2 and Down Arrow | Sel | 98 | ✓ | ✓ | ✓ | 84/101/104 |
5B | Keypad 3 and PageDn | Sel | 103 | ✓ | ✓ | ✓ | 84/101/104 |
5C | Keypad 4 and Left Arrow | Sel | 92 | ✓ | ✓ | ✓ | 84/101/104 |
5D | Keypad 5 | Sel | 97 | ✓ | ✓ | ✓ | 84/101/104 |
5E | Keypad 6 and Right Arrow | Sel | 102 | ✓ | ✓ | ✓ | 84/101/104 |
5F | Keypad 7 and Home | Sel | 91 | ✓ | ✓ | ✓ | 84/101/104 |
60 | Keypad 8 and Up Arrow | Sel | 96 | ✓ | ✓ | ✓ | 84/101/104 |
61 | Keypad 9 and PageUp | Sel | 101 | ✓ | ✓ | ✓ | 84/101/104 |
62 | Keypad 0 and Insert | Sel | 99 | ✓ | ✓ | ✓ | 84/101/104 |
63 | Keypad . and Delete | Sel | 104 | ✓ | ✓ | ✓ | 84/101/104 |
64 | Keyboard Non-US \and |9,10 | Sel | 45 | ✓ | ✓ | ✓ | 84/101/104 |
65 | Keyboard Application11 | Sel | 129 | ✓ | ✓ | 104 | |
66 | Keyboard Power[1] | Sel | ✓ | ✓ | |||
67 | Keypad = | Sel | ✓ | ||||
68 | Keyboard F13 | Sel | ✓ | ||||
69 | Keyboard F14 | Sel | ✓ | ||||
6A | Keyboard F15 | Sel | ✓ | ||||
6B | Keyboard F16 | Sel | |||||
6C | Keyboard F17 | Sel | |||||
6D | Keyboard F18 | Sel | |||||
6E | Keyboard F19 | Sel | |||||
6F | Keyboard F20 | Sel | |||||
70 | Keyboard F21 | Sel | |||||
71 | Keyboard F22 | Sel | |||||
72 | Keyboard F23 | Sel | |||||
73 | Keyboard F24 | Sel | |||||
74 | Keyboard Execute | Sel | ✓ | ||||
75 | Keyboard Help | Sel | ✓ | ||||
76 | Keyboard Menu | Sel | ✓ | ||||
77 | Keyboard Select | Sel | ✓ | ||||
78 | Keyboard Stop | Sel | ✓ | ||||
79 | Keyboard Again | Sel | ✓ | ||||
7A | Keyboard Undo | Sel | ✓ | ||||
7B | Keyboard Cut | Sel | ✓ | ||||
7C | Keyboard Copy | Sel | ✓ | ||||
7D | Keyboard Paste | Sel | ✓ | ||||
7E | Keyboard Find | Sel | ✓ | ||||
7F | Keyboard Mute | Sel | ✓ | ||||
80 | Keyboard Volume Up | Sel | ✓ | ||||
81 | Keyboard Volume Down | Sel | ✓ | ||||
82 | Keyboard Locking Caps Lock12 | Sel | ✓ | ||||
83 | Keyboard Locking Num Lock12 | Sel | ✓ | ||||
84 | Keyboard Locking Scroll Lock12 | Sel | ✓ | ||||
85 | Keypad Comma13 | Sel | 107 | ||||
86 | Keypad Equal Sign14 | Sel | ✓ | ||||
87 | Keyboard International115,16 | Sel | 56 | ||||
88 | Keyboard International217 | Sel | |||||
89 | Keyboard International318 | Sel | |||||
8A | Keyboard International419 | Sel | |||||
8B | Keyboard International520 | Sel | |||||
8C | Keyboard International621 | Sel | |||||
8D | Keyboard International722 | Sel | |||||
8E | Keyboard International823 | Sel | |||||
8F | Keyboard International923 | Sel | |||||
90 | Keyboard LANG124 | Sel | |||||
91 | Keyboard LANG225 | Sel | |||||
92 | Keyboard LANG326 | Sel | |||||
93 | Keyboard LANG427 | Sel | |||||
94 | Keyboard LANG528 | Sel | |||||
95 | Keyboard LANG629 | Sel | |||||
96 | Keyboard LANG729 | Sel | |||||
97 | Keyboard LANG829 | Sel | |||||
98 | Keyboard LANG929 | Sel | |||||
99 | Keyboard Alternate Erase30 | Sel | |||||
9A | Keyboard SysReq/Attention7 | Sel | |||||
9B | Keyboard Cancel | Sel | |||||
9C | Keyboard Clear | Sel | |||||
9D | Keyboard Prior | Sel | |||||
9E | Keyboard Return | Sel | |||||
9F | Keyboard Separator | Sel | |||||
A0 | Keyboard Out | Sel | |||||
A1 | Keyboard Oper | Sel | |||||
A2 | Keyboard Clear/Again | Sel | |||||
A3 | Keyboard CrSel/Props | Sel | |||||
A4 | Keyboard ExSel | Sel | |||||
A5-AF | Reserved | ||||||
B0 | Keypad 00 | Sel | |||||
B1 | Keypad 000 | Sel | |||||
B2 | Thousands Separator31 | Sel | |||||
B3 | Decimal Separator31 | Sel | |||||
B4 | Currency Unit32 | Sel | |||||
B5 | Currency Sub-unit32 | Sel | |||||
B6 | Keypad ( | Sel | |||||
B7 | Keypad ) | Sel | |||||
B8 | Keypad { | Sel | |||||
B9 | Keypad } | Sel | |||||
BA | Keypad Tab | Sel | |||||
BB | Keypad Backspace | Sel | |||||
BC | Keypad A | Sel | |||||
BD | Keypad B | Sel | |||||
BE | Keypad C | Sel | |||||
BF | Keypad D | Sel | |||||
C0 | Keypad E | Sel | |||||
C1 | Keypad F | Sel | |||||
C2 | Keypad XOR | Sel | |||||
C3 | Keypad ∧ | Sel | |||||
C4 | Keypad % | Sel | |||||
C5 | Keypad < | Sel | |||||
C6 | Keypad > | Sel | |||||
C7 | Keypad & | Sel | |||||
C8 | Keypad && | Sel | |||||
C9 | Keypad | | Sel | |||||
CA | Keypad || | Sel | |||||
CB | Keypad : | Sel | |||||
CC | Keypad # | Sel | |||||
CD | Keypad Space | Sel | |||||
CE | Keypad @ | Sel | |||||
CF | Keypad ! | Sel | |||||
D0 | Keypad Memory Store | Sel | |||||
D1 | Keypad Memory Recall | Sel | |||||
D2 | Keypad Memory Clear | Sel | |||||
D3 | Keypad Memory Add | Sel | |||||
D4 | Keypad Memory Subtract | Sel | |||||
D5 | Keypad Memory Multiply | Sel | |||||
D6 | Keypad Memory Divide | Sel | |||||
D7 | Keypad +/- | Sel | |||||
D8 | Keypad Clear | Sel | |||||
D9 | Keypad Clear Entry | Sel | |||||
DA | Keypad Binary | Sel | |||||
DB | Keypad Octal | Sel | |||||
DC | Keypad Decimal | Sel | |||||
DD | Keypad Hexadecimal | Sel | |||||
DE-DF | Reserved | ||||||
E0 | Keyboard LeftControl | DV | 58 | ✓ | ✓ | ✓ | 84/101/104 |
E1 | Keyboard LeftShift | DV | 44 | ✓ | ✓ | ✓ | 84/101/104 |
E2 | Keyboard LeftAlt | DV | 60 | ✓ | ✓ | ✓ | 84/101/104 |
E3 | Keyboard Left GUI11,33 | DV | 127 | ✓ | ✓ | ✓ | 104 |
E4 | Keyboard RightControl | DV | 64 | ✓ | ✓ | ✓ | 101/104 |
E5 | Keyboard RightShift | DV | 57 | ✓ | ✓ | ✓ | 84/101/104 |
E6 | Keyboard RightAlt | DV | 62 | ✓ | ✓ | ✓ | 101/104 |
E7 | Keyboard Right GUI11,34 | DV | 128 | ✓ | ✓ | ✓ | 104 |
E8-FFFF | Reserved |
,---. ,---------------. ,---------------. ,---------------. ,-----------.
|Esc| |F1 |F2 |F3 |F4 | |F5 |F6 |F7 |F8 | |F9 |F10|F11|F12| |PrS|ScL|Pau|
`---' `---------------' `---------------' `---------------' `-----------'
,-----------------------------------------------------------. ,-----------. ,---------------.
| `| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|JPY|Bsp| |Ins|Hom|PgU| |NmL| /| *| -|
|-----------------------------------------------------------| |-----------| |---------------|
|Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ | |Del|End|PgD| | 7| 8| 9| +|
|-----------------------------------------------------------| `-----------' |-----------| |
|CapsL | A| S| D| F| G| H| J| K| L| ;| '| #|Entr| | 4| 5| 6| |
|-----------------------------------------------------------| ,---. |---------------|
|Shft| <| Z| X| C| V| B| N| M| ,| .| /| RO|Shift | |Up | | 1| 2| 3|Ent|
|-----------------------------------------------------------| ,-----------. |-----------| |
|Ctl|Gui|Alt|MHEN| Space |HENK|KANA|Alt|Gui|App|Ctl| |Lef|Dow|Rig| | 0| .| |
`-----------------------------------------------------------' `-----------' `---------------'
,---. ,---------------. ,---------------. ,---------------. ,-----------.
|110| |112|113|114|115| |116|117|118|119| |120|121|122|123| |124|125|126|
`---' `---------------' `---------------' `---------------' `-----------'
,-----------------------------------------------------------. ,-----------. ,---------------.
| 1| 2| 3| 4| 5| 6| 7| 8| 9| 10| 11| 12| 13| 14| 15| | 75| 80| 85| | 90| 95|100|105|
|-----------------------------------------------------------| |-----------| |---------------|
| 16 | 17| 18| 19| 20| 21| 22| 23| 24| 25| 26| 27| 28| 29 | | 76| 81| 86| | 91| 96|101|106|
|-----------------------------------------------------------| `-----------' |-----------| |
| 30 | 31| 32| 33| 34| 35| 36| 37| 38| 39| 40| 41| 42| 43 | | 92| 97|102| |
|-----------------------------------------------------------| ,---. |---------------|
| 44 | 45| 46| 47| 48| 49| 50| 51| 52| 53| 54| 55| 56| 57 | | 83| | 93| 98|103|108|
|-----------------------------------------------------------| ,-----------. |-----------| |
| 58|127| 60| 70| 61 | 71| 72| 62|128|129| 64| | 79| 84| 89| | 99|104| |
`-----------------------------------------------------------' `-----------' `---------------'
Reserved for typical keyboard status or keyboard errors. Sent as a member of the keyboard array. Not a physical key.
Typically remapped for other languages in the host system.
Keyboard Enter and Keypad Enter generate different Usage codes.
Backs up the cursor one position, deleting a character as it goes.
Typical language mappings: US: \|Belg: µ `£French Canadian: <}>Danish: ’* Dutch: <>French: *µ German: # ’Italian: ù §LatinAmerica: } `] Norwegian: , * Spain: }Ç Swedish: , * Swiss: $ £UK: # ~
Implemented as a non-locking key; sent as member of an array.
Usage of keys is not modified by the state of the Control, Alt, Shift or Num Lock keys. That is, a key does not send extra codes to compensate for the state of any Control, Alt, Shift or Num Lock keys.
Deletes one character without changing position.
Typical language mappings: Belg: <\>French Canadian: <°>Danish: <\>Dutch: ]|[ French: <>German: <|>Italian: <>LatinAmerica: <>Norwegian: <>Spain: <>Swedish: <|>Swiss: <>UK: \|Brazil: \|
Typically near the Left-Shift key in AT-102 implementations.
Windows key for Windows 95, and Compose.
Implemented as a locking key; sent as a toggle button. Available for legacy support; however, most systems should use the non-locking version of this key.
Keypad Comma is the appropriate usage for the Brazilian keypad period (.) key. This represents the closest possible match, and system software should do the correct mapping based on the current locale setting.
Used on AS/400 keyboards.
See additional footnotes below
Keyboard International1 should be identified via footnote as the appropriate usage for the Brazilian forward-slash (/) and question-mark (?) key. This usage should also be renamed to either "Keyboard Non-US / and ?" or to "Keyboard International1" now that it’s become clear that it does not only apply to Kanji keyboards anymore.
See additional footnotes below
See additional footnotes below
See additional footnotes below
See additional footnotes below
See additional footnotes below
Toggle Double-Byte/Single-Byte mode.
Undefined, available for other Front End Language Processors.
Hangul/English toggle key. This usage is used as an input method editor control key on a Korean language keyboard.
Hanja conversion key. This usage is used as an input method editor control key on a Korean language keyboard.
Defines the Katakana key for Japanese USB word-processing keyboards.
Defines the Hiragana key for Japanese USB word-processing keyboards.
Defines the Zenkaku/Hankaku key for Japanese USB word-processing keyboards.
Reserved for language-specific functions, such as Front End Processors and Input Method Editors.
Example, Erase-Eaze™ key.
The symbol displayed will depend on the current locale settings of the operating system. For example, the US thousands separator would be a comma, and the decimal separator would be a period.
The symbol displayed will depend on the current locale settings of the operating system. For example the US currency unit would be $ and the sub-unit would be ¢.
Windowing environment key, examples are Microsoft Left Win key, Mac Left Apple key, Sun Left Meta key
Windowing environment key, examples are Microsoft®RIGHT WIN key, Macintosh®RIGHT APPLE key, Sun®RIGHT META key.