From 43443ee9ba206b0963c49123bd03c250ed8e7b26 Mon Sep 17 00:00:00 2001 From: root Date: Sun, 7 Jun 2015 01:33:33 +0100 Subject: finished! --- app/keymap.c | 142 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 142 insertions(+) create mode 100644 app/keymap.c (limited to 'app/keymap.c') diff --git a/app/keymap.c b/app/keymap.c new file mode 100644 index 0000000..f6e529d --- /dev/null +++ b/app/keymap.c @@ -0,0 +1,142 @@ +#include "project.h" + +static int at_to_usb_keyboard[AT_SC_MAX]={ + [ AT_SC_GRAVE ] = USB_K_SC_GRAVE, + [ AT_SC_1 ] = USB_K_SC_1, + [ AT_SC_2 ] = USB_K_SC_2, + [ AT_SC_3 ] = USB_K_SC_3, + [ AT_SC_4 ] = USB_K_SC_4, + [ AT_SC_5 ] = USB_K_SC_5, + [ AT_SC_6 ] = USB_K_SC_6, + [ AT_SC_7 ] = USB_K_SC_7, + [ AT_SC_8 ] = USB_K_SC_8, + [ AT_SC_9 ] = USB_K_SC_9, + [ AT_SC_0 ] = USB_K_SC_0, + [ AT_SC_MINUS ] = USB_K_SC_MINUS, + [ AT_SC_EQUAL ] = USB_K_SC_EQUAL, + [ AT_SC_BACKSPACE ] = USB_K_SC_BACKSPACE, + [ AT_SC_TAB ] = USB_K_SC_TAB, + [ AT_SC_Q ] = USB_K_SC_Q, + [ AT_SC_W ] = USB_K_SC_W, + [ AT_SC_E ] = USB_K_SC_E, + [ AT_SC_R ] = USB_K_SC_R, + [ AT_SC_T ] = USB_K_SC_T, + [ AT_SC_Y ] = USB_K_SC_Y, + [ AT_SC_U ] = USB_K_SC_U, + [ AT_SC_I ] = USB_K_SC_I, + [ AT_SC_O ] = USB_K_SC_O, + [ AT_SC_P ] = USB_K_SC_P, + [ AT_SC_LEFTBRACE ] = USB_K_SC_LEFTBRACE, + [ AT_SC_RIGHTBRACE ] = USB_K_SC_RIGHTBRACE, + [ AT_SC_BACKSLASH ] = USB_K_SC_BACKSLASH, + [ AT_SC_CAPSLOCK ] = USB_K_SC_CAPSLOCK, + [ AT_SC_A ] = USB_K_SC_A, + [ AT_SC_S ] = USB_K_SC_S, + [ AT_SC_D ] = USB_K_SC_D, + [ AT_SC_F ] = USB_K_SC_F, + [ AT_SC_G ] = USB_K_SC_G, + [ AT_SC_H ] = USB_K_SC_H, + [ AT_SC_J ] = USB_K_SC_J, + [ AT_SC_K ] = USB_K_SC_K, + [ AT_SC_L ] = USB_K_SC_L, + [ AT_SC_SEMICOLON ] = USB_K_SC_SEMICOLON, + [ AT_SC_APOSTROPHE ] = USB_K_SC_APOSTROPHE, + [ AT_SC_ENTER ] = USB_K_SC_ENTER, + [ AT_SC_LEFTSHIFT ] = USB_K_SC_LEFTSHIFT, + [ AT_SC_Z ] = USB_K_SC_Z, + [ AT_SC_X ] = USB_K_SC_X, + [ AT_SC_C ] = USB_K_SC_C, + [ AT_SC_V ] = USB_K_SC_V, + [ AT_SC_B ] = USB_K_SC_B, + [ AT_SC_N ] = USB_K_SC_N, + [ AT_SC_M ] = USB_K_SC_M, + [ AT_SC_COMMA ] = USB_K_SC_COMMA, + [ AT_SC_DOT ] = USB_K_SC_DOT, + [ AT_SC_SLASH ] = USB_K_SC_SLASH, + [ AT_SC_RIGHTSHIFT ] = USB_K_SC_RIGHTSHIFT, + [ AT_SC_LEFTCTRL ] = USB_K_SC_LEFTCTRL, + [ AT_SC_LEFTALT ] = USB_K_SC_LEFTALT, + [ AT_SC_SPACE ] = USB_K_SC_SPACE, + [ AT_SC_RIGHTALT ] = USB_K_SC_RIGHTALT, + [ AT_SC_RIGHTCTRL ] = USB_K_SC_RIGHTCTRL, + [ AT_SC_INSERT ] = USB_K_SC_INSERT, + [ AT_SC_DELETE ] = USB_K_SC_DELETE, + [ AT_SC_LEFT ] = USB_K_SC_LEFT, + [ AT_SC_HOME ] = USB_K_SC_HOME, + [ AT_SC_END ] = USB_K_SC_END, + [ AT_SC_UP ] = USB_K_SC_UP, + [ AT_SC_DOWN ] = USB_K_SC_DOWN, + [ AT_SC_PAGEUP ] = USB_K_SC_PAGEUP, + [ AT_SC_PAGEDOWN ] = USB_K_SC_PAGEDOWN, + [ AT_SC_RIGHT ] = USB_K_SC_RIGHT, + [ AT_SC_NUMLOCK ] = USB_K_SC_NUMLOCK, + [ AT_SC_KP7 ] = USB_K_SC_KP7, + [ AT_SC_KP4 ] = USB_K_SC_KP4, + [ AT_SC_KP1 ] = USB_K_SC_KP1, + [ AT_SC_KPSLASH ] = USB_K_SC_KPSLASH, + [ AT_SC_KP8 ] = USB_K_SC_KP8, + [ AT_SC_KP5 ] = USB_K_SC_KP5, + [ AT_SC_KP2 ] = USB_K_SC_KP2, + [ AT_SC_KP0 ] = USB_K_SC_KP0, + [ AT_SC_KPASTERISK ] = USB_K_SC_KPASTERISK, + [ AT_SC_KP9 ] = USB_K_SC_KP9, + [ AT_SC_KP6 ] = USB_K_SC_KP6, + [ AT_SC_KP3 ] = USB_K_SC_KP3, + [ AT_SC_KPDOT ] = USB_K_SC_KPDOT, + [ AT_SC_KPMINUS ] = USB_K_SC_KPMINUS, + [ AT_SC_KPPLUS ] = USB_K_SC_KPPLUS, + [ AT_SC_KPENTER ] = USB_K_SC_KPENTER, + [ AT_SC_ESC ] = USB_K_SC_ESC, + [ AT_SC_F1 ] = USB_K_SC_F1, + [ AT_SC_F2 ] = USB_K_SC_F2, + [ AT_SC_F3 ] = USB_K_SC_F3, + [ AT_SC_F4 ] = USB_K_SC_F4, + [ AT_SC_F5 ] = USB_K_SC_F5, + [ AT_SC_F6 ] = USB_K_SC_F6, + [ AT_SC_F7 ] = USB_K_SC_F7, + [ AT_SC_F8 ] = USB_K_SC_F8, + [ AT_SC_F9 ] = USB_K_SC_F9, + [ AT_SC_F10 ] = USB_K_SC_F10, + [ AT_SC_F11 ] = USB_K_SC_F11, + [ AT_SC_F12 ] = USB_K_SC_F12, + [ AT_SC_SYSRQ ] = USB_K_SC_SYSRQ, + [ AT_SC_SCROLLLOCK ] = USB_K_SC_SCROLLLOCK, + [ AT_SC_PAUSE ] = USB_K_SC_PAUSE, + [ AT_SC_LEFTMETA ] = USB_K_SC_LEFTMETA, + [ AT_SC_RIGHTMETA ] = USB_K_SC_RIGHTMETA, + [ AT_SC_MENU ] = USB_K_SC_MENU, + [ AT_SC_POWER ] = USB_K_SC_POWER, + [ AT_SC_SLEEP ] = USB_K_SC_SLEEP, +// [ AT_SC_WAKEUP ] = USB_K_SC_WAKEUP, +// [ AT_SC_DBE_KATAKANA ] = USB_K_SC_DBE_KATAKANA, +// [ AT_SC_DBE_SBCSCHAR ] = USB_K_SC_DBE_SBCSCHAR, +// [ AT_SC_CONVERT ] = USB_K_SC_CONVERT, +// [ AT_SC_NONCONVERT ] = USB_K_SC_NONCONVERT, +}; + + +static int at_to_usb_consumer[AT_SC_MAX]={ + [ AT_SC_HOMEPAGE ] = USB_C_BF_HOMEPAGE, + [ AT_SC_MUTE ] = USB_C_BF_MUTE, + [ AT_SC_VOLUMEUP ] = USB_C_BF_VOLUMEUP, + [ AT_SC_VOLUMEDOWN ] = USB_C_BF_VOLUMEDOWN, + [ AT_SC_KEY_PREVIOUSSONG ] = USB_C_BF_PREVIOUSSONG, + [ AT_SC_KEY_PLAYPAUSE ] = USB_C_BF_PLAYPAUSE, + [ AT_SC_KEY_STOPCD ] = USB_C_BF_STOPCD, + [ AT_SC_KEY_NEXTSONG ] = USB_C_BF_NEXTSONG, +}; + + + + +void scancode_dispatch(int key,int updown) +{ + +if (at_to_usb_keyboard[key]) + keyboard_dispatch(at_to_usb_keyboard[key],updown); + +if (at_to_usb_consumer[key]) + consumer_dispatch(at_to_usb_consumer[key],updown); + +} + -- cgit v1.2.3