[Scummvm-cvs-logs] SF.net SVN: scummvm: [27592] scummvm/trunk

fingolfin at users.sourceforge.net fingolfin at users.sourceforge.net
Thu Jun 21 20:35:16 CEST 2007


Revision: 27592
          http://scummvm.svn.sourceforge.net/scummvm/?rev=27592&view=rev
Author:   fingolfin
Date:     2007-06-21 11:35:15 -0700 (Thu, 21 Jun 2007)

Log Message:
-----------
Modified version of patch #1740493 (EVENTS: Event Key Codes)

Modified Paths:
--------------
    scummvm/trunk/backends/events/default/default-events.cpp
    scummvm/trunk/backends/platform/sdl/events.cpp
    scummvm/trunk/common/events.h

Modified: scummvm/trunk/backends/events/default/default-events.cpp
===================================================================
--- scummvm/trunk/backends/events/default/default-events.cpp	2007-06-21 17:40:00 UTC (rev 27591)
+++ scummvm/trunk/backends/events/default/default-events.cpp	2007-06-21 18:35:15 UTC (rev 27592)
@@ -106,7 +106,7 @@
 			event.type = Common::EVENT_KEYDOWN;
 			event.synthetic = true;
 			event.kbd.ascii = _currentKeyDown.ascii;
-			event.kbd.keycode = _currentKeyDown.keycode;
+			event.kbd.keycode = (Common::KeyCode)_currentKeyDown.keycode;
 			event.kbd.flags = _currentKeyDown.flags;
 			_keyRepeatTime = time + kKeyRepeatSustainDelay;
 			result = true;

Modified: scummvm/trunk/backends/platform/sdl/events.cpp
===================================================================
--- scummvm/trunk/backends/platform/sdl/events.cpp	2007-06-21 17:40:00 UTC (rev 27591)
+++ scummvm/trunk/backends/platform/sdl/events.cpp	2007-06-21 18:35:15 UTC (rev 27592)
@@ -265,7 +265,7 @@
 				return true;
 
 			event.type = Common::EVENT_KEYDOWN;
-			event.kbd.keycode = ev.key.keysym.sym;
+			event.kbd.keycode = (Common::KeyCode)ev.key.keysym.sym;
 			event.kbd.ascii = mapKey(ev.key.keysym.sym, ev.key.keysym.mod, ev.key.keysym.unicode);
 
 			return true;
@@ -278,7 +278,7 @@
 				return true;
 
 			event.type = Common::EVENT_KEYUP;
-			event.kbd.keycode = ev.key.keysym.sym;
+			event.kbd.keycode = (Common::KeyCode)ev.key.keysym.sym;
 			event.kbd.ascii = mapKey(ev.key.keysym.sym, ev.key.keysym.mod, ev.key.keysym.unicode);
 			b = event.kbd.flags = SDLModToOSystemKeyFlags(SDL_GetModState());
 
@@ -337,19 +337,19 @@
 				event.type = Common::EVENT_KEYDOWN;
 				switch (ev.jbutton.button) {
 				case JOY_BUT_ESCAPE:
-					event.kbd.keycode = SDLK_ESCAPE;
+					event.kbd.keycode = Common::KEYCODE_ESCAPE;
 					event.kbd.ascii = mapKey(SDLK_ESCAPE, ev.key.keysym.mod, 0);
 					break;
 				case JOY_BUT_PERIOD:
-					event.kbd.keycode = SDLK_PERIOD;
+					event.kbd.keycode = Common::KEYCODE_PERIOD;
 					event.kbd.ascii = mapKey(SDLK_PERIOD, ev.key.keysym.mod, 0);
 					break;
 				case JOY_BUT_SPACE:
-					event.kbd.keycode = SDLK_SPACE;
+					event.kbd.keycode = Common::KEYCODE_SPACE;
 					event.kbd.ascii = mapKey(SDLK_SPACE, ev.key.keysym.mod, 0);
 					break;
 				case JOY_BUT_F5:
-					event.kbd.keycode = SDLK_F5;
+					event.kbd.keycode = Common::KEYCODE_F5;
 					event.kbd.ascii = mapKey(SDLK_F5, ev.key.keysym.mod, 0);
 					break;
 				}
@@ -367,19 +367,19 @@
 				event.type = Common::EVENT_KEYUP;
 				switch (ev.jbutton.button) {
 				case JOY_BUT_ESCAPE:
-					event.kbd.keycode = SDLK_ESCAPE;
+					event.kbd.keycode = Common::KEYCODE_ESCAPE;
 					event.kbd.ascii = mapKey(SDLK_ESCAPE, ev.key.keysym.mod, 0);
 					break;
 				case JOY_BUT_PERIOD:
-					event.kbd.keycode = SDLK_PERIOD;
+					event.kbd.keycode = Common::KEYCODE_PERIOD;
 					event.kbd.ascii = mapKey(SDLK_PERIOD, ev.key.keysym.mod, 0);
 					break;
 				case JOY_BUT_SPACE:
-					event.kbd.keycode = SDLK_SPACE;
+					event.kbd.keycode = Common::KEYCODE_SPACE;
 					event.kbd.ascii = mapKey(SDLK_SPACE, ev.key.keysym.mod, 0);
 					break;
 				case JOY_BUT_F5:
-					event.kbd.keycode = SDLK_F5;
+					event.kbd.keycode = Common::KEYCODE_F5;
 					event.kbd.ascii = mapKey(SDLK_F5, ev.key.keysym.mod, 0);
 					break;
 				}

Modified: scummvm/trunk/common/events.h
===================================================================
--- scummvm/trunk/common/events.h	2007-06-21 17:40:00 UTC (rev 27591)
+++ scummvm/trunk/common/events.h	2007-06-21 18:35:15 UTC (rev 27592)
@@ -57,7 +57,8 @@
 
 	EVENT_QUIT = 10,
 	EVENT_SCREEN_CHANGED = 11,
-	/** The backend requests the agi engine's predictive dialog to be shown.
+	/**
+	 * The backend requests the agi engine's predictive dialog to be shown.
 	 * TODO: Fingolfin suggests that it would be of better value to expand
 	 * on this notion by generalizing its use. For example the backend could
 	 * use events to ask for the save game dialog or to pause the engine.
@@ -66,6 +67,155 @@
 	EVENT_PREDICTIVE_DIALOG = 12
 };
 
+enum KeyCode {
+	KEYCODE_BACKSPACE		= 8,
+	KEYCODE_TAB		= 9,
+	KEYCODE_CLEAR		= 12,
+	KEYCODE_RETURN		= 13,
+	KEYCODE_PAUSE		= 19,
+	KEYCODE_ESCAPE		= 27,
+	KEYCODE_SPACE		= 32,
+	KEYCODE_EXCLAIM		= 33,
+	KEYCODE_QUOTEDBL		= 34,
+	KEYCODE_HASH		= 35,
+	KEYCODE_DOLLAR		= 36,
+	KEYCODE_AMPERSAND		= 38,
+	KEYCODE_QUOTE		= 39,
+	KEYCODE_LEFTPAREN		= 40,
+	KEYCODE_RIGHTPAREN		= 41,
+	KEYCODE_ASTERISK		= 42,
+	KEYCODE_PLUS		= 43,
+	KEYCODE_COMMA		= 44,
+	KEYCODE_MINUS		= 45,
+	KEYCODE_PERIOD		= 46,
+	KEYCODE_SLASH		= 47,
+	KEYCODE_0			= 48,
+	KEYCODE_1			= 49,
+	KEYCODE_2			= 50,
+	KEYCODE_3			= 51,
+	KEYCODE_4			= 52,
+	KEYCODE_5			= 53,
+	KEYCODE_6			= 54,
+	KEYCODE_7			= 55,
+	KEYCODE_8			= 56,
+	KEYCODE_9			= 57,
+	KEYCODE_COLON		= 58,
+	KEYCODE_SEMICOLON		= 59,
+	KEYCODE_LESS		= 60,
+	KEYCODE_EQUALS		= 61,
+	KEYCODE_GREATER		= 62,
+	KEYCODE_QUESTION		= 63,
+	KEYCODE_AT			= 64,
+
+	KEYCODE_LEFTBRACKET	= 91,
+	KEYCODE_BACKSLASH		= 92,
+	KEYCODE_RIGHTBRACKET	= 93,
+	KEYCODE_CARET		= 94,
+	KEYCODE_UNDERSCORE		= 95,
+	KEYCODE_BACKQUOTE		= 96,
+	KEYCODE_a			= 97,
+	KEYCODE_b			= 98,
+	KEYCODE_c			= 99,
+	KEYCODE_d			= 100,
+	KEYCODE_e			= 101,
+	KEYCODE_f			= 102,
+	KEYCODE_g			= 103,
+	KEYCODE_h			= 104,
+	KEYCODE_i			= 105,
+	KEYCODE_j			= 106,
+	KEYCODE_k			= 107,
+	KEYCODE_l			= 108,
+	KEYCODE_m			= 109,
+	KEYCODE_n			= 110,
+	KEYCODE_o			= 111,
+	KEYCODE_p			= 112,
+	KEYCODE_q			= 113,
+	KEYCODE_r			= 114,
+	KEYCODE_s			= 115,
+	KEYCODE_t			= 116,
+	KEYCODE_u			= 117,
+	KEYCODE_v			= 118,
+	KEYCODE_w			= 119,
+	KEYCODE_x			= 120,
+	KEYCODE_y			= 121,
+	KEYCODE_z			= 122,
+	KEYCODE_DELETE		= 127,
+	
+	// Numeric keypad
+	KEYCODE_KP0		= 256,
+	KEYCODE_KP1		= 257,
+	KEYCODE_KP2		= 258,
+	KEYCODE_KP3		= 259,
+	KEYCODE_KP4		= 260,
+	KEYCODE_KP5		= 261,
+	KEYCODE_KP6		= 262,
+	KEYCODE_KP7		= 263,
+	KEYCODE_KP8		= 264,
+	KEYCODE_KP9		= 265,
+	KEYCODE_KP_PERIOD		= 266,
+	KEYCODE_KP_DIVIDE		= 267,
+	KEYCODE_KP_MULTIPLY	= 268,
+	KEYCODE_KP_MINUS		= 269,
+	KEYCODE_KP_PLUS		= 270,
+	KEYCODE_KP_ENTER		= 271,
+	KEYCODE_KP_EQUALS		= 272,
+
+	// Arrows + Home/End pad
+	KEYCODE_UP			= 273,
+	KEYCODE_DOWN		= 274,
+	KEYCODE_RIGHT		= 275,
+	KEYCODE_LEFT		= 276,
+	KEYCODE_INSERT		= 277,
+	KEYCODE_HOME		= 278,
+	KEYCODE_END		= 279,
+	KEYCODE_PAGEUP		= 280,
+	KEYCODE_PAGEDOWN		= 281,
+
+	// Function keys
+	KEYCODE_F1			= 282,
+	KEYCODE_F2			= 283,
+	KEYCODE_F3			= 284,
+	KEYCODE_F4			= 285,
+	KEYCODE_F5			= 286,
+	KEYCODE_F6			= 287,
+	KEYCODE_F7			= 288,
+	KEYCODE_F8			= 289,
+	KEYCODE_F9			= 290,
+	KEYCODE_F10		= 291,
+	KEYCODE_F11		= 292,
+	KEYCODE_F12		= 293,
+	KEYCODE_F13		= 294,
+	KEYCODE_F14		= 295,
+	KEYCODE_F15		= 296,
+
+	// Key state modifier keys
+	KEYCODE_NUMLOCK		= 300,
+	KEYCODE_CAPSLOCK		= 301,
+	KEYCODE_SCROLLOCK		= 302,
+	KEYCODE_RSHIFT		= 303,
+	KEYCODE_LSHIFT		= 304,
+	KEYCODE_RCTRL		= 305,
+	KEYCODE_LCTRL		= 306,
+	KEYCODE_RALT		= 307,
+	KEYCODE_LALT		= 308,
+	KEYCODE_RMETA		= 309,
+	KEYCODE_LMETA		= 310,
+	KEYCODE_LSUPER		= 311,		// Left "Windows" key
+	KEYCODE_RSUPER		= 312,		// Right "Windows" key
+	KEYCODE_MODE		= 313,		// "Alt Gr" key
+	KEYCODE_COMPOSE		= 314,		// Multi-key compose key
+
+	// Miscellaneous function keys 
+	KEYCODE_HELP		= 315,
+	KEYCODE_PRINT		= 316,
+	KEYCODE_SYSREQ		= 317,
+	KEYCODE_BREAK		= 318,
+	KEYCODE_MENU		= 319,
+	KEYCODE_POWER		= 320,		// Power Macintosh power key
+	KEYCODE_EURO		= 321,		// Some european keyboards
+	KEYCODE_UNDO		= 322		// Atari keyboard has Undo
+};
+
 /**
  * Keyboard modifier flags, used for Event::kbd::flags.
  */
@@ -125,7 +275,7 @@
 		 * we fix this, your best bet is to get a copy of SDL_keysym.h
 		 * and look at that, if you want to find out a key code.
 		 */
-		int keycode;
+		KeyCode keycode;
 		/**
 		 * ASCII-value of the pressed key (if any).
 		 * This depends on modifiers, i.e. pressing the 'A' key results in


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list