deepstone
diff src/scancode.h @ 33:03a0b307706a
added proper keyboard handling
author | John Tsiombikas <nuclear@member.fsf.org> |
---|---|
date | Mon, 23 Sep 2013 04:34:43 +0300 |
parents | |
children |
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/src/scancode.h Mon Sep 23 04:34:43 2013 +0300 1.3 @@ -0,0 +1,31 @@ 1.4 +#ifndef KEYB_C_ 1.5 +#error "do not include scancode.h anywhere..." 1.6 +#endif 1.7 + 1.8 +/* special keys */ 1.9 +enum { 1.10 + LALT, RALT, 1.11 + LCTRL, RCTRL, 1.12 + LSHIFT, RSHIFT, 1.13 + F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, 1.14 + CAPSLK, NUMLK, SCRLK, SYSRQ, 1.15 + ESC = 27, 1.16 + INSERT, DEL, HOME, END, PGUP, PGDN, LEFT, RIGHT, UP, DOWN, 1.17 + NUM_DOT, NUM_ENTER, NUM_PLUS, NUM_MINUS, NUM_MUL, NUM_DIV, 1.18 + NUM_0, NUM_1, NUM_2, NUM_3, NUM_4, NUM_5, NUM_6, NUM_7, NUM_8, NUM_9, 1.19 + BACKSP = 127 1.20 +}; 1.21 + 1.22 +/* table with rough translations from set 1 scancodes to ASCII-ish */ 1.23 +static int scantbl[] = { 1.24 + 0, ESC, '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '-', '=', '\b', /* 0 - e */ 1.25 + '\t', 'q', 'w', 'e', 'r', 't', 'y', 'u', 'i', 'o', 'p', '[', ']', '\n', /* f - 1c */ 1.26 + LCTRL, 'a', 's', 'd', 'f', 'g', 'h', 'j', 'k', 'l', ';', '\'', '`', /* 1d - 29 */ 1.27 + LSHIFT, '\\', 'z', 'x', 'c', 'v', 'b', 'n', 'm', ',', '.', '/', RSHIFT, /* 2a - 36 */ 1.28 + NUM_MUL, LALT, ' ', CAPSLK, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, /* 37 - 44 */ 1.29 + NUMLK, SCRLK, NUM_7, NUM_8, NUM_9, NUM_MINUS, NUM_4, NUM_5, NUM_6, NUM_PLUS, /* 45 - 4e */ 1.30 + NUM_1, NUM_2, NUM_3, NUM_0, NUM_DOT, SYSRQ, 0, 0, F11, F12, /* 4d - 58 */ 1.31 + 0, 0, 0, 0, 0, 0, 0, /* 59 - 5f */ 1.32 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 60 - 6f */ 1.33 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 /* 70 - 7f */ 1.34 +};