aboutsummaryrefslogtreecommitdiff
path: root/drivers/ps2_keymaps.c
diff options
context:
space:
mode:
authorFranklin Wei <frankhwei536@gmail.com>2015-02-20 21:59:07 -0500
committerFranklin Wei <frankhwei536@gmail.com>2015-02-20 21:59:07 -0500
commitd4a70e316e0991d788fb922e3e4eafae97fe950e (patch)
tree850f39e49c5bbd389a0b401e3837528b216b4afd /drivers/ps2_keymaps.c
parent0c128aab93656974bbf77132a487cff002c51d35 (diff)
downloadkappa-d4a70e316e0991d788fb922e3e4eafae97fe950e.zip
kappa-d4a70e316e0991d788fb922e3e4eafae97fe950e.tar.gz
kappa-d4a70e316e0991d788fb922e3e4eafae97fe950e.tar.bz2
kappa-d4a70e316e0991d788fb922e3e4eafae97fe950e.tar.xz
keyboard driver WIP
Diffstat (limited to 'drivers/ps2_keymaps.c')
-rw-r--r--drivers/ps2_keymaps.c314
1 files changed, 279 insertions, 35 deletions
diff --git a/drivers/ps2_keymaps.c b/drivers/ps2_keymaps.c
index 9a92452..cd7fd08 100644
--- a/drivers/ps2_keymaps.c
+++ b/drivers/ps2_keymaps.c
@@ -1,45 +1,289 @@
#include <stdint.h>
#include "ps2_keymaps.h"
-uint16_t ps2_keymap_set1[128] = {
- PS2_KEY_UNKNOWN,
- PS2_KEY_ESCAPE,
- '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '-', '=', PS2_KEY_BKSP,
- '\t','q', 'w', 'e', 't', 'y', 'u', 'i', 'o', 'p', '[', ']', '\n',
- PS2_KEY_CONTROL,
- 'a', 's', 'd', 'f', 'g', 'h', 'j', 'k', 'l', ';', '\'', '`',
- PS2_KEY_SHIFT,
+uint8_t ps2_scancodes_set1[128] = {
+ ERROR_KEY, /* error */
+ SPECIAL_KEY, /* esc */
+ PRINTING_KEY, /* 1 */
+ PRINTING_KEY, /* 2 */
+ PRINTING_KEY, /* 3 */
+ PRINTING_KEY, /* 4 */
+ PRINTING_KEY, /* 5 */
+ PRINTING_KEY, /* 6 */
+ PRINTING_KEY, /* 7 */
+ PRINTING_KEY, /* 8 */
+ PRINTING_KEY, /* 9 */
+ PRINTING_KEY, /* 0 */
+ PRINTING_KEY, /* - */
+ PRINTING_KEY, /* = */
+ SPECIAL_KEY, /* backspace */
+ PRINTING_KEY, /* tab */
+ PRINTING_KEY, /* Q */
+ PRINTING_KEY, /* W */
+ PRINTING_KEY, /* E */
+ PRINTING_KEY, /* R */
+ PRINTING_KEY, /* T */
+ PRINTING_KEY, /* Y */
+ PRINTING_KEY, /* U */
+ PRINTING_KEY, /* I */
+ PRINTING_KEY, /* O */
+ PRINTING_KEY, /* P */
+ PRINTING_KEY, /* [ */
+ PRINTING_KEY, /* ] */
+ PRINTING_KEY, /* enter */
+ SPECIAL_KEY, /* left ctrl */
+ PRINTING_KEY, /* A */
+ PRINTING_KEY, /* S */
+ PRINTING_KEY, /* D */
+ PRINTING_KEY, /* F */
+ PRINTING_KEY, /* G */
+ PRINTING_KEY, /* H */
+ PRINTING_KEY, /* J */
+ PRINTING_KEY, /* K */
+ PRINTING_KEY, /* L */
+ PRINTING_KEY, /* ; */
+ PRINTING_KEY, /* ' */
+ PRINTING_KEY, /* ` */
+ SPECIAL_KEY, /* left shift */
+ PRINTING_KEY, /* \ (backslash) */
+ PRINTING_KEY, /* Z */
+ PRINTING_KEY, /* X */
+ PRINTING_KEY, /* C */
+ PRINTING_KEY, /* V */
+ PRINTING_KEY, /* B */
+ PRINTING_KEY, /* N */
+ PRINTING_KEY, /* M */
+ PRINTING_KEY, /* , */
+ PRINTING_KEY, /* . */
+ PRINTING_KEY, /* / */
+ SPECIAL_KEY, /* right shift */
+ PRINTING_KEY, /* keypad * */
+ SPECIAL_KEY, /* right alt */
+ PRINTING_KEY, /* space */
+ SPECIAL_KEY, /* caps lock */
+ SPECIAL_KEY, /* F1 */
+ SPECIAL_KEY, /* F2 */
+ SPECIAL_KEY, /* F3 */
+ SPECIAL_KEY, /* F4 */
+ SPECIAL_KEY, /* F5 */
+ SPECIAL_KEY, /* F6 */
+ SPECIAL_KEY, /* F7 */
+ SPECIAL_KEY, /* F8 */
+ SPECIAL_KEY, /* F9 */
+ SPECIAL_KEY, /* F10 */
+ SPECIAL_KEY, /* num lock */
+ SPECIAL_KEY, /* scroll lock */
+ PRINTING_KEY, /* keypad 7 */
+ PRINTING_KEY, /* keypad 8 */
+ PRINTING_KEY, /* keypad 9 */
+ PRINTING_KEY, /* keypad - */
+ PRINTING_KEY, /* keypad 4 */
+ PRINTING_KEY, /* keypad 5 */
+ PRINTING_KEY, /* keypad 6 */
+ PRINTING_KEY, /* keypad + */
+ PRINTING_KEY, /* keypad 1 */
+ PRINTING_KEY, /* keypad 2 */
+ PRINTING_KEY, /* keypad 3 */
+ PRINTING_KEY, /* keypad 0 */
+ PRINTING_KEY, /* keypad . */
+ ERROR_KEY, /* 0x54 */
+ ERROR_KEY, /* 0x55 */
+ ERROR_KEY, /* 0x56 */
+ SPECIAL_KEY, /* F11 */
+ SPECIAL_KEY, /* F12 */
+ ERROR_KEY,
+ ERROR_KEY,
+ ERROR_KEY,
+ ERROR_KEY
+};
+
+char ps2_set1_ascii[128] = {
+ '\0',
+ '\0',
+ '1',
+ '2',
+ '3',
+ '4',
+ '5',
+ '6',
+ '7',
+ '8',
+ '9',
+ '0',
+ '-',
+ '=',
+ '\0',
+ '\t',
+ 'q',
+ 'w',
+ 'e',
+ 'r',
+ 't',
+ 'y',
+ 'u',
+ 'i',
+ 'o',
+ 'p',
+ '[',
+ ']',
+ '\n',
+ '\0',
+ 'a',
+ 's',
+ 'd',
+ 'f',
+ 'g',
+ 'h',
+ 'j',
+ 'k',
+ 'l',
+ ';',
+ '\'',
+ '`',
+ '\0',
'\\',
- 'z', 'x', 'c', 'v', 'b', 'n', 'm', ',', '.', '/', PS2_KEY_SHIFT,
+ 'z',
+ 'x',
+ 'c',
+ 'v',
+ 'b',
+ 'n',
+ 'm',
+ ',',
+ '.',
+ '/',
+ '\0',
+ '*',
+ '\0',
+ ' ',
+ '\0', /* caps lock */
+ '\0', /* F1 */
+ '\0', /* F2 */
+ '\0', /* F3 */
+ '\0', /* F4 */
+ '\0', /* F5 */
+ '\0', /* F6 */
+ '\0', /* F7 */
+ '\0', /* F8 */
+ '\0', /* F9 */
+ '\0', /* F10 */
+ '\0', /* num lock */
+ '\0', /* scroll lock */
+ '7',
+ '8',
+ '9',
+ '-',
+ '4',
+ '5',
+ '6',
+ '+',
+ '1',
+ '2',
+ '3',
+ '0',
+ '.',
+ '\0',
+ '\0',
+ '\0',
+ '\0',
+ '\0',
+ '\0',
+ '\0',
+ '\0',
+ '\0',
+};
+char ps2_set1_shift[128] = {
+ '\0',
+ '\0',
+ '!',
+ '@',
+ '#',
+ '$',
+ '%',
+ '^',
+ '&',
+ '*',
+ '(',
+ ')',
+ '_',
+ '+',
+ '\0',
+ '\t',
+ 'Q',
+ 'w',
+ 'E',
+ 'R',
+ 'T',
+ 'Y',
+ 'U',
+ 'I',
+ 'O',
+ 'P',
+ '{',
+ '}',
+ '\n',
+ '\0',
+ 'A',
+ 'S',
+ 'D',
+ 'F',
+ 'G',
+ 'H',
+ 'J',
+ 'K',
+ 'L',
+ ':',
+ '"',
+ '~',
+ '\0',
+ '|',
+ 'Z',
+ 'X',
+ 'C',
+ 'V',
+ 'B',
+ 'N',
+ 'M',
+ '<',
+ '>',
+ '?',
+ '\0',
'*',
- PS2_KEY_ALT,
- ' ', PS2_KEY_CAPSLOCK,
- PS2_KEY_F1,
- PS2_KEY_F2,
- PS2_KEY_F3,
- PS2_KEY_F4,
- PS2_KEY_F5,
- PS2_KEY_F6,
- PS2_KEY_F7,
- PS2_KEY_F8,
- PS2_KEY_F9,
- PS2_KEY_F10,
- PS2_KEY_NUMLOCK,
- PS2_KEY_SCRLLOCK,
- '7', '8', '9',
+ '\0',
+ ' ',
+ '\0', /* caps lock */
+ '\0', /* F1 */
+ '\0', /* F2 */
+ '\0', /* F3 */
+ '\0', /* F4 */
+ '\0', /* F5 */
+ '\0', /* F6 */
+ '\0', /* F7 */
+ '\0', /* F8 */
+ '\0', /* F9 */
+ '\0', /* F10 */
+ '\0', /* num lock */
+ '\0', /* scroll lock */
+ '7',
+ '8',
+ '9',
'-',
- '4', '5', '6',
+ '4',
+ '5',
+ '6',
'+',
- '1', '2', '3',
+ '1',
+ '2',
+ '3',
'0',
'.',
- PS2_KEY_UNKNOWN,
- PS2_KEY_UNKNOWN,
- PS2_KEY_UNKNOWN,
- PS2_KEY_F11,
- PS2_KEY_F12,
- PS2_KEY_UNKNOWN,
- PS2_KEY_UNKNOWN,
- PS2_KEY_UNKNOWN,
- PS2_KEY_UNKNOWN,
+ '\0',
+ '\0',
+ '\0',
+ '\0',
+ '\0',
+ '\0',
+ '\0',
+ '\0',
+ '\0',
};