back up of work during May 2019

Dependencies:   microbit

Committer:
tht216
Date:
Wed Jun 05 15:21:14 2019 +0000
Branch:
class_implmentation
Revision:
6:f372773ad32f
Parent:
2:333ac2ff5045
TODO:; 1. multi keypresses; 2. integration

Who changed what in which revision?

UserRevisionLine numberNew contents of line
tht216 2:333ac2ff5045 1 /**
tht216 2:333ac2ff5045 2 https://gist.github.com/MightyPork/6da26e382a7ad91b5496ee55fdc73db2
tht216 2:333ac2ff5045 3 **/
tht216 2:333ac2ff5045 4
tht216 2:333ac2ff5045 5 /**
tht216 2:333ac2ff5045 6 * USB HID Keyboard scan codes as per USB spec 1.11
tht216 2:333ac2ff5045 7 * plus some additional codes
tht216 2:333ac2ff5045 8 *
tht216 2:333ac2ff5045 9 * Created by MightyPork, 2016
tht216 2:333ac2ff5045 10 * Public domain
tht216 2:333ac2ff5045 11 *
tht216 2:333ac2ff5045 12 * Adapted from:
tht216 2:333ac2ff5045 13 * https://source.android.com/devices/input/keyboard-devices.html
tht216 2:333ac2ff5045 14 */
tht216 2:333ac2ff5045 15
tht216 2:333ac2ff5045 16 #ifndef USB_HID_KEYS
tht216 2:333ac2ff5045 17 #define USB_HID_KEYS
tht216 2:333ac2ff5045 18
tht216 2:333ac2ff5045 19 /**
tht216 2:333ac2ff5045 20 * Modifier masks - used for the first byte in the HID report.
tht216 2:333ac2ff5045 21 * NOTE: The second byte in the report is reserved, 0x00
tht216 2:333ac2ff5045 22 */
tht216 2:333ac2ff5045 23 #define KEY_MOD_LCTRL 0x01
tht216 2:333ac2ff5045 24 #define KEY_MOD_LSHIFT 0x02
tht216 2:333ac2ff5045 25 #define KEY_MOD_LALT 0x04
tht216 2:333ac2ff5045 26 #define KEY_MOD_LMETA 0x08
tht216 2:333ac2ff5045 27 #define KEY_MOD_RCTRL 0x10
tht216 2:333ac2ff5045 28 #define KEY_MOD_RSHIFT 0x20
tht216 2:333ac2ff5045 29 #define KEY_MOD_RALT 0x40
tht216 2:333ac2ff5045 30 #define KEY_MOD_RMETA 0x80
tht216 2:333ac2ff5045 31
tht216 2:333ac2ff5045 32 /**
tht216 2:333ac2ff5045 33 * Scan codes - last N slots in the HID report (usually 6).
tht216 2:333ac2ff5045 34 * 0x00 if no key pressed.
tht216 2:333ac2ff5045 35 *
tht216 2:333ac2ff5045 36 * If more than N keys are pressed, the HID reports
tht216 2:333ac2ff5045 37 * KEY_ERR_OVF in all slots to indicate this condition.
tht216 2:333ac2ff5045 38 */
tht216 2:333ac2ff5045 39
tht216 2:333ac2ff5045 40 #define KEY_NONE 0x00 // No key pressed
tht216 2:333ac2ff5045 41 #define KEY_ERR_OVF 0x01 // Keyboard Error Roll Over - used for all slots if too many keys are pressed ("Phantom key")
tht216 2:333ac2ff5045 42 // 0x02 // Keyboard POST Fail
tht216 2:333ac2ff5045 43 // 0x03 // Keyboard Error Undefined
tht216 2:333ac2ff5045 44 #define KEY_A 0x04 // Keyboard a and A
tht216 2:333ac2ff5045 45 #define KEY_B 0x05 // Keyboard b and B
tht216 2:333ac2ff5045 46 #define KEY_C 0x06 // Keyboard c and C
tht216 2:333ac2ff5045 47 #define KEY_D 0x07 // Keyboard d and D
tht216 2:333ac2ff5045 48 #define KEY_E 0x08 // Keyboard e and E
tht216 2:333ac2ff5045 49 #define KEY_F 0x09 // Keyboard f and F
tht216 2:333ac2ff5045 50 #define KEY_G 0x0a // Keyboard g and G
tht216 2:333ac2ff5045 51 #define KEY_H 0x0b // Keyboard h and H
tht216 2:333ac2ff5045 52 #define KEY_I 0x0c // Keyboard i and I
tht216 2:333ac2ff5045 53 #define KEY_J 0x0d // Keyboard j and J
tht216 2:333ac2ff5045 54 #define KEY_K 0x0e // Keyboard k and K
tht216 2:333ac2ff5045 55 #define KEY_L 0x0f // Keyboard l and L
tht216 2:333ac2ff5045 56 #define KEY_M 0x10 // Keyboard m and M
tht216 2:333ac2ff5045 57 #define KEY_N 0x11 // Keyboard n and N
tht216 2:333ac2ff5045 58 #define KEY_O 0x12 // Keyboard o and O
tht216 2:333ac2ff5045 59 #define KEY_P 0x13 // Keyboard p and P
tht216 2:333ac2ff5045 60 #define KEY_Q 0x14 // Keyboard q and Q
tht216 2:333ac2ff5045 61 #define KEY_R 0x15 // Keyboard r and R
tht216 2:333ac2ff5045 62 #define KEY_S 0x16 // Keyboard s and S
tht216 2:333ac2ff5045 63 #define KEY_T 0x17 // Keyboard t and T
tht216 2:333ac2ff5045 64 #define KEY_U 0x18 // Keyboard u and U
tht216 2:333ac2ff5045 65 #define KEY_V 0x19 // Keyboard v and V
tht216 2:333ac2ff5045 66 #define KEY_W 0x1a // Keyboard w and W
tht216 2:333ac2ff5045 67 #define KEY_X 0x1b // Keyboard x and X
tht216 2:333ac2ff5045 68 #define KEY_Y 0x1c // Keyboard y and Y
tht216 2:333ac2ff5045 69 #define KEY_Z 0x1d // Keyboard z and Z
tht216 2:333ac2ff5045 70
tht216 2:333ac2ff5045 71 #define KEY_1 0x1e // Keyboard 1 and !
tht216 2:333ac2ff5045 72 #define KEY_2 0x1f // Keyboard 2 and @
tht216 2:333ac2ff5045 73 #define KEY_3 0x20 // Keyboard 3 and #
tht216 2:333ac2ff5045 74 #define KEY_4 0x21 // Keyboard 4 and $
tht216 2:333ac2ff5045 75 #define KEY_5 0x22 // Keyboard 5 and %
tht216 2:333ac2ff5045 76 #define KEY_6 0x23 // Keyboard 6 and ^
tht216 2:333ac2ff5045 77 #define KEY_7 0x24 // Keyboard 7 and &
tht216 2:333ac2ff5045 78 #define KEY_8 0x25 // Keyboard 8 and *
tht216 2:333ac2ff5045 79 #define KEY_9 0x26 // Keyboard 9 and (
tht216 2:333ac2ff5045 80 #define KEY_0 0x27 // Keyboard 0 and )
tht216 2:333ac2ff5045 81
tht216 2:333ac2ff5045 82 #define KEY_ENTER 0x28 // Keyboard Return (ENTER)
tht216 2:333ac2ff5045 83 #define KEY_ESC 0x29 // Keyboard ESCAPE
tht216 2:333ac2ff5045 84 #define KEY_BACKSPACE 0x2a // Keyboard DELETE (Backspace)
tht216 2:333ac2ff5045 85 #define KEY_TAB 0x2b // Keyboard Tab
tht216 2:333ac2ff5045 86 #define KEY_SPACE 0x2c // Keyboard Spacebar
tht216 2:333ac2ff5045 87 #define KEY_MINUS 0x2d // Keyboard - and _
tht216 2:333ac2ff5045 88 #define KEY_EQUAL 0x2e // Keyboard = and +
tht216 2:333ac2ff5045 89 #define KEY_LEFTBRACE 0x2f // Keyboard [ and {
tht216 2:333ac2ff5045 90 #define KEY_RIGHTBRACE 0x30 // Keyboard ] and }
tht216 2:333ac2ff5045 91 #define KEY_BACKSLASH 0x31 // Keyboard \ and |
tht216 2:333ac2ff5045 92 #define KEY_HASHTILDE 0x32 // Keyboard Non-US # and ~
tht216 2:333ac2ff5045 93 #define KEY_SEMICOLON 0x33 // Keyboard ; and :
tht216 2:333ac2ff5045 94 #define KEY_APOSTROPHE 0x34 // Keyboard ' and "
tht216 2:333ac2ff5045 95 #define KEY_GRAVE 0x35 // Keyboard ` and ~
tht216 2:333ac2ff5045 96 #define KEY_COMMA 0x36 // Keyboard , and <
tht216 2:333ac2ff5045 97 #define KEY_DOT 0x37 // Keyboard . and >
tht216 2:333ac2ff5045 98 #define KEY_SLASH 0x38 // Keyboard / and ?
tht216 2:333ac2ff5045 99 #define KEY_CAPSLOCK 0x39 // Keyboard Caps Lock
tht216 2:333ac2ff5045 100
tht216 2:333ac2ff5045 101 #define KEY_F1 0x3a // Keyboard F1
tht216 2:333ac2ff5045 102 #define KEY_F2 0x3b // Keyboard F2
tht216 2:333ac2ff5045 103 #define KEY_F3 0x3c // Keyboard F3
tht216 2:333ac2ff5045 104 #define KEY_F4 0x3d // Keyboard F4
tht216 2:333ac2ff5045 105 #define KEY_F5 0x3e // Keyboard F5
tht216 2:333ac2ff5045 106 #define KEY_F6 0x3f // Keyboard F6
tht216 2:333ac2ff5045 107 #define KEY_F7 0x40 // Keyboard F7
tht216 2:333ac2ff5045 108 #define KEY_F8 0x41 // Keyboard F8
tht216 2:333ac2ff5045 109 #define KEY_F9 0x42 // Keyboard F9
tht216 2:333ac2ff5045 110 #define KEY_F10 0x43 // Keyboard F10
tht216 2:333ac2ff5045 111 #define KEY_F11 0x44 // Keyboard F11
tht216 2:333ac2ff5045 112 #define KEY_F12 0x45 // Keyboard F12
tht216 2:333ac2ff5045 113
tht216 2:333ac2ff5045 114 #define KEY_SYSRQ 0x46 // Keyboard Print Screen
tht216 2:333ac2ff5045 115 #define KEY_SCROLLLOCK 0x47 // Keyboard Scroll Lock
tht216 2:333ac2ff5045 116 #define KEY_PAUSE 0x48 // Keyboard Pause
tht216 2:333ac2ff5045 117 #define KEY_INSERT 0x49 // Keyboard Insert
tht216 2:333ac2ff5045 118 #define KEY_HOME 0x4a // Keyboard Home
tht216 2:333ac2ff5045 119 #define KEY_PAGEUP 0x4b // Keyboard Page Up
tht216 2:333ac2ff5045 120 #define KEY_DELETE 0x4c // Keyboard Delete Forward
tht216 2:333ac2ff5045 121 #define KEY_END 0x4d // Keyboard End
tht216 2:333ac2ff5045 122 #define KEY_PAGEDOWN 0x4e // Keyboard Page Down
tht216 2:333ac2ff5045 123 #define KEY_RIGHT 0x4f // Keyboard Right Arrow
tht216 2:333ac2ff5045 124 #define KEY_LEFT 0x50 // Keyboard Left Arrow
tht216 2:333ac2ff5045 125 #define KEY_DOWN 0x51 // Keyboard Down Arrow
tht216 2:333ac2ff5045 126 #define KEY_UP 0x52 // Keyboard Up Arrow
tht216 2:333ac2ff5045 127
tht216 2:333ac2ff5045 128 #define KEY_NUMLOCK 0x53 // Keyboard Num Lock and Clear
tht216 2:333ac2ff5045 129 #define KEY_KPSLASH 0x54 // Keypad /
tht216 2:333ac2ff5045 130 #define KEY_KPASTERISK 0x55 // Keypad *
tht216 2:333ac2ff5045 131 #define KEY_KPMINUS 0x56 // Keypad -
tht216 2:333ac2ff5045 132 #define KEY_KPPLUS 0x57 // Keypad +
tht216 2:333ac2ff5045 133 #define KEY_KPENTER 0x58 // Keypad ENTER
tht216 2:333ac2ff5045 134 #define KEY_KP1 0x59 // Keypad 1 and End
tht216 2:333ac2ff5045 135 #define KEY_KP2 0x5a // Keypad 2 and Down Arrow
tht216 2:333ac2ff5045 136 #define KEY_KP3 0x5b // Keypad 3 and PageDn
tht216 2:333ac2ff5045 137 #define KEY_KP4 0x5c // Keypad 4 and Left Arrow
tht216 2:333ac2ff5045 138 #define KEY_KP5 0x5d // Keypad 5
tht216 2:333ac2ff5045 139 #define KEY_KP6 0x5e // Keypad 6 and Right Arrow
tht216 2:333ac2ff5045 140 #define KEY_KP7 0x5f // Keypad 7 and Home
tht216 2:333ac2ff5045 141 #define KEY_KP8 0x60 // Keypad 8 and Up Arrow
tht216 2:333ac2ff5045 142 #define KEY_KP9 0x61 // Keypad 9 and Page Up
tht216 2:333ac2ff5045 143 #define KEY_KP0 0x62 // Keypad 0 and Insert
tht216 2:333ac2ff5045 144 #define KEY_KPDOT 0x63 // Keypad . and Delete
tht216 2:333ac2ff5045 145
tht216 2:333ac2ff5045 146 #define KEY_102ND 0x64 // Keyboard Non-US \ and |
tht216 2:333ac2ff5045 147 #define KEY_COMPOSE 0x65 // Keyboard Application
tht216 2:333ac2ff5045 148 #define KEY_POWER 0x66 // Keyboard Power
tht216 2:333ac2ff5045 149 #define KEY_KPEQUAL 0x67 // Keypad =
tht216 2:333ac2ff5045 150
tht216 2:333ac2ff5045 151 #define KEY_F13 0x68 // Keyboard F13
tht216 2:333ac2ff5045 152 #define KEY_F14 0x69 // Keyboard F14
tht216 2:333ac2ff5045 153 #define KEY_F15 0x6a // Keyboard F15
tht216 2:333ac2ff5045 154 #define KEY_F16 0x6b // Keyboard F16
tht216 2:333ac2ff5045 155 #define KEY_F17 0x6c // Keyboard F17
tht216 2:333ac2ff5045 156 #define KEY_F18 0x6d // Keyboard F18
tht216 2:333ac2ff5045 157 #define KEY_F19 0x6e // Keyboard F19
tht216 2:333ac2ff5045 158 #define KEY_F20 0x6f // Keyboard F20
tht216 2:333ac2ff5045 159 #define KEY_F21 0x70 // Keyboard F21
tht216 2:333ac2ff5045 160 #define KEY_F22 0x71 // Keyboard F22
tht216 2:333ac2ff5045 161 #define KEY_F23 0x72 // Keyboard F23
tht216 2:333ac2ff5045 162 #define KEY_F24 0x73 // Keyboard F24
tht216 2:333ac2ff5045 163
tht216 2:333ac2ff5045 164 #define KEY_OPEN 0x74 // Keyboard Execute
tht216 2:333ac2ff5045 165 #define KEY_HELP 0x75 // Keyboard Help
tht216 2:333ac2ff5045 166 #define KEY_PROPS 0x76 // Keyboard Menu
tht216 2:333ac2ff5045 167 #define KEY_FRONT 0x77 // Keyboard Select
tht216 2:333ac2ff5045 168 #define KEY_STOP 0x78 // Keyboard Stop
tht216 2:333ac2ff5045 169 #define KEY_AGAIN 0x79 // Keyboard Again
tht216 2:333ac2ff5045 170 #define KEY_UNDO 0x7a // Keyboard Undo
tht216 2:333ac2ff5045 171 #define KEY_CUT 0x7b // Keyboard Cut
tht216 2:333ac2ff5045 172 #define KEY_COPY 0x7c // Keyboard Copy
tht216 2:333ac2ff5045 173 #define KEY_PASTE 0x7d // Keyboard Paste
tht216 2:333ac2ff5045 174 #define KEY_FIND 0x7e // Keyboard Find
tht216 2:333ac2ff5045 175 #define KEY_MUTE 0x7f // Keyboard Mute
tht216 2:333ac2ff5045 176 #define KEY_VOLUMEUP 0x80 // Keyboard Volume Up
tht216 2:333ac2ff5045 177 #define KEY_VOLUMEDOWN 0x81 // Keyboard Volume Down
tht216 2:333ac2ff5045 178 // 0x82 Keyboard Locking Caps Lock
tht216 2:333ac2ff5045 179 // 0x83 Keyboard Locking Num Lock
tht216 2:333ac2ff5045 180 // 0x84 Keyboard Locking Scroll Lock
tht216 2:333ac2ff5045 181 #define KEY_KPCOMMA 0x85 // Keypad Comma
tht216 2:333ac2ff5045 182 // 0x86 Keypad Equal Sign
tht216 2:333ac2ff5045 183 #define KEY_RO 0x87 // Keyboard International1
tht216 2:333ac2ff5045 184 #define KEY_KATAKANAHIRAGANA 0x88 // Keyboard International2
tht216 2:333ac2ff5045 185 #define KEY_YEN 0x89 // Keyboard International3
tht216 2:333ac2ff5045 186 #define KEY_HENKAN 0x8a // Keyboard International4
tht216 2:333ac2ff5045 187 #define KEY_MUHENKAN 0x8b // Keyboard International5
tht216 2:333ac2ff5045 188 #define KEY_KPJPCOMMA 0x8c // Keyboard International6
tht216 2:333ac2ff5045 189 // 0x8d Keyboard International7
tht216 2:333ac2ff5045 190 // 0x8e Keyboard International8
tht216 2:333ac2ff5045 191 // 0x8f Keyboard International9
tht216 2:333ac2ff5045 192 #define KEY_HANGEUL 0x90 // Keyboard LANG1
tht216 2:333ac2ff5045 193 #define KEY_HANJA 0x91 // Keyboard LANG2
tht216 2:333ac2ff5045 194 #define KEY_KATAKANA 0x92 // Keyboard LANG3
tht216 2:333ac2ff5045 195 #define KEY_HIRAGANA 0x93 // Keyboard LANG4
tht216 2:333ac2ff5045 196 #define KEY_ZENKAKUHANKAKU 0x94 // Keyboard LANG5
tht216 2:333ac2ff5045 197 // 0x95 Keyboard LANG6
tht216 2:333ac2ff5045 198 // 0x96 Keyboard LANG7
tht216 2:333ac2ff5045 199 // 0x97 Keyboard LANG8
tht216 2:333ac2ff5045 200 // 0x98 Keyboard LANG9
tht216 2:333ac2ff5045 201 // 0x99 Keyboard Alternate Erase
tht216 2:333ac2ff5045 202 // 0x9a Keyboard SysReq/Attention
tht216 2:333ac2ff5045 203 // 0x9b Keyboard Cancel
tht216 2:333ac2ff5045 204 // 0x9c Keyboard Clear
tht216 2:333ac2ff5045 205 // 0x9d Keyboard Prior
tht216 2:333ac2ff5045 206 // 0x9e Keyboard Return
tht216 2:333ac2ff5045 207 // 0x9f Keyboard Separator
tht216 2:333ac2ff5045 208 // 0xa0 Keyboard Out
tht216 2:333ac2ff5045 209 // 0xa1 Keyboard Oper
tht216 2:333ac2ff5045 210 // 0xa2 Keyboard Clear/Again
tht216 2:333ac2ff5045 211 // 0xa3 Keyboard CrSel/Props
tht216 2:333ac2ff5045 212 // 0xa4 Keyboard ExSel
tht216 2:333ac2ff5045 213
tht216 2:333ac2ff5045 214 // 0xb0 Keypad 00
tht216 2:333ac2ff5045 215 // 0xb1 Keypad 000
tht216 2:333ac2ff5045 216 // 0xb2 Thousands Separator
tht216 2:333ac2ff5045 217 // 0xb3 Decimal Separator
tht216 2:333ac2ff5045 218 // 0xb4 Currency Unit
tht216 2:333ac2ff5045 219 // 0xb5 Currency Sub-unit
tht216 2:333ac2ff5045 220 #define KEY_KPLEFTPAREN 0xb6 // Keypad (
tht216 2:333ac2ff5045 221 #define KEY_KPRIGHTPAREN 0xb7 // Keypad )
tht216 2:333ac2ff5045 222 // 0xb8 Keypad {
tht216 2:333ac2ff5045 223 // 0xb9 Keypad }
tht216 2:333ac2ff5045 224 // 0xba Keypad Tab
tht216 2:333ac2ff5045 225 // 0xbb Keypad Backspace
tht216 2:333ac2ff5045 226 // 0xbc Keypad A
tht216 2:333ac2ff5045 227 // 0xbd Keypad B
tht216 2:333ac2ff5045 228 // 0xbe Keypad C
tht216 2:333ac2ff5045 229 // 0xbf Keypad D
tht216 2:333ac2ff5045 230 // 0xc0 Keypad E
tht216 2:333ac2ff5045 231 // 0xc1 Keypad F
tht216 2:333ac2ff5045 232 // 0xc2 Keypad XOR
tht216 2:333ac2ff5045 233 // 0xc3 Keypad ^
tht216 2:333ac2ff5045 234 // 0xc4 Keypad %
tht216 2:333ac2ff5045 235 // 0xc5 Keypad <
tht216 2:333ac2ff5045 236 // 0xc6 Keypad >
tht216 2:333ac2ff5045 237 // 0xc7 Keypad &
tht216 2:333ac2ff5045 238 // 0xc8 Keypad &&
tht216 2:333ac2ff5045 239 // 0xc9 Keypad |
tht216 2:333ac2ff5045 240 // 0xca Keypad ||
tht216 2:333ac2ff5045 241 // 0xcb Keypad :
tht216 2:333ac2ff5045 242 // 0xcc Keypad #
tht216 2:333ac2ff5045 243 // 0xcd Keypad Space
tht216 2:333ac2ff5045 244 // 0xce Keypad @
tht216 2:333ac2ff5045 245 // 0xcf Keypad !
tht216 2:333ac2ff5045 246 // 0xd0 Keypad Memory Store
tht216 2:333ac2ff5045 247 // 0xd1 Keypad Memory Recall
tht216 2:333ac2ff5045 248 // 0xd2 Keypad Memory Clear
tht216 2:333ac2ff5045 249 // 0xd3 Keypad Memory Add
tht216 2:333ac2ff5045 250 // 0xd4 Keypad Memory Subtract
tht216 2:333ac2ff5045 251 // 0xd5 Keypad Memory Multiply
tht216 2:333ac2ff5045 252 // 0xd6 Keypad Memory Divide
tht216 2:333ac2ff5045 253 // 0xd7 Keypad +/-
tht216 2:333ac2ff5045 254 // 0xd8 Keypad Clear
tht216 2:333ac2ff5045 255 // 0xd9 Keypad Clear Entry
tht216 2:333ac2ff5045 256 // 0xda Keypad Binary
tht216 2:333ac2ff5045 257 // 0xdb Keypad Octal
tht216 2:333ac2ff5045 258 // 0xdc Keypad Decimal
tht216 2:333ac2ff5045 259 // 0xdd Keypad Hexadecimal
tht216 2:333ac2ff5045 260
tht216 2:333ac2ff5045 261 #define KEY_LEFTCTRL 0xe0 // Keyboard Left Control
tht216 2:333ac2ff5045 262 #define KEY_LEFTSHIFT 0xe1 // Keyboard Left Shift
tht216 2:333ac2ff5045 263 #define KEY_LEFTALT 0xe2 // Keyboard Left Alt
tht216 2:333ac2ff5045 264 #define KEY_LEFTMETA 0xe3 // Keyboard Left GUI
tht216 2:333ac2ff5045 265 #define KEY_RIGHTCTRL 0xe4 // Keyboard Right Control
tht216 2:333ac2ff5045 266 #define KEY_RIGHTSHIFT 0xe5 // Keyboard Right Shift
tht216 2:333ac2ff5045 267 #define KEY_RIGHTALT 0xe6 // Keyboard Right Alt
tht216 2:333ac2ff5045 268 #define KEY_RIGHTMETA 0xe7 // Keyboard Right GUI
tht216 2:333ac2ff5045 269
tht216 2:333ac2ff5045 270 #define KEY_MEDIA_PLAYPAUSE 0xe8
tht216 2:333ac2ff5045 271 #define KEY_MEDIA_STOPCD 0xe9
tht216 2:333ac2ff5045 272 #define KEY_MEDIA_PREVIOUSSONG 0xea
tht216 2:333ac2ff5045 273 #define KEY_MEDIA_NEXTSONG 0xeb
tht216 2:333ac2ff5045 274 #define KEY_MEDIA_EJECTCD 0xec
tht216 2:333ac2ff5045 275 #define KEY_MEDIA_VOLUMEUP 0xed
tht216 2:333ac2ff5045 276 #define KEY_MEDIA_VOLUMEDOWN 0xee
tht216 2:333ac2ff5045 277 #define KEY_MEDIA_MUTE 0xef
tht216 2:333ac2ff5045 278 #define KEY_MEDIA_WWW 0xf0
tht216 2:333ac2ff5045 279 #define KEY_MEDIA_BACK 0xf1
tht216 2:333ac2ff5045 280 #define KEY_MEDIA_FORWARD 0xf2
tht216 2:333ac2ff5045 281 #define KEY_MEDIA_STOP 0xf3
tht216 2:333ac2ff5045 282 #define KEY_MEDIA_FIND 0xf4
tht216 2:333ac2ff5045 283 #define KEY_MEDIA_SCROLLUP 0xf5
tht216 2:333ac2ff5045 284 #define KEY_MEDIA_SCROLLDOWN 0xf6
tht216 2:333ac2ff5045 285 #define KEY_MEDIA_EDIT 0xf7
tht216 2:333ac2ff5045 286 #define KEY_MEDIA_SLEEP 0xf8
tht216 2:333ac2ff5045 287 #define KEY_MEDIA_COFFEE 0xf9
tht216 2:333ac2ff5045 288 #define KEY_MEDIA_REFRESH 0xfa
tht216 2:333ac2ff5045 289 #define KEY_MEDIA_CALC 0xfb
tht216 2:333ac2ff5045 290
tht216 2:333ac2ff5045 291 #endif // USB_HID_KEYS