Blob Blame History Raw
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;