0% found this document useful (0 votes)
36 views8 pages

Keyboard Helper

The document outlines the USB HID Usage Tables specifically for the Keyboard/Keypad Page (0x07), detailing the usage codes for various keys on a USB keyboard. It emphasizes that while key mappings may vary by language, the closest equivalent key position should be used to accommodate different languages without changing the keyboard firmware. The document includes a comprehensive table of usage IDs and their corresponding key functions, ensuring compatibility across different keyboard layouts.

Uploaded by

fatkhan akbar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
36 views8 pages

Keyboard Helper

The document outlines the USB HID Usage Tables specifically for the Keyboard/Keypad Page (0x07), detailing the usage codes for various keys on a USB keyboard. It emphasizes that while key mappings may vary by language, the closest equivalent key position should be used to accommodate different languages without changing the keyboard firmware. The document includes a comprehensive table of usage IDs and their corresponding key functions, ensuring compatibility across different keyboard layouts.

Uploaded by

fatkhan akbar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

Ref:- https://www.usb.org/sites/default/files/documents/hid1_11.

pdf

https://www.usb.org/sites/default/files/documents/hut1_12v2.pdf
Universal Serial Bus HID Usage Tables 53

10 Keyboard/Keypad Page (0x07)


This section is the Usage Page for key codes to be used in implementing a USB keyboard. A Boot Keyboard
(84-, 101- or 104-key) should at a minimum support all associated usage codes as indicated in the “Boot”
column below.
The usage type of all key codes is Selectors (Sel), except for the modifier keys Keyboard Left Control
(0x224) to Keyboard Right GUI (0x231) which are Dynamic Flags (DV).

Note A general note on Usages and languages: Due to the variation of keyboards from language
to language, it is not feasible to specify exact key mappings for every language. Where this list is not
specific for a key function in a language, the closest equivalent key position should be used, so that a
keyboard may be modified for a different language by simply printing different keycaps. One example
is the Y key on a North American keyboard. In Germany this is typically Z. Rather than changing the
keyboard firmware to put the Z Usage into that place in the descriptor list, the vendor should use the Y
Usage on both the North American and German keyboards. This continues to be the existing practice in
the industry, in order to minimize the number of changes to the electronics to accommodate other
languages.

Table 12: Keyboard/Keypad Page


Ref: Typical AT-101
Usage ID Usage ID Usage Name Position PC- Mac UNI Boot
(Dec) (Hex) AT X
0 00 Reserved (no event indicated) 9 N/A √ √ √ 4/101/104
1 01 Keyboard ErrorRollOver 9 N/A √ √ √ 4/101/104
2 02 Keyboard POSTFail 9 N/A √ √ √ 4/101/104
3 03 Keyboard ErrorUndefined 9 N/A √ √ √ 4/101/104
4 04 Keyboard a and A 4 31 √ √ √ 4/101/104
5 05 Keyboard b and B 50 √ √ √ 4/101/104
6 06 Keyboard c and C 4 48 √ √ √ 4/101/104
7 07 Keyboard d and D 33 √ √ √ 4/101/104
8 08 Keyboard e and E 19 √ √ √ 4/101/104
9 09 Keyboard f and F 34 √ √ √ 4/101/104
10 0A Keyboard g and G 35 √ √ √ 4/101/104
11 0B Keyboard h and H 36 √ √ √ 4/101/104
12 0C Keyboard i and I 24 √ √ √ 4/101/104
13 0D Keyboard j and J 37 √ √ √ 4/101/104
14 0E Keyboard k and K 38 √ √ √ 4/101/104
15 0F Keyboard l and L 39 √ √ √ 4/101/104
16 10 Keyboard m and M 4 52 √ √ √ 4/101/104
17 11 Keyboard n and N 51 √ √ √ 4/101/104
18 12 Keyboard o and O 4 25 √ √ √ 4/101/104
19 13 Keyboard p and P 4 26 √ √ √ 4/101/104
20 14 Keyboard q and Q 4 17 √ √ √ 4/101/104

Version 1.12 October 21, 2004


54 Universal Serial Bus HID Usage Tables

Ref: Typical AT-101


Usage ID Usage ID Usage Name Position PC- Mac UNI Boot
(Dec) (Hex) AT X

21 15 Keyboard r and R 20 √ √ √ 4/101/104


22 16 Keyboard s and S 4 32 √ √ √ 4/101/104
23 17 Keyboard t and T 21 √ √ √ 4/101/104
24 18 Keyboard u and U 23 √ √ √ 4/101/104
25 19 Keyboard v and V 49 √ √ √ 4/101/104
26 1A Keyboard w and W 4 18 √ √ √ 4/101/104
27 1B Keyboard x and X 4 47 √ √ √ 4/101/104
28 1C Keyboard y and Y 4 22 √ √ √ 4/101/104
29 1D Keyboard z and Z 4 46 √ √ √ 4/101/104
30 1E Keyboard 1 and ! 4 2 √ √ √ 4/101/104
31 1F Keyboard 2 and @ 4 3 √ √ √ 4/101/104
32 20 Keyboard 3 and # 4 4 √ √ √ 4/101/104
33 21 Keyboard 4 and $ 4 5 √ √ √ 4/101/104
34 22 Keyboard 5 and % 4 6 √ √ √ 4/101/104
35 23 Keyboard 6 and ^ 4 7 √ √ √ 4/101/104
36 24 Keyboard 7 and & 4 8 √ √ √ 4/101/104
37 25 Keyboard 8 and * 4 9 √ √ √ 4/101/104
38 26 Keyboard 9 and ( 4 10 √ √ √ 4/101/104
39 27 Keyboard 0 and ) 4 11 √ √ √ 4/101/104
40 28 Keyboard Return (ENTER) 5 43 √ √ √ 4/101/104
41 29 Keyboard ESCAPE 110 √ √ √ 4/101/104
42 2A Keyboard DELETE (Backspace) 13 15 √ √ √ 4/101/104
43 2B Keyboard Tab 16 √ √ √ 4/101/104
44 2C Keyboard Spacebar 61 √ √ √ 4/101/104
45 2D Keyboard - and (underscore) 4 12 √ √ √ 4/101/104
46 2E Keyboard = and + 4 13 √ √ √ 4/101/104
47 2F Keyboard [ and { 4 27 √ √ √ 4/101/104
48 30 Keyboard ] and } 4 28 √ √ √ 4/101/104
49 31 Keyboard \ and | 29 √ √ √ 4/101/104
50 32 Keyboard Non-US # and ~ 2 42 √ √ √ 4/101/104
51 33 Keyboard ; and : 4 40 √ √ √ 4/101/104
52 34 Keyboard ‘ and “ 4 41 √ √ √ 4/101/104
53 35 Keyboard Grave Accent and Tilde 4 1 √ √ √ 4/101/104
54 36 Keyboard, and < 4 53 √ √ √ 4/101/104
55 37 Keyboard . and > 4 54 √ √ √ 4/101/104
56 38 Keyboard / and ? 4 55 √ √ √ 4/101/104
57 39 Keyboard Caps Lock 11 30 √ √ √ 4/101/104
58 3A Keyboard F1 112 √ √ √ 4/101/104

Version 1.12 October 28, 2004


Universal Serial Bus HID Usage Tables 55

Ref: Typical AT-101


Usage ID Usage ID Usage Name Position PC- Mac UNI Boot
(Dec) (Hex) AT X

59 3B Keyboard F2 113 √ √ √ 4/101/104


60 3C Keyboard F3 114 √ √ √ 4/101/104
61 3D Keyboard F4 115 √ √ √ 4/101/104
62 3E Keyboard F5 116 √ √ √ 4/101/104
63 3F Keyboard F6 117 √ √ √ 4/101/104
64 40 Keyboard F7 118 √ √ √ 4/101/104
65 41 Keyboard F8 119 √ √ √ 4/101/104
66 42 Keyboard F9 120 √ √ √ 4/101/104
67 43 Keyboard F10 121 √ √ √ 4/101/104
68 44 Keyboard F11 122 √ √ √ 101/104
69 45 Keyboard F12 123 √ √ √ 101/104
70 46 Keyboard PrintScree n1 124 √ √ √ 101/104
71 47 Keyboard Scroll Lock 11 125 √ √ √ 4/101/104
72 48 Keyboard Pause 1 126 √ √ √ 101/104
73 49 Keyboard Insert 1 75 √ √ √ 101/104
74 4A Keyboard Home 1 80 √ √ √ 101/104
75 4B Keyboard PageUp 1 85 √ √ √ 101/104
76 4C Keyboard Delete Forward 1;14 76 √ √ √ 101/104
77 4D Keyboard End 1 81 √ √ √ 101/104
78 4E Keyboard PageDown 1 86 √ √ √ 101/104
79 4F Keyboard RightArrow 1 89 √ √ √ 101/104
80 50 Keyboard LeftArrow 1 79 √ √ √ 101/104
81 51 Keyboard DownArrow 1 84 √ √ √ 101/104
82 52 Keyboard UpArrow 1 83 √ √ √ 101/104
83 53 Keypad Num Lock and Clear 11 90 √ √ √ 101/104
84 54 Keypad / 1 95 √ √ √ 101/104
85 55 Keypad * 100 √ √ √ 4/101/104
86 56 Keypad - 105 √ √ √ 4/101/104
87 57 Keypad + 106 √ √ √ 4/101/104
88 58 Keypad ENTER 5 108 √ √ √ 101/104
89 59 Keypad 1 and End 93 √ √ √ 4/101/104
90 5A Keypad 2 and Down Arrow 98 √ √ √ 4/101/104
91 5B Keypad 3 and PageDn 103 √ √ √ 4/101/104
92 5C Keypad 4 and Left Arrow 92 √ √ √ 4/101/104
93 5D Keypad 5 97 √ √ √ 4/101/104
94 5E Keypad 6 and Right Arrow 102 √ √ √ 4/101/104
95 5F Keypad 7 and Home 91 √ √ √ 4/101/104
96 60 Keypad 8 and Up Arrow 96 √ √ √ 4/101/104

Version 1.12 October 21, 2004


56 Universal Serial Bus HID Usage Tables

Ref: Typical AT-101


Usage ID Usage ID Usage Name Position PC- Mac UNI Boot
(Dec) (Hex) AT X

97 61 Keypad 9 and PageUp 101 √ √ √ 4/101/104


98 62 Keypad 0 and Insert 99 √ √ √ 4/101/104
99 63 Keypad . and Delete 104 √ √ √ 4/101/104
100 64 Keyboard Non-US \ and | 3;6 45 √ √ √ 4/101/104
101 65 Keyboard Application 10 129 √ √ 104
102 66 Keyboard Power 9 √ √
103 67 Keypad = √
104 68 Keyboard F13 √
105 69 Keyboard F14 √
106 6A Keyboard F15 √
107 6B Keyboard F16
108 6C Keyboard F17
109 6D Keyboard F18
110 6E Keyboard F19
111 6F Keyboard F20
112 70 Keyboard F21
113 71 Keyboard F22
114 72 Keyboard F23
115 73 Keyboard F24
116 74 Keyboard Execute √
117 75 Keyboard Help √
118 76 Keyboard Menu √
119 77 Keyboard Select √
120 78 Keyboard Stop √
121 79 Keyboard Again √
122 7A Keyboard Undo √
123 7B Keyboard Cut √
124 7C Keyboard Copy √
125 7D Keyboard Paste √
126 7E Keyboard Find √
127 7F Keyboard Mute √
128 80 Keyboard Volume Up √
129 81 Keyboard Volume Down √
130 82 Keyboard Locking Caps Lock 12 √
131 83 Keyboard Locking Num Lock 12 √
132 84 Keyboard Locking Scroll Lock 12 √
133 85 Keypad Comma 27 107
134 86 Keypad Equal Sign 29

Version 1.12 October 28, 2004


Universal Serial Bus HID Usage Tables 57

Ref: Typical AT-101


Usage ID Usage ID Usage Name Position PC- Mac UNI Boot
(Dec) (Hex) AT X

135 87 Keyboard International1 15,28 56


136 88 Keyboard International2 16
137 89 Keyboard International3 17
138 8A Keyboard International4 18
139 8B Keyboard International5 19
140 8C Keyboard International6 20
141 8D Keyboard International7 21
142 8E Keyboard International8 22
143 8F Keyboard International9 22
144 90 Keyboard LANG1 25
145 91 Keyboard LANG2 26
146 92 Keyboard LANG3 30
147 93 Keyboard LANG4 31
148 94 Keyboard LANG5 32
149 95 Keyboard LANG6 8
150 96 Keyboard LANG7 8
151 97 Keyboard LANG8 8
152 98 Keyboard LANG9 8
153 99 Keyboard Alternate Erase 7
154 9A Keyboard SysReq/Attention 1
155 9B Keyboard Cancel
156 9C Keyboard Clear
157 9D Keyboard Prior
158 9E Keyboard Return
159 9F Keyboard Separator
160 A0 Keyboard Out
161 A1 Keyboard Oper
162 A2 Keyboard Clear/Again
163 A3 Keyboard CrSel/Props
164 A4 Keyboard ExSel
165-175 A5-AF Reserved
176 B0 Keypad 00
177 B1 Keypad 000
178 B2 Thousands Separator 33
179 B3 Decimal Separator 33
180 B4 Currency Unit 34
181 B5 Currency Sub-unit 34
182 B6 Keypad (

Version 1.12 October 21, 2004


58 Universal Serial Bus HID Usage Tables

Ref: Typical AT-101


Usage ID Usage ID Usage Name Position PC- Mac UNI Boot
(Dec) (Hex) AT X

183 B7 Keypad )
184 B8 Keypad {
185 B9 Keypad }
186 BA Keypad Tab
187 BB Keypad Backspace
188 BC Keypad A
189 BD Keypad B
190 BE Keypad C
191 BF Keypad D
192 C0 Keypad E
193 C1 Keypad F
194 C2 Keypad XOR
195 C3 Keypad ^
196 C4 Keypad %
197 C5 Keypad <
198 C6 Keypad >
199 C7 Keypad &
200 C8 Keypad &&
201 C9 Keypad |
202 CA Keypad ||
203 CB Keypad :
204 CC Keypad #
205 CD Keypad Space
206 CE Keypad @
207 CF Keypad !
208 D0 Keypad Memory Store
209 D1 Keypad Memory Recall
210 D2 Keypad Memory Clear
211 D3 Keypad Memory Add
212 D4 Keypad Memory Subtract
213 D5 Keypad Memory Multiply
214 D6 Keypad Memory Divide
215 D7 Keypad +/-
216 D8 Keypad Clear
217 D9 Keypad Clear Entry
218 DA Keypad Binary
219 DB Keypad Octal
220 DC Keypad Decimal

Version 1.12 October 28, 2004


Universal Serial Bus HID Usage Tables 59

Ref: Typical AT-101


Usage ID Usage ID Usage Name Position PC- Mac UNI Boot
(Dec) (Hex) AT X

221 DD Keypad Hexadecimal


222-223 DE-DF Reserved
224 E0 Keyboard LeftControl 58 √ √ √ 4/101/104
225 E1 Keyboard LeftShift 44 √ √ √ 4/101/104
226 E2 Keyboard LeftAlt 60 √ √ √ 4/101/104
227 E3 Keyboard Left GUI 10;23 127 √ √ √ 104
228 E4 Keyboard RightControl 64 √ √ √ 101/104
229 E5 Keyboard RightShift 57 √ √ √ 4/101/104
230 E6 Keyboard RightAlt 62 √ √ √ 101/104
231 E7 Keyboard Right GUI 10;24 128 √ √ √ 104
232-65535 E8-FFFF Reserved

Footnotes 1-15, 20-34


1 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.
2 Typical language mappings: US: \| Belg: µ`£ FrCa: <}> Dan:’* Dutch: <> Fren:*µ Ger: #’ Ital: ù§ LatAm: }`] Nor:,*
Span: }Ç Swed: ,* Swiss: $£ UK: #~.
3 Typical language mappings: Belg:<\> FrCa:«°» Dan:<\> Dutch:]|[ Fren:<> Ger:<|> Ital:<> LatAm:<> Nor:<> Span:<>
Swed:<|> Swiss:<\> UK:\| Brazil: \|.
4 Typically remapped for other languages in the host system.
5 Keyboard Enter and Keypad Enter generate different Usage codes.
6 Typically near the Left-Shift key in AT-102 implementations.
7 Example, Erase-Eaze™ key.
8 Reserved for language-specific functions, such as Front End Processors and Input Method Editors.
9 Reserved for typical keyboard status or keyboard errors. Sent as a member of the keyboard array. Not a physical key.
10 Windows key for Windows 95, and “Compose.”
11 Implemented as a non-locking key; sent as member of an array.
12 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.
13 Backs up the cursor one position, deleting a character as it goes.
14 Deletes one character without changing position.
15-20 See additional foot notes below.

21 Toggle Double-Byte/Single-Byte mode.


22 Undefined, available for other Front End Language Processors.
23 Windowing environment key, examples are Microsoft Left Win key, Mac Left Apple key, Sun Left Meta key
24 Windowing environment key, examples are Microsoft ® RIGHT WIN key, Macintosh ® RIGHT APPLE key, Sun ® RIGHT
META key.
25 Hangul/English toggle key. This usage is used as an input method editor control key on a Korean language keyboard.
26 Hanja conversion key. This usage is used as an input method editor control key on a Korean language keyboard.
27 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.
28 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.

Version 1.12 October 21, 2004

You might also like