Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
hid_keys.h
00001 #ifndef USB_HID_KEYBOARD_H 00002 #define USB_HID_KEYBOARD_H 00003 00004 /* Placed in the public domain by its author, Ian Harvey */ 00005 00006 /* Modifier key bit values */ 00007 00008 #define MODBIT_LEFT_CTRL 0x01 00009 #define MODBIT_LEFT_SHIFT 0x02 00010 #define MODBIT_LEFT_ALT 0x04 00011 #define MODBIT_LEFT_GUI 0x08 00012 #define MODBIT_RIGHT_CTRL 0x10 00013 #define MODBIT_RIGHT_SHIFT 0x20 00014 #define MODBIT_RIGHT_ALT 0x40 00015 #define MODBIT_RIGHT_GUI 0x80 00016 00017 /* From USB HID Usage Tables Version 1.12, Section 10 */ 00018 00019 #define KEY_NONE 0 00020 #define KEY_ErrorRollOver 1 00021 #define KEY_POSTFail 2 00022 #define KEY_ErrorUndefined 3 00023 #define KEY_A 4 00024 #define KEY_B 5 00025 #define KEY_C 6 00026 #define KEY_D 7 00027 #define KEY_E 8 00028 #define KEY_F 9 00029 #define KEY_G 10 00030 #define KEY_H 11 00031 #define KEY_I 12 00032 #define KEY_J 13 00033 #define KEY_K 14 00034 #define KEY_L 15 00035 #define KEY_M 16 00036 #define KEY_N 17 00037 #define KEY_O 18 00038 #define KEY_P 19 00039 #define KEY_Q 20 00040 #define KEY_R 21 00041 #define KEY_S 22 00042 #define KEY_T 23 00043 #define KEY_U 24 00044 #define KEY_V 25 00045 #define KEY_W 26 00046 #define KEY_X 27 00047 #define KEY_Y 28 00048 #define KEY_Z 29 00049 #define KEY_1 30 00050 #define KEY_2 31 00051 #define KEY_3 32 00052 #define KEY_4 33 00053 #define KEY_5 34 00054 #define KEY_6 35 00055 #define KEY_7 36 00056 #define KEY_8 37 00057 #define KEY_9 38 00058 #define KEY_0 39 00059 00060 #define KEY_ENTER 40 00061 #define KEY_ESC 41 00062 #define KEY_BACKSPACE 42 00063 #define KEY_TAB 43 00064 #define KEY_SPACE 44 00065 #define KEY_MINUS 45 /* And underscore */ 00066 #define KEY_EQUALS 46 /* And plus */ 00067 #define KEY_OPEN_SQUARE 47 /* And open-curly-bracket */ 00068 #define KEY_CLOSE_SQUARE 48 /* And close-curly-bracket */ 00069 #define KEY_BACKSLASH 49 00070 #define KEY_HASH_TILDE 50 00071 #define KEY_SEMICOLON 51 00072 #define KEY_SINGLE_QUOTE 52 00073 #define KEY_BACKTICK_TILDE 53 00074 #define KEY_COMMA 54 /* And less-than */ 00075 #define KEY_PERIOD 55 /* And greater-than */ 00076 #define KEY_SLASH 56 /* And question-mark */ 00077 #define KEY_CAPS_LOCK 57 00078 00079 #define KEY_F1 58 00080 #define KEY_F2 59 00081 #define KEY_F3 60 00082 #define KEY_F4 61 00083 #define KEY_F5 62 00084 #define KEY_F6 63 00085 #define KEY_F7 64 00086 #define KEY_F8 65 00087 #define KEY_F9 66 00088 #define KEY_F10 67 00089 #define KEY_F11 68 00090 #define KEY_F12 69 00091 00092 #define KEY_PRINT_SCREEN 70 00093 #define KEY_SCROLL_LOCK 71 00094 #define KEY_PAUSE 72 00095 #define KEY_INSERT 73 00096 #define KEY_HOME 74 00097 #define KEY_PAGE_UP 75 00098 #define KEY_DELETE 76 /* i.e. forward delete */ 00099 #define KEY_END 77 00100 #define KEY_PAGE_DOWN 78 00101 #define KEY_RIGHT_ARROW 79 00102 #define KEY_LEFT_ARROW 80 00103 #define KEY_DOWN_ARROW 81 00104 #define KEY_UP_ARROW 82 00105 00106 /* TODO: keypad codes */ 00107 00108 #define KEY_LEFT_CTRL 0xE0 00109 #define KEY_LEFT_SHIFT 0xE1 00110 #define KEY_LEFT_ALT 0xE2 00111 #define KEY_LEFT_GUI 0xE3 00112 #define KEY_RIGHT_CTRL 0xE4 00113 #define KEY_RIGHT_SHIFT 0xE5 00114 #define KEY_RIGHT_ALT 0xE6 00115 #define KEY_RIGHT_GUI 0xE7 00116 00117 #define KEY_MODIFIERS_START 0xE0 00118 #define KEY_MODIFIERS_END 0xE7 00119 #define IS_MODIFIER(key) ((key) >= KEY_MODIFIERS_START && (key) <= KEY_MODIFIERS_END) 00120 #define MODIFIER_BIT(key) (1 << ((key)-KEY_MODIFIERS_START)) 00121 00122 00123 00124 #endif /* USB_HID_KEYBOARD_H */ 00125 #ifndef USB_HID_KEYBOARD_H 00126 #define USB_HID_KEYBOARD_H 00127 00128 /* Modifier key bit values */ 00129 00130 #define MODBIT_LEFT_CTRL 0x01 00131 #define MODBIT_LEFT_SHIFT 0x02 00132 #define MODBIT_LEFT_ALT 0x04 00133 #define MODBIT_LEFT_GUI 0x08 00134 #define MODBIT_RIGHT_CTRL 0x10 00135 #define MODBIT_RIGHT_SHIFT 0x20 00136 #define MODBIT_RIGHT_ALT 0x40 00137 #define MODBIT_RIGHT_GUI 0x80 00138 00139 /* From USB HID Usage Tables Version 1.12, Section 10 */ 00140 00141 #define KEY_NONE 0 00142 #define KEY_ErrorRollOver 1 00143 #define KEY_POSTFail 2 00144 #define KEY_ErrorUndefined 3 00145 #define KEY_A 4 00146 #define KEY_B 5 00147 #define KEY_C 6 00148 #define KEY_D 7 00149 #define KEY_E 8 00150 #define KEY_F 9 00151 #define KEY_G 10 00152 #define KEY_H 11 00153 #define KEY_I 12 00154 #define KEY_J 13 00155 #define KEY_K 14 00156 #define KEY_L 15 00157 #define KEY_M 16 00158 #define KEY_N 17 00159 #define KEY_O 18 00160 #define KEY_P 19 00161 #define KEY_Q 20 00162 #define KEY_R 21 00163 #define KEY_S 22 00164 #define KEY_T 23 00165 #define KEY_U 24 00166 #define KEY_V 25 00167 #define KEY_W 26 00168 #define KEY_X 27 00169 #define KEY_Y 28 00170 #define KEY_Z 29 00171 #define KEY_1 30 00172 #define KEY_2 31 00173 #define KEY_3 32 00174 #define KEY_4 33 00175 #define KEY_5 34 00176 #define KEY_6 35 00177 #define KEY_7 36 00178 #define KEY_8 37 00179 #define KEY_9 38 00180 #define KEY_0 39 00181 00182 #define KEY_ENTER 40 00183 #define KEY_ESC 41 00184 #define KEY_BACKSPACE 42 00185 #define KEY_TAB 43 00186 #define KEY_SPACE 44 00187 #define KEY_MINUS 45 /* And underscore */ 00188 #define KEY_EQUALS 46 /* And plus */ 00189 #define KEY_OPEN_SQUARE 47 /* And open-curly-bracket */ 00190 #define KEY_CLOSE_SQUARE 48 /* And close-curly-bracket */ 00191 #define KEY_BACKSLASH 49 00192 #define KEY_HASH_TILDE 50 00193 #define KEY_SEMICOLON 51 00194 #define KEY_SINGLE_QUOTE 52 00195 #define KEY_BACKTICK_TILDE 53 00196 #define KEY_COMMA 54 /* And less-than */ 00197 #define KEY_PERIOD 55 /* And greater-than */ 00198 #define KEY_SLASH 56 /* And question-mark */ 00199 #define KEY_CAPS_LOCK 57 00200 00201 #define KEY_F1 58 00202 #define KEY_F2 59 00203 #define KEY_F3 60 00204 #define KEY_F4 61 00205 #define KEY_F5 62 00206 #define KEY_F6 63 00207 #define KEY_F7 64 00208 #define KEY_F8 65 00209 #define KEY_F9 66 00210 #define KEY_F10 67 00211 #define KEY_F11 68 00212 #define KEY_F12 69 00213 00214 #define KEY_PRINT_SCREEN 70 00215 #define KEY_SCROLL_LOCK 71 00216 #define KEY_PAUSE 72 00217 #define KEY_INSERT 73 00218 #define KEY_HOME 74 00219 #define KEY_PAGE_UP 75 00220 #define KEY_DELETE 76 /* i.e. forward delete */ 00221 #define KEY_END 77 00222 #define KEY_PAGE_DOWN 78 00223 #define KEY_RIGHT_ARROW 79 00224 #define KEY_LEFT_ARROW 80 00225 #define KEY_DOWN_ARROW 81 00226 #define KEY_UP_ARROW 82 00227 00228 /* TODO: keypad codes */ 00229 00230 #define KEY_LEFT_CTRL 0xE0 00231 #define KEY_LEFT_SHIFT 0xE1 00232 #define KEY_LEFT_ALT 0xE2 00233 #define KEY_LEFT_GUI 0xE3 00234 #define KEY_RIGHT_CTRL 0xE4 00235 #define KEY_RIGHT_SHIFT 0xE5 00236 #define KEY_RIGHT_ALT 0xE6 00237 #define KEY_RIGHT_GUI 0xE7 00238 00239 #define KEY_MODIFIERS_START 0xE0 00240 #define KEY_MODIFIERS_END 0xE7 00241 #define IS_MODIFIER(key) ((key) >= KEY_MODIFIERS_START && (key) <= KEY_MODIFIERS_END) 00242 #define MODIFIER_BIT(key) (1 << ((key)-KEY_MODIFIERS_START)) 00243 00244 00245 00246 #endif /* USB_HID_KEYBOARD_H */ 00247 #ifndef USB_HID_KEYBOARD_H 00248 #define USB_HID_KEYBOARD_H 00249 00250 /* Modifier key bit values */ 00251 00252 #define MODBIT_LEFT_CTRL 0x01 00253 #define MODBIT_LEFT_SHIFT 0x02 00254 #define MODBIT_LEFT_ALT 0x04 00255 #define MODBIT_LEFT_GUI 0x08 00256 #define MODBIT_RIGHT_CTRL 0x10 00257 #define MODBIT_RIGHT_SHIFT 0x20 00258 #define MODBIT_RIGHT_ALT 0x40 00259 #define MODBIT_RIGHT_GUI 0x80 00260 00261 /* From USB HID Usage Tables Version 1.12, Section 10 */ 00262 00263 #define KEY_NONE 0 00264 #define KEY_ErrorRollOver 1 00265 #define KEY_POSTFail 2 00266 #define KEY_ErrorUndefined 3 00267 #define KEY_A 4 00268 #define KEY_B 5 00269 #define KEY_C 6 00270 #define KEY_D 7 00271 #define KEY_E 8 00272 #define KEY_F 9 00273 #define KEY_G 10 00274 #define KEY_H 11 00275 #define KEY_I 12 00276 #define KEY_J 13 00277 #define KEY_K 14 00278 #define KEY_L 15 00279 #define KEY_M 16 00280 #define KEY_N 17 00281 #define KEY_O 18 00282 #define KEY_P 19 00283 #define KEY_Q 20 00284 #define KEY_R 21 00285 #define KEY_S 22 00286 #define KEY_T 23 00287 #define KEY_U 24 00288 #define KEY_V 25 00289 #define KEY_W 26 00290 #define KEY_X 27 00291 #define KEY_Y 28 00292 #define KEY_Z 29 00293 #define KEY_1 30 00294 #define KEY_2 31 00295 #define KEY_3 32 00296 #define KEY_4 33 00297 #define KEY_5 34 00298 #define KEY_6 35 00299 #define KEY_7 36 00300 #define KEY_8 37 00301 #define KEY_9 38 00302 #define KEY_0 39 00303 00304 #define KEY_ENTER 40 00305 #define KEY_ESC 41 00306 #define KEY_BACKSPACE 42 00307 #define KEY_TAB 43 00308 #define KEY_SPACE 44 00309 #define KEY_MINUS 45 /* And underscore */ 00310 #define KEY_EQUALS 46 /* And plus */ 00311 #define KEY_OPEN_SQUARE 47 /* And open-curly-bracket */ 00312 #define KEY_CLOSE_SQUARE 48 /* And close-curly-bracket */ 00313 #define KEY_BACKSLASH 49 00314 #define KEY_HASH_TILDE 50 00315 #define KEY_SEMICOLON 51 00316 #define KEY_SINGLE_QUOTE 52 00317 #define KEY_BACKTICK_TILDE 53 00318 #define KEY_COMMA 54 /* And less-than */ 00319 #define KEY_PERIOD 55 /* And greater-than */ 00320 #define KEY_SLASH 56 /* And question-mark */ 00321 #define KEY_CAPS_LOCK 57 00322 00323 #define KEY_F1 58 00324 #define KEY_F2 59 00325 #define KEY_F3 60 00326 #define KEY_F4 61 00327 #define KEY_F5 62 00328 #define KEY_F6 63 00329 #define KEY_F7 64 00330 #define KEY_F8 65 00331 #define KEY_F9 66 00332 #define KEY_F10 67 00333 #define KEY_F11 68 00334 #define KEY_F12 69 00335 00336 #define KEY_PRINT_SCREEN 70 00337 #define KEY_SCROLL_LOCK 71 00338 #define KEY_PAUSE 72 00339 #define KEY_INSERT 73 00340 #define KEY_HOME 74 00341 #define KEY_PAGE_UP 75 00342 #define KEY_DELETE 76 /* i.e. forward delete */ 00343 #define KEY_END 77 00344 #define KEY_PAGE_DOWN 78 00345 #define KEY_RIGHT_ARROW 79 00346 #define KEY_LEFT_ARROW 80 00347 #define KEY_DOWN_ARROW 81 00348 #define KEY_UP_ARROW 82 00349 00350 /* TODO: keypad codes */ 00351 00352 #define KEY_LEFT_CTRL 0xE0 00353 #define KEY_LEFT_SHIFT 0xE1 00354 #define KEY_LEFT_ALT 0xE2 00355 #define KEY_LEFT_GUI 0xE3 00356 #define KEY_RIGHT_CTRL 0xE4 00357 #define KEY_RIGHT_SHIFT 0xE5 00358 #define KEY_RIGHT_ALT 0xE6 00359 #define KEY_RIGHT_GUI 0xE7 00360 00361 #define KEY_MODIFIERS_START 0xE0 00362 #define KEY_MODIFIERS_END 0xE7 00363 #define IS_MODIFIER(key) ((key) >= KEY_MODIFIERS_START && (key) <= KEY_MODIFIERS_END) 00364 #define MODIFIER_BIT(key) (1 << ((key)-KEY_MODIFIERS_START)) 00365 00366 00367 00368 #endif /* USB_HID_KEYBOARD_H */
Generated on Fri Aug 19 2022 00:54:31 by
1.7.2