Ian Harvey / Mbed 2 deprecated electron_kbd

Dependencies:   USBDevice mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers hid_keys.h Source File

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 */