diff -up ClanLib-0.6.5/Sources/API/Display/Input/key.h~ ClanLib-0.6.5/Sources/API/Display/Input/key.h --- ClanLib-0.6.5/Sources/API/Display/Input/key.h~ 2001-10-18 11:23:04.000000000 +0200 +++ ClanLib-0.6.5/Sources/API/Display/Input/key.h 2009-11-29 20:44:19.000000000 +0100 @@ -56,6 +56,23 @@ enum CL_MOUSE_WHEELDOWN, CL_MOUSE_WHEELBUTTON, + /* Additional key enums added by Fedora for complete keyb coverage */ + CL_KEY_GRAVE, + CL_KEY_SUBTRACT, + CL_KEY_EQUALS, + CL_KEY_LEFT_BRACKET, + CL_KEY_RIGHT_BRACKET, + CL_KEY_SEMICOLON, + CL_KEY_QUOTE, + CL_KEY_COMMA, + CL_KEY_PERIOD, + CL_KEY_DIVIDE, + CL_KEY_BACKSLASH, + CL_KEY_LWIN, + CL_KEY_RWIN, + CL_KEY_APPS, + CL_KEY_COMPOSE, + CL_NUM_KEYS }; diff -up ClanLib-0.6.5/Sources/Display/Input/X11/keyboard_x11.cpp~ ClanLib-0.6.5/Sources/Display/Input/X11/keyboard_x11.cpp --- ClanLib-0.6.5/Sources/Display/Input/X11/keyboard_x11.cpp~ 2002-03-02 17:43:48.000000000 +0100 +++ ClanLib-0.6.5/Sources/Display/Input/X11/keyboard_x11.cpp 2009-11-29 20:56:59.000000000 +0100 @@ -197,7 +197,7 @@ int CL_XWindowKeyboard::map_keysym_to_id // case XK_Clear: return CL_KEY_CLEAR; case XK_Return: return CL_KEY_ENTER; case XK_Pause: return CL_KEY_PAUSE; -// case XK_Scroll_Lock: return CL_KEY_SCROLL; + case XK_Scroll_Lock: return CL_KEY_SCRLOCK; case XK_Escape: return CL_KEY_ESCAPE; case XK_Delete: return CL_KEY_DELETE; // case XK_Kanji: return CL_KEY_KANJI; @@ -243,12 +243,11 @@ int CL_XWindowKeyboard::map_keysym_to_id case XK_Meta_R: return CL_KEY_ALTGR; case XK_Alt_L: return CL_KEY_ALT; case XK_Alt_R: return CL_KEY_ALTGR; - + case XK_Super_L: return CL_KEY_LWIN; + case XK_Super_R: return CL_KEY_RWIN; + case XK_Menu: return CL_KEY_APPS; + case XK_Multi_key: return CL_KEY_COMPOSE; case XK_space: return CL_KEY_SPACE; -// case XK_comma: return CL_KEY_COMMA; -// case XK_minus: return CL_KEY_MINUS; -// case XK_period: return CL_KEY_PERIOD; -// case XK_slash: return CL_KEY_SLASH; case XK_0: return CL_KEY_0; case XK_1: return CL_KEY_1; case XK_2: return CL_KEY_2; @@ -259,11 +258,6 @@ int CL_XWindowKeyboard::map_keysym_to_id case XK_7: return CL_KEY_7; case XK_8: return CL_KEY_8; case XK_9: return CL_KEY_9; -// case XK_semicolon: return CL_KEY_PUNKTUM; -// case XK_equal: return CL_KEY_EQUAL; -// case XK_bracketleft: return CL_KEY_BRACKETLEFT; -// case XK_backslash: return CL_KEY_BACKSLASH; -// case XK_bracketright: return CL_KEY_BRACKETRIGHT; case XK_a: return CL_KEY_A; case XK_b: return CL_KEY_B; case XK_c: return CL_KEY_C; @@ -290,6 +284,17 @@ int CL_XWindowKeyboard::map_keysym_to_id case XK_x: return CL_KEY_X; case XK_y: return CL_KEY_Y; case XK_z: return CL_KEY_Z; + case XK_grave: return CL_KEY_GRAVE; + case XK_minus: return CL_KEY_SUBTRACT; + case XK_equal: return CL_KEY_EQUALS; + case XK_bracketleft: return CL_KEY_LEFT_BRACKET; + case XK_bracketright: return CL_KEY_RIGHT_BRACKET; + case XK_semicolon: return CL_KEY_SEMICOLON; + case XK_apostrophe: return CL_KEY_QUOTE; + case XK_comma: return CL_KEY_COMMA; + case XK_period: return CL_KEY_PERIOD; + case XK_slash: return CL_KEY_DIVIDE; + case XK_backslash: return CL_KEY_BACKSLASH; } return CL_KEY_NONE_OF_THE_ABOVE; @@ -386,6 +386,7 @@ int CL_XWindowKeyboard::map_id_to_keysym case CL_KEY_KP_MINUS: return 82; case CL_KEY_KP_PLUS: return 86; case CL_KEY_KP_ENTER: return 108; + case CL_KEY_KP_DECIMAL: return 91; /* Found these codes in /usr/X11R6/lib/X11/xkb/keycodes/xfree86 * from an XFree86 4.0.1 installation. @@ -401,6 +402,22 @@ int CL_XWindowKeyboard::map_id_to_keysym case CL_KEY_KP_7: return 79; case CL_KEY_KP_8: return 80; case CL_KEY_KP_9: return 81; + + case CL_KEY_GRAVE: return 49; + case CL_KEY_SUBTRACT: return 20; + case CL_KEY_EQUALS: return 21; + case CL_KEY_LEFT_BRACKET: return 34; + case CL_KEY_RIGHT_BRACKET: return 35; + case CL_KEY_SEMICOLON: return 47; + case CL_KEY_QUOTE: return 48; + case CL_KEY_COMMA: return 59; + case CL_KEY_PERIOD: return 60; + case CL_KEY_DIVIDE: return 61; + case CL_KEY_BACKSLASH: return 51; + case CL_KEY_LWIN: return 133; + case CL_KEY_RWIN: return 134; + case CL_KEY_APPS: return 135; + case CL_KEY_COMPOSE: return 108; } return -1;