--- ./src/linux_x/i_video_xshm.c~ 2011-01-20 03:42:37.000000000 +0200 +++ ./src/linux_x/i_video_xshm.c 2011-01-20 03:42:41.607999561 +0200 @@ -570,21 +570,9 @@ return; } -static int dirtyMapTable[256] = -{0, 0, 0, 0, 0, 0, 0, 0, 0, 65307, 49, 50, 51, 52, 53, 54, 55, 56, 57, 48, - 45, 61, 65288, 65289, 113, 119, 101, 114, 116, 121, 117, 105, 111, 112, 91, - 93, 65293, 65507, 97, 115, 100, 102, 103, 104, 106, 107, 108, 59, 39, 96, - 65505, 92, 122, 120, 99, 118, 98, 110, 109, 44, 46, 47, 65506, 65450, 65511, - 32, 65509, 65470, 65471, 65472, 65473, 65474, 65475, 65476, 65477, 65478, - 65479, 65407, 65300, 65429, 65431, 65434, 65453, 65430, 65437, 65432, 65451, - 65436, 65433, 65435, 65438, 65439, 0, 0, 0, 65480, 65481, 65360, 65362, 65365, - 65361, 0, 65363, 65367, 65364, 65366, 65379, 65535, 65421, 65312, 65299, 65377, - 65455, 65514, 0, 65515, 65516, 65518, 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, 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, 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, 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, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; +// compat with 1.42 +#define KEY_EQUALS 61 // '=' +#define KEY_MINUS 45 // '-' // // Translates the key currently in X_event @@ -598,13 +586,7 @@ keycode = X_event.xkey.keycode; keysym = XKeycodeToKeysym(X_display, keycode, 0); - if(con_keymap == english) { - rc = keysym; - } - else { - rc = dirtyMapTable[keycode]; - } - + rc = keysym; switch(rc) { case XK_Left : rc = KEY_LEFTARROW; break; @@ -629,7 +611,7 @@ case XK_F12: rc = KEY_F12; break; // hey, it's not a sparc 19990128 by Kin case XK_BackSpace: rc = KEY_BACKSPACE; break; - case XK_Delete: rc = KEY_DEL; break; + case XK_Delete: rc = KEY_DELETE; break; case XK_Pause: rc = KEY_PAUSE; break; @@ -641,8 +623,10 @@ case XK_minus: rc = KEY_MINUS; break; case XK_Shift_L: + rc = KEY_LSHIFT; + break; case XK_Shift_R: - rc = KEY_SHIFT; + rc = KEY_RSHIFT; break; case XK_Caps_Lock: @@ -650,17 +634,25 @@ break; case XK_Multi_key: + rc = KEY_RWIN; // best pick: glen + break; case XK_Control_L: + rc = KEY_LCTRL; + break; case XK_Control_R: - rc = KEY_CTRL; + rc = KEY_RCTRL; break; case XK_Mode_switch: + rc = KEY_MODE; + break; case XK_Alt_L: case XK_Meta_L: + rc = KEY_LALT; + break; case XK_Alt_R: case XK_Meta_R: - rc = KEY_ALT; + rc = KEY_RALT; break; // I forgot them..... 19990128 by Kin @@ -681,7 +673,7 @@ case XK_KP_Home : rc = KEY_KEYPAD7; break; case XK_KP_Up : rc = KEY_KEYPAD8; break; case XK_KP_Page_Up : rc = KEY_KEYPAD9; break; - case XK_KP_Delete : rc = KEY_KPADDEL; break; + case XK_KP_Delete : rc = KEY_DELETE; break; case XK_KP_Divide : rc = KEY_KPADSLASH; break; case XK_KP_Enter : rc = KEY_ENTER; break;