back up of work during May 2019

Dependencies:   microbit

Committer:
xx316
Date:
Fri May 31 20:53:51 2019 +0000
Revision:
1:c840c2b6f490
This is the program for bit_board, an accessory developed by a group of Imperial EEE students for MicroBit. This is the first commit to backup the work in May 2019.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
xx316 1:c840c2b6f490 1 /* Copyright (c) 2015 mbed.org, MIT License
xx316 1:c840c2b6f490 2 *
xx316 1:c840c2b6f490 3 * Permission is hereby granted, free of charge, to any person obtaining a copy of this software
xx316 1:c840c2b6f490 4 * and associated documentation files (the "Software"), to deal in the Software without
xx316 1:c840c2b6f490 5 * restriction, including without limitation the rights to use, copy, modify, merge, publish,
xx316 1:c840c2b6f490 6 * distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the
xx316 1:c840c2b6f490 7 * Software is furnished to do so, subject to the following conditions:
xx316 1:c840c2b6f490 8 *
xx316 1:c840c2b6f490 9 * The above copyright notice and this permission notice shall be included in all copies or
xx316 1:c840c2b6f490 10 * substantial portions of the Software.
xx316 1:c840c2b6f490 11 *
xx316 1:c840c2b6f490 12 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
xx316 1:c840c2b6f490 13 * BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
xx316 1:c840c2b6f490 14 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
xx316 1:c840c2b6f490 15 * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
xx316 1:c840c2b6f490 16 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
xx316 1:c840c2b6f490 17 *
xx316 1:c840c2b6f490 18 * Note: this file was pulled from different parts of the USBHID library, in mbed SDK
xx316 1:c840c2b6f490 19 */
xx316 1:c840c2b6f490 20
xx316 1:c840c2b6f490 21 #ifndef KEYBOARD_DEFS_H
xx316 1:c840c2b6f490 22 #define KEYBOARD_DEFS_H
xx316 1:c840c2b6f490 23
xx316 1:c840c2b6f490 24 #define REPORT_ID_KEYBOARD 1
xx316 1:c840c2b6f490 25 #define REPORT_ID_VOLUME 3
xx316 1:c840c2b6f490 26
xx316 1:c840c2b6f490 27 /* Modifiers */
xx316 1:c840c2b6f490 28 enum MODIFIER_KEY {
xx316 1:c840c2b6f490 29 KEY_CTRL = 1,
xx316 1:c840c2b6f490 30 KEY_SHIFT = 2,
xx316 1:c840c2b6f490 31 KEY_ALT = 4,
xx316 1:c840c2b6f490 32 };
xx316 1:c840c2b6f490 33
xx316 1:c840c2b6f490 34
xx316 1:c840c2b6f490 35 enum MEDIA_KEY {
xx316 1:c840c2b6f490 36 KEY_NEXT_TRACK, /*!< next Track Button */
xx316 1:c840c2b6f490 37 KEY_PREVIOUS_TRACK, /*!< Previous track Button */
xx316 1:c840c2b6f490 38 KEY_STOP, /*!< Stop Button */
xx316 1:c840c2b6f490 39 KEY_PLAY_PAUSE, /*!< Play/Pause Button */
xx316 1:c840c2b6f490 40 KEY_MUTE, /*!< Mute Button */
xx316 1:c840c2b6f490 41 KEY_VOLUME_UP, /*!< Volume Up Button */
xx316 1:c840c2b6f490 42 KEY_VOLUME_DOWN, /*!< Volume Down Button */
xx316 1:c840c2b6f490 43 };
xx316 1:c840c2b6f490 44
xx316 1:c840c2b6f490 45 enum FUNCTION_KEY {
xx316 1:c840c2b6f490 46 KEY_F1 = 128, /* F1 key */
xx316 1:c840c2b6f490 47 KEY_F2, /* F2 key */
xx316 1:c840c2b6f490 48 KEY_F3, /* F3 key */
xx316 1:c840c2b6f490 49 KEY_F4, /* F4 key */
xx316 1:c840c2b6f490 50 KEY_F5, /* F5 key */
xx316 1:c840c2b6f490 51 KEY_F6, /* F6 key */
xx316 1:c840c2b6f490 52 KEY_F7, /* F7 key */
xx316 1:c840c2b6f490 53 KEY_F8, /* F8 key */
xx316 1:c840c2b6f490 54 KEY_F9, /* F9 key */
xx316 1:c840c2b6f490 55 KEY_F10, /* F10 key */
xx316 1:c840c2b6f490 56 KEY_F11, /* F11 key */
xx316 1:c840c2b6f490 57 KEY_F12, /* F12 key */
xx316 1:c840c2b6f490 58
xx316 1:c840c2b6f490 59 KEY_PRINT_SCREEN, /* Print Screen key */
xx316 1:c840c2b6f490 60 KEY_SCROLL_LOCK, /* Scroll lock */
xx316 1:c840c2b6f490 61 KEY_CAPS_LOCK, /* caps lock */
xx316 1:c840c2b6f490 62 KEY_NUM_LOCK, /* num lock */
xx316 1:c840c2b6f490 63 KEY_INSERT, /* Insert key */
xx316 1:c840c2b6f490 64 KEY_HOME, /* Home key */
xx316 1:c840c2b6f490 65 KEY_PAGE_UP, /* Page Up key */
xx316 1:c840c2b6f490 66 KEY_PAGE_DOWN, /* Page Down key */
xx316 1:c840c2b6f490 67
xx316 1:c840c2b6f490 68 RIGHT_ARROW, /* Right arrow */
xx316 1:c840c2b6f490 69 LEFT_ARROW, /* Left arrow */
xx316 1:c840c2b6f490 70 DOWN_ARROW, /* Down arrow */
xx316 1:c840c2b6f490 71 UP_ARROW, /* Up arrow */
xx316 1:c840c2b6f490 72 };
xx316 1:c840c2b6f490 73
xx316 1:c840c2b6f490 74 typedef struct {
xx316 1:c840c2b6f490 75 unsigned char usage;
xx316 1:c840c2b6f490 76 unsigned char modifier;
xx316 1:c840c2b6f490 77 } KEYMAP;
xx316 1:c840c2b6f490 78
xx316 1:c840c2b6f490 79 #ifdef US_KEYBOARD
xx316 1:c840c2b6f490 80 /* US keyboard (as HID standard) */
xx316 1:c840c2b6f490 81 #define KEYMAP_SIZE (152)
xx316 1:c840c2b6f490 82 const KEYMAP keymap[KEYMAP_SIZE] = {
xx316 1:c840c2b6f490 83 {0, 0}, /* NUL */
xx316 1:c840c2b6f490 84 {0, 0}, /* SOH */
xx316 1:c840c2b6f490 85 {0, 0}, /* STX */
xx316 1:c840c2b6f490 86 {0, 0}, /* ETX */
xx316 1:c840c2b6f490 87 {0, 0}, /* EOT */
xx316 1:c840c2b6f490 88 {0, 0}, /* ENQ */
xx316 1:c840c2b6f490 89 {0, 0}, /* ACK */
xx316 1:c840c2b6f490 90 {0, 0}, /* BEL */
xx316 1:c840c2b6f490 91 {0x2a, 0}, /* BS */ /* Keyboard Delete (Backspace) */
xx316 1:c840c2b6f490 92 {0x2b, 0}, /* TAB */ /* Keyboard Tab */
xx316 1:c840c2b6f490 93 {0x28, 0}, /* LF */ /* Keyboard Return (Enter) */
xx316 1:c840c2b6f490 94 {0, 0}, /* VT */
xx316 1:c840c2b6f490 95 {0, 0}, /* FF */
xx316 1:c840c2b6f490 96 {0, 0}, /* CR */
xx316 1:c840c2b6f490 97 {0, 0}, /* SO */
xx316 1:c840c2b6f490 98 {0, 0}, /* SI */
xx316 1:c840c2b6f490 99 {0, 0}, /* DEL */
xx316 1:c840c2b6f490 100 {0, 0}, /* DC1 */
xx316 1:c840c2b6f490 101 {0, 0}, /* DC2 */
xx316 1:c840c2b6f490 102 {0, 0}, /* DC3 */
xx316 1:c840c2b6f490 103 {0, 0}, /* DC4 */
xx316 1:c840c2b6f490 104 {0, 0}, /* NAK */
xx316 1:c840c2b6f490 105 {0, 0}, /* SYN */
xx316 1:c840c2b6f490 106 {0, 0}, /* ETB */
xx316 1:c840c2b6f490 107 {0, 0}, /* CAN */
xx316 1:c840c2b6f490 108 {0, 0}, /* EM */
xx316 1:c840c2b6f490 109 {0, 0}, /* SUB */
xx316 1:c840c2b6f490 110 {0, 0}, /* ESC */
xx316 1:c840c2b6f490 111 {0, 0}, /* FS */
xx316 1:c840c2b6f490 112 {0, 0}, /* GS */
xx316 1:c840c2b6f490 113 {0, 0}, /* RS */
xx316 1:c840c2b6f490 114 {0, 0}, /* US */
xx316 1:c840c2b6f490 115 {0x2c, 0}, /* */
xx316 1:c840c2b6f490 116 {0x1e, KEY_SHIFT}, /* ! */
xx316 1:c840c2b6f490 117 {0x34, KEY_SHIFT}, /* " */
xx316 1:c840c2b6f490 118 {0x20, KEY_SHIFT}, /* # */
xx316 1:c840c2b6f490 119 {0x21, KEY_SHIFT}, /* $ */
xx316 1:c840c2b6f490 120 {0x22, KEY_SHIFT}, /* % */
xx316 1:c840c2b6f490 121 {0x24, KEY_SHIFT}, /* & */
xx316 1:c840c2b6f490 122 {0x34, 0}, /* ' */
xx316 1:c840c2b6f490 123 {0x26, KEY_SHIFT}, /* ( */
xx316 1:c840c2b6f490 124 {0x27, KEY_SHIFT}, /* ) */
xx316 1:c840c2b6f490 125 {0x25, KEY_SHIFT}, /* * */
xx316 1:c840c2b6f490 126 {0x2e, KEY_SHIFT}, /* + */
xx316 1:c840c2b6f490 127 {0x36, 0}, /* , */
xx316 1:c840c2b6f490 128 {0x2d, 0}, /* - */
xx316 1:c840c2b6f490 129 {0x37, 0}, /* . */
xx316 1:c840c2b6f490 130 {0x38, 0}, /* / */
xx316 1:c840c2b6f490 131 {0x27, 0}, /* 0 */
xx316 1:c840c2b6f490 132 {0x1e, 0}, /* 1 */
xx316 1:c840c2b6f490 133 {0x1f, 0}, /* 2 */
xx316 1:c840c2b6f490 134 {0x20, 0}, /* 3 */
xx316 1:c840c2b6f490 135 {0x21, 0}, /* 4 */
xx316 1:c840c2b6f490 136 {0x22, 0}, /* 5 */
xx316 1:c840c2b6f490 137 {0x23, 0}, /* 6 */
xx316 1:c840c2b6f490 138 {0x24, 0}, /* 7 */
xx316 1:c840c2b6f490 139 {0x25, 0}, /* 8 */
xx316 1:c840c2b6f490 140 {0x26, 0}, /* 9 */
xx316 1:c840c2b6f490 141 {0x33, KEY_SHIFT}, /* : */
xx316 1:c840c2b6f490 142 {0x33, 0}, /* ; */
xx316 1:c840c2b6f490 143 {0x36, KEY_SHIFT}, /* < */
xx316 1:c840c2b6f490 144 {0x2e, 0}, /* = */
xx316 1:c840c2b6f490 145 {0x37, KEY_SHIFT}, /* > */
xx316 1:c840c2b6f490 146 {0x38, KEY_SHIFT}, /* ? */
xx316 1:c840c2b6f490 147 {0x1f, KEY_SHIFT}, /* @ */
xx316 1:c840c2b6f490 148 {0x04, KEY_SHIFT}, /* A */
xx316 1:c840c2b6f490 149 {0x05, KEY_SHIFT}, /* B */
xx316 1:c840c2b6f490 150 {0x06, KEY_SHIFT}, /* C */
xx316 1:c840c2b6f490 151 {0x07, KEY_SHIFT}, /* D */
xx316 1:c840c2b6f490 152 {0x08, KEY_SHIFT}, /* E */
xx316 1:c840c2b6f490 153 {0x09, KEY_SHIFT}, /* F */
xx316 1:c840c2b6f490 154 {0x0a, KEY_SHIFT}, /* G */
xx316 1:c840c2b6f490 155 {0x0b, KEY_SHIFT}, /* H */
xx316 1:c840c2b6f490 156 {0x0c, KEY_SHIFT}, /* I */
xx316 1:c840c2b6f490 157 {0x0d, KEY_SHIFT}, /* J */
xx316 1:c840c2b6f490 158 {0x0e, KEY_SHIFT}, /* K */
xx316 1:c840c2b6f490 159 {0x0f, KEY_SHIFT}, /* L */
xx316 1:c840c2b6f490 160 {0x10, KEY_SHIFT}, /* M */
xx316 1:c840c2b6f490 161 {0x11, KEY_SHIFT}, /* N */
xx316 1:c840c2b6f490 162 {0x12, KEY_SHIFT}, /* O */
xx316 1:c840c2b6f490 163 {0x13, KEY_SHIFT}, /* P */
xx316 1:c840c2b6f490 164 {0x14, KEY_SHIFT}, /* Q */
xx316 1:c840c2b6f490 165 {0x15, KEY_SHIFT}, /* R */
xx316 1:c840c2b6f490 166 {0x16, KEY_SHIFT}, /* S */
xx316 1:c840c2b6f490 167 {0x17, KEY_SHIFT}, /* T */
xx316 1:c840c2b6f490 168 {0x18, KEY_SHIFT}, /* U */
xx316 1:c840c2b6f490 169 {0x19, KEY_SHIFT}, /* V */
xx316 1:c840c2b6f490 170 {0x1a, KEY_SHIFT}, /* W */
xx316 1:c840c2b6f490 171 {0x1b, KEY_SHIFT}, /* X */
xx316 1:c840c2b6f490 172 {0x1c, KEY_SHIFT}, /* Y */
xx316 1:c840c2b6f490 173 {0x1d, KEY_SHIFT}, /* Z */
xx316 1:c840c2b6f490 174 {0x2f, 0}, /* [ */
xx316 1:c840c2b6f490 175 {0x31, 0}, /* \ */
xx316 1:c840c2b6f490 176 {0x30, 0}, /* ] */
xx316 1:c840c2b6f490 177 {0x23, KEY_SHIFT}, /* ^ */
xx316 1:c840c2b6f490 178 {0x2d, KEY_SHIFT}, /* _ */
xx316 1:c840c2b6f490 179 {0x35, 0}, /* ` */
xx316 1:c840c2b6f490 180 {0x04, 0}, /* a */
xx316 1:c840c2b6f490 181 {0x05, 0}, /* b */
xx316 1:c840c2b6f490 182 {0x06, 0}, /* c */
xx316 1:c840c2b6f490 183 {0x07, 0}, /* d */
xx316 1:c840c2b6f490 184 {0x08, 0}, /* e */
xx316 1:c840c2b6f490 185 {0x09, 0}, /* f */
xx316 1:c840c2b6f490 186 {0x0a, 0}, /* g */
xx316 1:c840c2b6f490 187 {0x0b, 0}, /* h */
xx316 1:c840c2b6f490 188 {0x0c, 0}, /* i */
xx316 1:c840c2b6f490 189 {0x0d, 0}, /* j */
xx316 1:c840c2b6f490 190 {0x0e, 0}, /* k */
xx316 1:c840c2b6f490 191 {0x0f, 0}, /* l */
xx316 1:c840c2b6f490 192 {0x10, 0}, /* m */
xx316 1:c840c2b6f490 193 {0x11, 0}, /* n */
xx316 1:c840c2b6f490 194 {0x12, 0}, /* o */
xx316 1:c840c2b6f490 195 {0x13, 0}, /* p */
xx316 1:c840c2b6f490 196 {0x14, 0}, /* q */
xx316 1:c840c2b6f490 197 {0x15, 0}, /* r */
xx316 1:c840c2b6f490 198 {0x16, 0}, /* s */
xx316 1:c840c2b6f490 199 {0x17, 0}, /* t */
xx316 1:c840c2b6f490 200 {0x18, 0}, /* u */
xx316 1:c840c2b6f490 201 {0x19, 0}, /* v */
xx316 1:c840c2b6f490 202 {0x1a, 0}, /* w */
xx316 1:c840c2b6f490 203 {0x1b, 0}, /* x */
xx316 1:c840c2b6f490 204 {0x1c, 0}, /* y */
xx316 1:c840c2b6f490 205 {0x1d, 0}, /* z */
xx316 1:c840c2b6f490 206 {0x2f, KEY_SHIFT}, /* { */
xx316 1:c840c2b6f490 207 {0x31, KEY_SHIFT}, /* | */
xx316 1:c840c2b6f490 208 {0x30, KEY_SHIFT}, /* } */
xx316 1:c840c2b6f490 209 {0x35, KEY_SHIFT}, /* ~ */
xx316 1:c840c2b6f490 210 {0,0}, /* DEL */
xx316 1:c840c2b6f490 211
xx316 1:c840c2b6f490 212 {0x3a, 0}, /* F1 */
xx316 1:c840c2b6f490 213 {0x3b, 0}, /* F2 */
xx316 1:c840c2b6f490 214 {0x3c, 0}, /* F3 */
xx316 1:c840c2b6f490 215 {0x3d, 0}, /* F4 */
xx316 1:c840c2b6f490 216 {0x3e, 0}, /* F5 */
xx316 1:c840c2b6f490 217 {0x3f, 0}, /* F6 */
xx316 1:c840c2b6f490 218 {0x40, 0}, /* F7 */
xx316 1:c840c2b6f490 219 {0x41, 0}, /* F8 */
xx316 1:c840c2b6f490 220 {0x42, 0}, /* F9 */
xx316 1:c840c2b6f490 221 {0x43, 0}, /* F10 */
xx316 1:c840c2b6f490 222 {0x44, 0}, /* F11 */
xx316 1:c840c2b6f490 223 {0x45, 0}, /* F12 */
xx316 1:c840c2b6f490 224
xx316 1:c840c2b6f490 225 {0x46, 0}, /* PRINT_SCREEN */
xx316 1:c840c2b6f490 226 {0x47, 0}, /* SCROLL_LOCK */
xx316 1:c840c2b6f490 227 {0x39, 0}, /* CAPS_LOCK */
xx316 1:c840c2b6f490 228 {0x53, 0}, /* NUM_LOCK */
xx316 1:c840c2b6f490 229 {0x49, 0}, /* INSERT */
xx316 1:c840c2b6f490 230 {0x4a, 0}, /* HOME */
xx316 1:c840c2b6f490 231 {0x4b, 0}, /* PAGE_UP */
xx316 1:c840c2b6f490 232 {0x4e, 0}, /* PAGE_DOWN */
xx316 1:c840c2b6f490 233
xx316 1:c840c2b6f490 234 {0x4f, 0}, /* RIGHT_ARROW */
xx316 1:c840c2b6f490 235 {0x50, 0}, /* LEFT_ARROW */
xx316 1:c840c2b6f490 236 {0x51, 0}, /* DOWN_ARROW */
xx316 1:c840c2b6f490 237 {0x52, 0}, /* UP_ARROW */
xx316 1:c840c2b6f490 238 };
xx316 1:c840c2b6f490 239
xx316 1:c840c2b6f490 240 #else
xx316 1:c840c2b6f490 241 /* UK keyboard */
xx316 1:c840c2b6f490 242 #define KEYMAP_SIZE (152)
xx316 1:c840c2b6f490 243 const KEYMAP keymap[KEYMAP_SIZE] = {
xx316 1:c840c2b6f490 244 {0, 0}, /* NUL */
xx316 1:c840c2b6f490 245 {0, 0}, /* SOH */
xx316 1:c840c2b6f490 246 {0, 0}, /* STX */
xx316 1:c840c2b6f490 247 {0, 0}, /* ETX */
xx316 1:c840c2b6f490 248 {0, 0}, /* EOT */
xx316 1:c840c2b6f490 249 {0, 0}, /* ENQ */
xx316 1:c840c2b6f490 250 {0, 0}, /* ACK */
xx316 1:c840c2b6f490 251 {0, 0}, /* BEL */
xx316 1:c840c2b6f490 252 {0x2a, 0}, /* BS */ /* Keyboard Delete (Backspace) */
xx316 1:c840c2b6f490 253 {0x2b, 0}, /* TAB */ /* Keyboard Tab */
xx316 1:c840c2b6f490 254 {0x28, 0}, /* LF */ /* Keyboard Return (Enter) */
xx316 1:c840c2b6f490 255 {0, 0}, /* VT */
xx316 1:c840c2b6f490 256 {0, 0}, /* FF */
xx316 1:c840c2b6f490 257 {0, 0}, /* CR */
xx316 1:c840c2b6f490 258 {0, 0}, /* SO */
xx316 1:c840c2b6f490 259 {0, 0}, /* SI */
xx316 1:c840c2b6f490 260 {0, 0}, /* DEL */
xx316 1:c840c2b6f490 261 {0, 0}, /* DC1 */
xx316 1:c840c2b6f490 262 {0, 0}, /* DC2 */
xx316 1:c840c2b6f490 263 {0, 0}, /* DC3 */
xx316 1:c840c2b6f490 264 {0, 0}, /* DC4 */
xx316 1:c840c2b6f490 265 {0, 0}, /* NAK */
xx316 1:c840c2b6f490 266 {0, 0}, /* SYN */
xx316 1:c840c2b6f490 267 {0, 0}, /* ETB */
xx316 1:c840c2b6f490 268 {0, 0}, /* CAN */
xx316 1:c840c2b6f490 269 {0, 0}, /* EM */
xx316 1:c840c2b6f490 270 {0, 0}, /* SUB */
xx316 1:c840c2b6f490 271 {0, 0}, /* ESC */
xx316 1:c840c2b6f490 272 {0, 0}, /* FS */
xx316 1:c840c2b6f490 273 {0, 0}, /* GS */
xx316 1:c840c2b6f490 274 {0, 0}, /* RS */
xx316 1:c840c2b6f490 275 {0, 0}, /* US */
xx316 1:c840c2b6f490 276 {0x2c, 0}, /* */
xx316 1:c840c2b6f490 277 {0x1e, KEY_SHIFT}, /* ! */
xx316 1:c840c2b6f490 278 {0x1f, KEY_SHIFT}, /* " */
xx316 1:c840c2b6f490 279 {0x32, 0}, /* # */
xx316 1:c840c2b6f490 280 {0x21, KEY_SHIFT}, /* $ */
xx316 1:c840c2b6f490 281 {0x22, KEY_SHIFT}, /* % */
xx316 1:c840c2b6f490 282 {0x24, KEY_SHIFT}, /* & */
xx316 1:c840c2b6f490 283 {0x34, 0}, /* ' */
xx316 1:c840c2b6f490 284 {0x26, KEY_SHIFT}, /* ( */
xx316 1:c840c2b6f490 285 {0x27, KEY_SHIFT}, /* ) */
xx316 1:c840c2b6f490 286 {0x25, KEY_SHIFT}, /* * */
xx316 1:c840c2b6f490 287 {0x2e, KEY_SHIFT}, /* + */
xx316 1:c840c2b6f490 288 {0x36, 0}, /* , */
xx316 1:c840c2b6f490 289 {0x2d, 0}, /* - */
xx316 1:c840c2b6f490 290 {0x37, 0}, /* . */
xx316 1:c840c2b6f490 291 {0x38, 0}, /* / */
xx316 1:c840c2b6f490 292 {0x27, 0}, /* 0 */
xx316 1:c840c2b6f490 293 {0x1e, 0}, /* 1 */
xx316 1:c840c2b6f490 294 {0x1f, 0}, /* 2 */
xx316 1:c840c2b6f490 295 {0x20, 0}, /* 3 */
xx316 1:c840c2b6f490 296 {0x21, 0}, /* 4 */
xx316 1:c840c2b6f490 297 {0x22, 0}, /* 5 */
xx316 1:c840c2b6f490 298 {0x23, 0}, /* 6 */
xx316 1:c840c2b6f490 299 {0x24, 0}, /* 7 */
xx316 1:c840c2b6f490 300 {0x25, 0}, /* 8 */
xx316 1:c840c2b6f490 301 {0x26, 0}, /* 9 */
xx316 1:c840c2b6f490 302 {0x33, KEY_SHIFT}, /* : */
xx316 1:c840c2b6f490 303 {0x33, 0}, /* ; */
xx316 1:c840c2b6f490 304 {0x36, KEY_SHIFT}, /* < */
xx316 1:c840c2b6f490 305 {0x2e, 0}, /* = */
xx316 1:c840c2b6f490 306 {0x37, KEY_SHIFT}, /* > */
xx316 1:c840c2b6f490 307 {0x38, KEY_SHIFT}, /* ? */
xx316 1:c840c2b6f490 308 {0x34, KEY_SHIFT}, /* @ */
xx316 1:c840c2b6f490 309 {0x04, KEY_SHIFT}, /* A */
xx316 1:c840c2b6f490 310 {0x05, KEY_SHIFT}, /* B */
xx316 1:c840c2b6f490 311 {0x06, KEY_SHIFT}, /* C */
xx316 1:c840c2b6f490 312 {0x07, KEY_SHIFT}, /* D */
xx316 1:c840c2b6f490 313 {0x08, KEY_SHIFT}, /* E */
xx316 1:c840c2b6f490 314 {0x09, KEY_SHIFT}, /* F */
xx316 1:c840c2b6f490 315 {0x0a, KEY_SHIFT}, /* G */
xx316 1:c840c2b6f490 316 {0x0b, KEY_SHIFT}, /* H */
xx316 1:c840c2b6f490 317 {0x0c, KEY_SHIFT}, /* I */
xx316 1:c840c2b6f490 318 {0x0d, KEY_SHIFT}, /* J */
xx316 1:c840c2b6f490 319 {0x0e, KEY_SHIFT}, /* K */
xx316 1:c840c2b6f490 320 {0x0f, KEY_SHIFT}, /* L */
xx316 1:c840c2b6f490 321 {0x10, KEY_SHIFT}, /* M */
xx316 1:c840c2b6f490 322 {0x11, KEY_SHIFT}, /* N */
xx316 1:c840c2b6f490 323 {0x12, KEY_SHIFT}, /* O */
xx316 1:c840c2b6f490 324 {0x13, KEY_SHIFT}, /* P */
xx316 1:c840c2b6f490 325 {0x14, KEY_SHIFT}, /* Q */
xx316 1:c840c2b6f490 326 {0x15, KEY_SHIFT}, /* R */
xx316 1:c840c2b6f490 327 {0x16, KEY_SHIFT}, /* S */
xx316 1:c840c2b6f490 328 {0x17, KEY_SHIFT}, /* T */
xx316 1:c840c2b6f490 329 {0x18, KEY_SHIFT}, /* U */
xx316 1:c840c2b6f490 330 {0x19, KEY_SHIFT}, /* V */
xx316 1:c840c2b6f490 331 {0x1a, KEY_SHIFT}, /* W */
xx316 1:c840c2b6f490 332 {0x1b, KEY_SHIFT}, /* X */
xx316 1:c840c2b6f490 333 {0x1c, KEY_SHIFT}, /* Y */
xx316 1:c840c2b6f490 334 {0x1d, KEY_SHIFT}, /* Z */
xx316 1:c840c2b6f490 335 {0x2f, 0}, /* [ */
xx316 1:c840c2b6f490 336 {0x64, 0}, /* \ */
xx316 1:c840c2b6f490 337 {0x30, 0}, /* ] */
xx316 1:c840c2b6f490 338 {0x23, KEY_SHIFT}, /* ^ */
xx316 1:c840c2b6f490 339 {0x2d, KEY_SHIFT}, /* _ */
xx316 1:c840c2b6f490 340 {0x35, 0}, /* ` */
xx316 1:c840c2b6f490 341 {0x04, 0}, /* a */
xx316 1:c840c2b6f490 342 {0x05, 0}, /* b */
xx316 1:c840c2b6f490 343 {0x06, 0}, /* c */
xx316 1:c840c2b6f490 344 {0x07, 0}, /* d */
xx316 1:c840c2b6f490 345 {0x08, 0}, /* e */
xx316 1:c840c2b6f490 346 {0x09, 0}, /* f */
xx316 1:c840c2b6f490 347 {0x0a, 0}, /* g */
xx316 1:c840c2b6f490 348 {0x0b, 0}, /* h */
xx316 1:c840c2b6f490 349 {0x0c, 0}, /* i */
xx316 1:c840c2b6f490 350 {0x0d, 0}, /* j */
xx316 1:c840c2b6f490 351 {0x0e, 0}, /* k */
xx316 1:c840c2b6f490 352 {0x0f, 0}, /* l */
xx316 1:c840c2b6f490 353 {0x10, 0}, /* m */
xx316 1:c840c2b6f490 354 {0x11, 0}, /* n */
xx316 1:c840c2b6f490 355 {0x12, 0}, /* o */
xx316 1:c840c2b6f490 356 {0x13, 0}, /* p */
xx316 1:c840c2b6f490 357 {0x14, 0}, /* q */
xx316 1:c840c2b6f490 358 {0x15, 0}, /* r */
xx316 1:c840c2b6f490 359 {0x16, 0}, /* s */
xx316 1:c840c2b6f490 360 {0x17, 0}, /* t */
xx316 1:c840c2b6f490 361 {0x18, 0}, /* u */
xx316 1:c840c2b6f490 362 {0x19, 0}, /* v */
xx316 1:c840c2b6f490 363 {0x1a, 0}, /* w */
xx316 1:c840c2b6f490 364 {0x1b, 0}, /* x */
xx316 1:c840c2b6f490 365 {0x1c, 0}, /* y */
xx316 1:c840c2b6f490 366 {0x1d, 0}, /* z */
xx316 1:c840c2b6f490 367 {0x2f, KEY_SHIFT}, /* { */
xx316 1:c840c2b6f490 368 {0x64, KEY_SHIFT}, /* | */
xx316 1:c840c2b6f490 369 {0x30, KEY_SHIFT}, /* } */
xx316 1:c840c2b6f490 370 {0x32, KEY_SHIFT}, /* ~ */
xx316 1:c840c2b6f490 371 {0,0}, /* DEL */
xx316 1:c840c2b6f490 372
xx316 1:c840c2b6f490 373 {0x3a, 0}, /* F1 */
xx316 1:c840c2b6f490 374 {0x3b, 0}, /* F2 */
xx316 1:c840c2b6f490 375 {0x3c, 0}, /* F3 */
xx316 1:c840c2b6f490 376 {0x3d, 0}, /* F4 */
xx316 1:c840c2b6f490 377 {0x3e, 0}, /* F5 */
xx316 1:c840c2b6f490 378 {0x3f, 0}, /* F6 */
xx316 1:c840c2b6f490 379 {0x40, 0}, /* F7 */
xx316 1:c840c2b6f490 380 {0x41, 0}, /* F8 */
xx316 1:c840c2b6f490 381 {0x42, 0}, /* F9 */
xx316 1:c840c2b6f490 382 {0x43, 0}, /* F10 */
xx316 1:c840c2b6f490 383 {0x44, 0}, /* F11 */
xx316 1:c840c2b6f490 384 {0x45, 0}, /* F12 */
xx316 1:c840c2b6f490 385
xx316 1:c840c2b6f490 386 {0x46, 0}, /* PRINT_SCREEN */
xx316 1:c840c2b6f490 387 {0x47, 0}, /* SCROLL_LOCK */
xx316 1:c840c2b6f490 388 {0x39, 0}, /* CAPS_LOCK */
xx316 1:c840c2b6f490 389 {0x53, 0}, /* NUM_LOCK */
xx316 1:c840c2b6f490 390 {0x49, 0}, /* INSERT */
xx316 1:c840c2b6f490 391 {0x4a, 0}, /* HOME */
xx316 1:c840c2b6f490 392 {0x4b, 0}, /* PAGE_UP */
xx316 1:c840c2b6f490 393 {0x4e, 0}, /* PAGE_DOWN */
xx316 1:c840c2b6f490 394
xx316 1:c840c2b6f490 395 {0x4f, 0}, /* RIGHT_ARROW */
xx316 1:c840c2b6f490 396 {0x50, 0}, /* LEFT_ARROW */
xx316 1:c840c2b6f490 397 {0x51, 0}, /* DOWN_ARROW */
xx316 1:c840c2b6f490 398 {0x52, 0}, /* UP_ARROW */
xx316 1:c840c2b6f490 399 };
xx316 1:c840c2b6f490 400 #endif
xx316 1:c840c2b6f490 401
xx316 1:c840c2b6f490 402 #endif
xx316 1:c840c2b6f490 403
xx316 1:c840c2b6f490 404