Junichi Katsu / Mbed 2 deprecated UsbTouch

Dependencies:   mbed

Committer:
jksoft
Date:
Fri Jun 10 09:01:25 2011 +0000
Revision:
0:4c75a597cb26

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jksoft 0:4c75a597cb26 1 /* asciihid.h */
jksoft 0:4c75a597cb26 2 /* ASCII to HID Keyboard lookup table */
jksoft 0:4c75a597cb26 3 /* Copyright (c) Phil Wright 2008 */
jksoft 0:4c75a597cb26 4
jksoft 0:4c75a597cb26 5 #ifndef HIDTABLE_H
jksoft 0:4c75a597cb26 6 #define HIDTABLE_H
jksoft 0:4c75a597cb26 7
jksoft 0:4c75a597cb26 8 /* Default is UK keyboard layout */
jksoft 0:4c75a597cb26 9 /* #define US_KEYBOARD */
jksoft 0:4c75a597cb26 10
jksoft 0:4c75a597cb26 11 /* Modifiers */
jksoft 0:4c75a597cb26 12 #define SHIFT (1<<1)
jksoft 0:4c75a597cb26 13
jksoft 0:4c75a597cb26 14 typedef struct {
jksoft 0:4c75a597cb26 15 unsigned char usage;
jksoft 0:4c75a597cb26 16 unsigned char modifier;
jksoft 0:4c75a597cb26 17 } KEYMAP;
jksoft 0:4c75a597cb26 18
jksoft 0:4c75a597cb26 19 #ifdef US_KEYBOARD
jksoft 0:4c75a597cb26 20 /* US keyboard (as HID standard) */
jksoft 0:4c75a597cb26 21 #define KEYMAP_SIZE (128)
jksoft 0:4c75a597cb26 22 const KEYMAP keymap[KEYMAP_SIZE] = {
jksoft 0:4c75a597cb26 23 {0, 0}, /* NUL */
jksoft 0:4c75a597cb26 24 {0, 0}, /* SOH */
jksoft 0:4c75a597cb26 25 {0, 0}, /* STX */
jksoft 0:4c75a597cb26 26 {0, 0}, /* ETX */
jksoft 0:4c75a597cb26 27 {0, 0}, /* EOT */
jksoft 0:4c75a597cb26 28 {0, 0}, /* ENQ */
jksoft 0:4c75a597cb26 29 {0, 0}, /* ACK */
jksoft 0:4c75a597cb26 30 {0, 0}, /* BEL */
jksoft 0:4c75a597cb26 31 {0x2a, 0}, /* BS */ /* Keyboard Delete (Backspace) */
jksoft 0:4c75a597cb26 32 {0x2b, 0}, /* TAB */ /* Keyboard Tab */
jksoft 0:4c75a597cb26 33 {0x28, 0}, /* LF */ /* Keyboard Return (Enter) */
jksoft 0:4c75a597cb26 34 {0, 0}, /* VT */
jksoft 0:4c75a597cb26 35 {0, 0}, /* FF */
jksoft 0:4c75a597cb26 36 {0, 0}, /* CR */
jksoft 0:4c75a597cb26 37 {0, 0}, /* SO */
jksoft 0:4c75a597cb26 38 {0, 0}, /* SI */
jksoft 0:4c75a597cb26 39 {0, 0}, /* DEL */
jksoft 0:4c75a597cb26 40 {0, 0}, /* DC1 */
jksoft 0:4c75a597cb26 41 {0, 0}, /* DC2 */
jksoft 0:4c75a597cb26 42 {0, 0}, /* DC3 */
jksoft 0:4c75a597cb26 43 {0, 0}, /* DC4 */
jksoft 0:4c75a597cb26 44 {0, 0}, /* NAK */
jksoft 0:4c75a597cb26 45 {0, 0}, /* SYN */
jksoft 0:4c75a597cb26 46 {0, 0}, /* ETB */
jksoft 0:4c75a597cb26 47 {0, 0}, /* CAN */
jksoft 0:4c75a597cb26 48 {0, 0}, /* EM */
jksoft 0:4c75a597cb26 49 {0, 0}, /* SUB */
jksoft 0:4c75a597cb26 50 {0, 0}, /* ESC */
jksoft 0:4c75a597cb26 51 {0, 0}, /* FS */
jksoft 0:4c75a597cb26 52 {0, 0}, /* GS */
jksoft 0:4c75a597cb26 53 {0, 0}, /* RS */
jksoft 0:4c75a597cb26 54 {0, 0}, /* US */
jksoft 0:4c75a597cb26 55 {0x2c, 0}, /* */
jksoft 0:4c75a597cb26 56 {0x1e, SHIFT}, /* ! */
jksoft 0:4c75a597cb26 57 {0x34, SHIFT}, /* " */
jksoft 0:4c75a597cb26 58 {0x20, SHIFT}, /* # */
jksoft 0:4c75a597cb26 59 {0x21, SHIFT}, /* $ */
jksoft 0:4c75a597cb26 60 {0x22, SHIFT}, /* % */
jksoft 0:4c75a597cb26 61 {0x24, SHIFT}, /* & */
jksoft 0:4c75a597cb26 62 {0x34, 0}, /* ' */
jksoft 0:4c75a597cb26 63 {0x26, SHIFT}, /* ( */
jksoft 0:4c75a597cb26 64 {0x27, SHIFT}, /* ) */
jksoft 0:4c75a597cb26 65 {0x25, SHIFT}, /* * */
jksoft 0:4c75a597cb26 66 {0x2e, SHIFT}, /* + */
jksoft 0:4c75a597cb26 67 {0x36, 0}, /* , */
jksoft 0:4c75a597cb26 68 {0x2d, 0}, /* - */
jksoft 0:4c75a597cb26 69 {0x37, 0}, /* . */
jksoft 0:4c75a597cb26 70 {0x38, 0}, /* / */
jksoft 0:4c75a597cb26 71 {0x27, 0}, /* 0 */
jksoft 0:4c75a597cb26 72 {0x1e, 0}, /* 1 */
jksoft 0:4c75a597cb26 73 {0x1f, 0}, /* 2 */
jksoft 0:4c75a597cb26 74 {0x20, 0}, /* 3 */
jksoft 0:4c75a597cb26 75 {0x21, 0}, /* 4 */
jksoft 0:4c75a597cb26 76 {0x22, 0}, /* 5 */
jksoft 0:4c75a597cb26 77 {0x23, 0}, /* 6 */
jksoft 0:4c75a597cb26 78 {0x24, 0}, /* 7 */
jksoft 0:4c75a597cb26 79 {0x25, 0}, /* 8 */
jksoft 0:4c75a597cb26 80 {0x26, 0}, /* 9 */
jksoft 0:4c75a597cb26 81 {0x33, SHIFT}, /* : */
jksoft 0:4c75a597cb26 82 {0x33, 0}, /* ; */
jksoft 0:4c75a597cb26 83 {0x36, SHIFT}, /* < */
jksoft 0:4c75a597cb26 84 {0x2e, 0}, /* = */
jksoft 0:4c75a597cb26 85 {0x37, SHIFT}, /* > */
jksoft 0:4c75a597cb26 86 {0x38, SHIFT}, /* ? */
jksoft 0:4c75a597cb26 87 {0x1f, SHIFT}, /* @ */
jksoft 0:4c75a597cb26 88 {0x04, SHIFT}, /* A */
jksoft 0:4c75a597cb26 89 {0x05, SHIFT}, /* B */
jksoft 0:4c75a597cb26 90 {0x06, SHIFT}, /* C */
jksoft 0:4c75a597cb26 91 {0x07, SHIFT}, /* D */
jksoft 0:4c75a597cb26 92 {0x08, SHIFT}, /* E */
jksoft 0:4c75a597cb26 93 {0x09, SHIFT}, /* F */
jksoft 0:4c75a597cb26 94 {0x0a, SHIFT}, /* G */
jksoft 0:4c75a597cb26 95 {0x0b, SHIFT}, /* H */
jksoft 0:4c75a597cb26 96 {0x0c, SHIFT}, /* I */
jksoft 0:4c75a597cb26 97 {0x0d, SHIFT}, /* J */
jksoft 0:4c75a597cb26 98 {0x0e, SHIFT}, /* K */
jksoft 0:4c75a597cb26 99 {0x0f, SHIFT}, /* L */
jksoft 0:4c75a597cb26 100 {0x10, SHIFT}, /* M */
jksoft 0:4c75a597cb26 101 {0x11, SHIFT}, /* N */
jksoft 0:4c75a597cb26 102 {0x12, SHIFT}, /* O */
jksoft 0:4c75a597cb26 103 {0x13, SHIFT}, /* P */
jksoft 0:4c75a597cb26 104 {0x14, SHIFT}, /* Q */
jksoft 0:4c75a597cb26 105 {0x15, SHIFT}, /* R */
jksoft 0:4c75a597cb26 106 {0x16, SHIFT}, /* S */
jksoft 0:4c75a597cb26 107 {0x17, SHIFT}, /* T */
jksoft 0:4c75a597cb26 108 {0x18, SHIFT}, /* U */
jksoft 0:4c75a597cb26 109 {0x19, SHIFT}, /* V */
jksoft 0:4c75a597cb26 110 {0x1a, SHIFT}, /* W */
jksoft 0:4c75a597cb26 111 {0x1b, SHIFT}, /* X */
jksoft 0:4c75a597cb26 112 {0x1c, SHIFT}, /* Y */
jksoft 0:4c75a597cb26 113 {0x1d, SHIFT}, /* Z */
jksoft 0:4c75a597cb26 114 {0x2f, 0}, /* [ */
jksoft 0:4c75a597cb26 115 {0x31, 0}, /* \ */
jksoft 0:4c75a597cb26 116 {0x30, 0}, /* ] */
jksoft 0:4c75a597cb26 117 {0x23, SHIFT}, /* ^ */
jksoft 0:4c75a597cb26 118 {0x2d, SHIFT}, /* _ */
jksoft 0:4c75a597cb26 119 {0x35, 0}, /* ` */
jksoft 0:4c75a597cb26 120 {0x04, 0}, /* a */
jksoft 0:4c75a597cb26 121 {0x05, 0}, /* b */
jksoft 0:4c75a597cb26 122 {0x06, 0}, /* c */
jksoft 0:4c75a597cb26 123 {0x07, 0}, /* d */
jksoft 0:4c75a597cb26 124 {0x08, 0}, /* e */
jksoft 0:4c75a597cb26 125 {0x09, 0}, /* f */
jksoft 0:4c75a597cb26 126 {0x0a, 0}, /* g */
jksoft 0:4c75a597cb26 127 {0x0b, 0}, /* h */
jksoft 0:4c75a597cb26 128 {0x0c, 0}, /* i */
jksoft 0:4c75a597cb26 129 {0x0d, 0}, /* j */
jksoft 0:4c75a597cb26 130 {0x0e, 0}, /* k */
jksoft 0:4c75a597cb26 131 {0x0f, 0}, /* l */
jksoft 0:4c75a597cb26 132 {0x10, 0}, /* m */
jksoft 0:4c75a597cb26 133 {0x11, 0}, /* n */
jksoft 0:4c75a597cb26 134 {0x12, 0}, /* o */
jksoft 0:4c75a597cb26 135 {0x13, 0}, /* p */
jksoft 0:4c75a597cb26 136 {0x14, 0}, /* q */
jksoft 0:4c75a597cb26 137 {0x15, 0}, /* r */
jksoft 0:4c75a597cb26 138 {0x16, 0}, /* s */
jksoft 0:4c75a597cb26 139 {0x17, 0}, /* t */
jksoft 0:4c75a597cb26 140 {0x18, 0}, /* u */
jksoft 0:4c75a597cb26 141 {0x19, 0}, /* v */
jksoft 0:4c75a597cb26 142 {0x1a, 0}, /* w */
jksoft 0:4c75a597cb26 143 {0x1b, 0}, /* x */
jksoft 0:4c75a597cb26 144 {0x1c, 0}, /* y */
jksoft 0:4c75a597cb26 145 {0x1d, 0}, /* z */
jksoft 0:4c75a597cb26 146 {0x2f, SHIFT}, /* { */
jksoft 0:4c75a597cb26 147 {0x31, SHIFT}, /* | */
jksoft 0:4c75a597cb26 148 {0x30, SHIFT}, /* } */
jksoft 0:4c75a597cb26 149 {0x35, SHIFT}, /* ~ */
jksoft 0:4c75a597cb26 150 {0,0}, /* DEL */
jksoft 0:4c75a597cb26 151 };
jksoft 0:4c75a597cb26 152
jksoft 0:4c75a597cb26 153 #else
jksoft 0:4c75a597cb26 154 /* UK keyboard */
jksoft 0:4c75a597cb26 155 #define KEYMAP_SIZE (128)
jksoft 0:4c75a597cb26 156 const KEYMAP keymap[KEYMAP_SIZE] = {
jksoft 0:4c75a597cb26 157 {0, 0}, /* NUL */
jksoft 0:4c75a597cb26 158 {0, 0}, /* SOH */
jksoft 0:4c75a597cb26 159 {0, 0}, /* STX */
jksoft 0:4c75a597cb26 160 {0, 0}, /* ETX */
jksoft 0:4c75a597cb26 161 {0, 0}, /* EOT */
jksoft 0:4c75a597cb26 162 {0, 0}, /* ENQ */
jksoft 0:4c75a597cb26 163 {0, 0}, /* ACK */
jksoft 0:4c75a597cb26 164 {0, 0}, /* BEL */
jksoft 0:4c75a597cb26 165 {0x2a, 0}, /* BS */ /* Keyboard Delete (Backspace) */
jksoft 0:4c75a597cb26 166 {0x2b, 0}, /* TAB */ /* Keyboard Tab */
jksoft 0:4c75a597cb26 167 {0x28, 0}, /* LF */ /* Keyboard Return (Enter) */
jksoft 0:4c75a597cb26 168 {0, 0}, /* VT */
jksoft 0:4c75a597cb26 169 {0, 0}, /* FF */
jksoft 0:4c75a597cb26 170 {0, 0}, /* CR */
jksoft 0:4c75a597cb26 171 {0, 0}, /* SO */
jksoft 0:4c75a597cb26 172 {0, 0}, /* SI */
jksoft 0:4c75a597cb26 173 {0, 0}, /* DEL */
jksoft 0:4c75a597cb26 174 {0, 0}, /* DC1 */
jksoft 0:4c75a597cb26 175 {0, 0}, /* DC2 */
jksoft 0:4c75a597cb26 176 {0, 0}, /* DC3 */
jksoft 0:4c75a597cb26 177 {0, 0}, /* DC4 */
jksoft 0:4c75a597cb26 178 {0, 0}, /* NAK */
jksoft 0:4c75a597cb26 179 {0, 0}, /* SYN */
jksoft 0:4c75a597cb26 180 {0, 0}, /* ETB */
jksoft 0:4c75a597cb26 181 {0, 0}, /* CAN */
jksoft 0:4c75a597cb26 182 {0, 0}, /* EM */
jksoft 0:4c75a597cb26 183 {0, 0}, /* SUB */
jksoft 0:4c75a597cb26 184 {0, 0}, /* ESC */
jksoft 0:4c75a597cb26 185 {0, 0}, /* FS */
jksoft 0:4c75a597cb26 186 {0, 0}, /* GS */
jksoft 0:4c75a597cb26 187 {0, 0}, /* RS */
jksoft 0:4c75a597cb26 188 {0, 0}, /* US */
jksoft 0:4c75a597cb26 189 {0x2c, 0}, /* */
jksoft 0:4c75a597cb26 190 {0x1e, SHIFT}, /* ! */
jksoft 0:4c75a597cb26 191 {0x1f, SHIFT}, /* " */
jksoft 0:4c75a597cb26 192 {0x32, 0}, /* # */
jksoft 0:4c75a597cb26 193 {0x21, SHIFT}, /* $ */
jksoft 0:4c75a597cb26 194 {0x22, SHIFT}, /* % */
jksoft 0:4c75a597cb26 195 {0x24, SHIFT}, /* & */
jksoft 0:4c75a597cb26 196 {0x34, 0}, /* ' */
jksoft 0:4c75a597cb26 197 {0x26, SHIFT}, /* ( */
jksoft 0:4c75a597cb26 198 {0x27, SHIFT}, /* ) */
jksoft 0:4c75a597cb26 199 {0x25, SHIFT}, /* * */
jksoft 0:4c75a597cb26 200 {0x2e, SHIFT}, /* + */
jksoft 0:4c75a597cb26 201 {0x36, 0}, /* , */
jksoft 0:4c75a597cb26 202 {0x2d, 0}, /* - */
jksoft 0:4c75a597cb26 203 {0x37, 0}, /* . */
jksoft 0:4c75a597cb26 204 {0x38, 0}, /* / */
jksoft 0:4c75a597cb26 205 {0x27, 0}, /* 0 */
jksoft 0:4c75a597cb26 206 {0x1e, 0}, /* 1 */
jksoft 0:4c75a597cb26 207 {0x1f, 0}, /* 2 */
jksoft 0:4c75a597cb26 208 {0x20, 0}, /* 3 */
jksoft 0:4c75a597cb26 209 {0x21, 0}, /* 4 */
jksoft 0:4c75a597cb26 210 {0x22, 0}, /* 5 */
jksoft 0:4c75a597cb26 211 {0x23, 0}, /* 6 */
jksoft 0:4c75a597cb26 212 {0x24, 0}, /* 7 */
jksoft 0:4c75a597cb26 213 {0x25, 0}, /* 8 */
jksoft 0:4c75a597cb26 214 {0x26, 0}, /* 9 */
jksoft 0:4c75a597cb26 215 {0x33, SHIFT}, /* : */
jksoft 0:4c75a597cb26 216 {0x33, 0}, /* ; */
jksoft 0:4c75a597cb26 217 {0x36, SHIFT}, /* < */
jksoft 0:4c75a597cb26 218 {0x2e, 0}, /* = */
jksoft 0:4c75a597cb26 219 {0x37, SHIFT}, /* > */
jksoft 0:4c75a597cb26 220 {0x38, SHIFT}, /* ? */
jksoft 0:4c75a597cb26 221 {0x34, SHIFT}, /* @ */
jksoft 0:4c75a597cb26 222 {0x04, SHIFT}, /* A */
jksoft 0:4c75a597cb26 223 {0x05, SHIFT}, /* B */
jksoft 0:4c75a597cb26 224 {0x06, SHIFT}, /* C */
jksoft 0:4c75a597cb26 225 {0x07, SHIFT}, /* D */
jksoft 0:4c75a597cb26 226 {0x08, SHIFT}, /* E */
jksoft 0:4c75a597cb26 227 {0x09, SHIFT}, /* F */
jksoft 0:4c75a597cb26 228 {0x0a, SHIFT}, /* G */
jksoft 0:4c75a597cb26 229 {0x0b, SHIFT}, /* H */
jksoft 0:4c75a597cb26 230 {0x0c, SHIFT}, /* I */
jksoft 0:4c75a597cb26 231 {0x0d, SHIFT}, /* J */
jksoft 0:4c75a597cb26 232 {0x0e, SHIFT}, /* K */
jksoft 0:4c75a597cb26 233 {0x0f, SHIFT}, /* L */
jksoft 0:4c75a597cb26 234 {0x10, SHIFT}, /* M */
jksoft 0:4c75a597cb26 235 {0x11, SHIFT}, /* N */
jksoft 0:4c75a597cb26 236 {0x12, SHIFT}, /* O */
jksoft 0:4c75a597cb26 237 {0x13, SHIFT}, /* P */
jksoft 0:4c75a597cb26 238 {0x14, SHIFT}, /* Q */
jksoft 0:4c75a597cb26 239 {0x15, SHIFT}, /* R */
jksoft 0:4c75a597cb26 240 {0x16, SHIFT}, /* S */
jksoft 0:4c75a597cb26 241 {0x17, SHIFT}, /* T */
jksoft 0:4c75a597cb26 242 {0x18, SHIFT}, /* U */
jksoft 0:4c75a597cb26 243 {0x19, SHIFT}, /* V */
jksoft 0:4c75a597cb26 244 {0x1a, SHIFT}, /* W */
jksoft 0:4c75a597cb26 245 {0x1b, SHIFT}, /* X */
jksoft 0:4c75a597cb26 246 {0x1c, SHIFT}, /* Y */
jksoft 0:4c75a597cb26 247 {0x1d, SHIFT}, /* Z */
jksoft 0:4c75a597cb26 248 {0x2f, 0}, /* [ */
jksoft 0:4c75a597cb26 249 {0x64, 0}, /* \ */
jksoft 0:4c75a597cb26 250 {0x30, 0}, /* ] */
jksoft 0:4c75a597cb26 251 {0x23, SHIFT}, /* ^ */
jksoft 0:4c75a597cb26 252 {0x2d, SHIFT}, /* _ */
jksoft 0:4c75a597cb26 253 {0x35, 0}, /* ` */
jksoft 0:4c75a597cb26 254 {0x04, 0}, /* a */
jksoft 0:4c75a597cb26 255 {0x05, 0}, /* b */
jksoft 0:4c75a597cb26 256 {0x06, 0}, /* c */
jksoft 0:4c75a597cb26 257 {0x07, 0}, /* d */
jksoft 0:4c75a597cb26 258 {0x08, 0}, /* e */
jksoft 0:4c75a597cb26 259 {0x09, 0}, /* f */
jksoft 0:4c75a597cb26 260 {0x0a, 0}, /* g */
jksoft 0:4c75a597cb26 261 {0x0b, 0}, /* h */
jksoft 0:4c75a597cb26 262 {0x0c, 0}, /* i */
jksoft 0:4c75a597cb26 263 {0x0d, 0}, /* j */
jksoft 0:4c75a597cb26 264 {0x0e, 0}, /* k */
jksoft 0:4c75a597cb26 265 {0x0f, 0}, /* l */
jksoft 0:4c75a597cb26 266 {0x10, 0}, /* m */
jksoft 0:4c75a597cb26 267 {0x11, 0}, /* n */
jksoft 0:4c75a597cb26 268 {0x12, 0}, /* o */
jksoft 0:4c75a597cb26 269 {0x13, 0}, /* p */
jksoft 0:4c75a597cb26 270 {0x14, 0}, /* q */
jksoft 0:4c75a597cb26 271 {0x15, 0}, /* r */
jksoft 0:4c75a597cb26 272 {0x16, 0}, /* s */
jksoft 0:4c75a597cb26 273 {0x17, 0}, /* t */
jksoft 0:4c75a597cb26 274 {0x18, 0}, /* u */
jksoft 0:4c75a597cb26 275 {0x19, 0}, /* v */
jksoft 0:4c75a597cb26 276 {0x1a, 0}, /* w */
jksoft 0:4c75a597cb26 277 {0x1b, 0}, /* x */
jksoft 0:4c75a597cb26 278 {0x1c, 0}, /* y */
jksoft 0:4c75a597cb26 279 {0x1d, 0}, /* z */
jksoft 0:4c75a597cb26 280 {0x2f, SHIFT}, /* { */
jksoft 0:4c75a597cb26 281 {0x64, SHIFT}, /* | */
jksoft 0:4c75a597cb26 282 {0x30, SHIFT}, /* } */
jksoft 0:4c75a597cb26 283 {0x32, SHIFT}, /* ~ */
jksoft 0:4c75a597cb26 284 {0,0}, /* DEL */
jksoft 0:4c75a597cb26 285 };
jksoft 0:4c75a597cb26 286 #endif
jksoft 0:4c75a597cb26 287
jksoft 0:4c75a597cb26 288 // [Add] Aarbitrary code
jksoft 0:4c75a597cb26 289 const KEYMAP extkeymap[] = {
jksoft 0:4c75a597cb26 290 {0x52, 0}, /* up */
jksoft 0:4c75a597cb26 291 {0x51, 0}, /* down */
jksoft 0:4c75a597cb26 292 {0x4F, 0}, /* right */
jksoft 0:4c75a597cb26 293 {0x50, 0} /* left */
jksoft 0:4c75a597cb26 294 };
jksoft 0:4c75a597cb26 295
jksoft 0:4c75a597cb26 296
jksoft 0:4c75a597cb26 297 #endif