back up of work during May 2019
Dependencies: microbit
BLE_HID/keymap.h@6:f372773ad32f, 2019-06-05 (annotated)
- 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?
User | Revision | Line number | New 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 |