M
Das ist nur die halbe Keymap (KEY->char). Die andere Hälfte ist das Mapping Scancodes->KEY:
static const KEY_t scancodeToKey_default[] = // cf. http://www.win.tue.nl/~aeb/linux/kbd/scancodes-1.html#ss1.4
{
// 0 1 2 3 4 5 6 7
//---------------------------------------------------------------------------------------------------------
0, KEY_ESC, KEY_1, KEY_2, KEY_3, KEY_4, KEY_5, KEY_6, // 0
KEY_7, KEY_8, KEY_9, KEY_0, KEY_MINUS, KEY_EQUAL, KEY_BACK, KEY_TAB,
KEY_Q, KEY_W, KEY_E, KEY_R, KEY_T, KEY_Y, KEY_U, KEY_I, // 1
KEY_O, KEY_P, KEY_OSQBRA, KEY_CSQBRA, KEY_ENTER, KEY_LCTRL, KEY_A, KEY_S,
KEY_D, KEY_F, KEY_G, KEY_H, KEY_J, KEY_K, KEY_L, KEY_SEMI, // 2
KEY_APPOS, KEY_ACC, KEY_LSHIFT, KEY_BACKSL, KEY_Z, KEY_X, KEY_C, KEY_V,
KEY_B, KEY_N, KEY_M, KEY_COMMA, KEY_DOT, KEY_SLASH, KEY_RSHIFT, KEY_KPMULT, // 3
KEY_LALT, KEY_SPACE, KEY_CAPS, KEY_F1, KEY_F2, KEY_F3, KEY_F4, KEY_F5,
KEY_F6, KEY_F7, KEY_F8, KEY_F9, KEY_F10, KEY_NUM, KEY_SCROLL, KEY_KP7, // 4
KEY_KP8, KEY_KP9, KEY_KPMIN, KEY_KP4, KEY_KP5, KEY_KP6, KEY_KPPLUS, KEY_KP1,
KEY_KP2, KEY_KP3, KEY_KP0, KEY_KPDOT, 0, 0, KEY_GER_ABRA, KEY_F11, // 5
KEY_F12, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, // 6
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, // 7
0, 0, 0, 0, 0, 0, 0, 0,
};
static const KEY_t scancodeToKey_E0[] = // cf. http://www.win.tue.nl/~aeb/linux/kbd/scancodes-1.html#ss1.5
{
// 0 1 2 3 4 5 6 7
//---------------------------------------------------------------------------------------------------------
0, 0, 0, 0, 0, 0, 0, 0, // 0
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, // 1
0, 0, 0, 0, KEY_KPEN, KEY_RCTRL, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, // 2
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, KEY_KPSLASH, 0, KEY_PRINT, // 3
KEY_ALTGR, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, KEY_HOME, // 4
KEY_ARRU, KEY_PGUP, 0, KEY_ARRL, 0, KEY_ARRR, 0, KEY_END,
KEY_ARRD, KEY_PGDWN, KEY_INS, KEY_DEL, 0, 0, 0, 0, // 5
0, 0, 0, KEY_LGUI, KEY_RGUI, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, // 6
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, // 7
0, 0, 0, 0, 0, 0, 0, 0,
};