[Scummvm-cvs-logs] SF.net SVN: scummvm:[43398] scummvm/branches/gsoc2009-16bit/backends

upthorn at users.sourceforge.net upthorn at users.sourceforge.net
Sat Aug 15 11:12:36 CEST 2009


Revision: 43398
          http://scummvm.svn.sourceforge.net/scummvm/?rev=43398&view=rev
Author:   upthorn
Date:     2009-08-15 09:12:36 +0000 (Sat, 15 Aug 2009)

Log Message:
-----------
Added support for mapping keys to ctrl, alt, shift, or combinations thereof (though ctrl+alt will never trigger for some reason)

Modified Paths:
--------------
    scummvm/branches/gsoc2009-16bit/backends/keymapper/keymapper.cpp
    scummvm/branches/gsoc2009-16bit/backends/keymapper/types.h
    scummvm/branches/gsoc2009-16bit/backends/platform/sdl/hardwarekeys.cpp

Modified: scummvm/branches/gsoc2009-16bit/backends/keymapper/keymapper.cpp
===================================================================
--- scummvm/branches/gsoc2009-16bit/backends/keymapper/keymapper.cpp	2009-08-15 08:55:22 UTC (rev 43397)
+++ scummvm/branches/gsoc2009-16bit/backends/keymapper/keymapper.cpp	2009-08-15 09:12:36 UTC (rev 43398)
@@ -195,12 +195,13 @@
 		// HACK: Temporary fix for modifier recognition, get the hwkey's keystate
 		// to correct for keydown and keyup generating different ascii codes in SDL
 		// to be solved more permanently by using a structure other than KeyState
+
 		const HardwareKey *hwkey = findHardwareKey(key);
 		if (!hwkey)
 			return false;
 
 		KeyState k = hwkey->key;
-		k.flags = key.flags;
+		k.flags = key.flags & hwkey->modMask;
 
 		// Search for key in active keymap stack
 		for (int i = _activeMaps.size() - 1; i >= 0; --i) {

Modified: scummvm/branches/gsoc2009-16bit/backends/keymapper/types.h
===================================================================
--- scummvm/branches/gsoc2009-16bit/backends/keymapper/types.h	2009-08-15 08:55:22 UTC (rev 43397)
+++ scummvm/branches/gsoc2009-16bit/backends/keymapper/types.h	2009-08-15 09:12:36 UTC (rev 43398)
@@ -43,7 +43,7 @@
 	kTriggerRightKeyType,
 	kStartKeyType,
 	kSelectKeyType,
-//	kModiferKeyType,
+	kModiferKeyType,
 	/*  ...  */
 
 	kKeyTypeMax

Modified: scummvm/branches/gsoc2009-16bit/backends/platform/sdl/hardwarekeys.cpp
===================================================================
--- scummvm/branches/gsoc2009-16bit/backends/platform/sdl/hardwarekeys.cpp	2009-08-15 08:55:22 UTC (rev 43397)
+++ scummvm/branches/gsoc2009-16bit/backends/platform/sdl/hardwarekeys.cpp	2009-08-15 09:12:36 UTC (rev 43398)
@@ -163,12 +163,12 @@
 
 
 	// Modifier keys pressed alone
-//	{"RSHIFT", KEYCODE_RSHIFT, 0, "Right Shift", kModiferKeyType, ~KBD_SHIFT},
-//	{"LSHIFT", KEYCODE_LSHIFT, 0, "Left Shift", kModiferKeyType, ~KBD_SHIFT},
-//	{"RCTRL", KEYCODE_RCTRL, 0, "Right Ctrl", kModiferKeyType, ~KBD_CTRL},
-//	{"LCTRL", KEYCODE_LCTRL, 0, "Left Ctrl", kModiferKeyType, ~KBD_CTRL},
-//	{"RALT", KEYCODE_RALT, 0, "Right Alt", kModiferKeyType, ~KBD_ALT},
-//	{"LALT", KEYCODE_LALT, 0, "Left Alt", kModiferKeyType, ~KBD_ALT},
+	{"RSHIFT", KEYCODE_RSHIFT, 0, "Right Shift", kModiferKeyType, ~KBD_SHIFT},
+	{"LSHIFT", KEYCODE_LSHIFT, 0, "Left Shift", kModiferKeyType, ~KBD_SHIFT},
+	{"RCTRL", KEYCODE_RCTRL, 0, "Right Ctrl", kModiferKeyType, ~KBD_CTRL},
+	{"LCTRL", KEYCODE_LCTRL, 0, "Left Ctrl", kModiferKeyType, ~KBD_CTRL},
+	{"RALT", KEYCODE_RALT, 0, "Right Alt", kModiferKeyType, ~KBD_ALT},
+	{"LALT", KEYCODE_LALT, 0, "Left Alt", kModiferKeyType, ~KBD_ALT},
 
 
 	// Miscellaneous function keys


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