[Scummvm-cvs-logs] SF.net SVN: scummvm:[38185] scummvm/trunk/backends/platform/wii/ osystem_events.cpp

dhewg at users.sourceforge.net dhewg at users.sourceforge.net
Sun Feb 15 01:40:00 CET 2009


Revision: 38185
          http://scummvm.svn.sourceforge.net/scummvm/?rev=38185&view=rev
Author:   dhewg
Date:     2009-02-15 00:39:59 +0000 (Sun, 15 Feb 2009)

Log Message:
-----------
Fixes for the changed keyboard API. Tweaked the PAD mappings to add GMM and VKEYBD.

Modified Paths:
--------------
    scummvm/trunk/backends/platform/wii/osystem_events.cpp

Modified: scummvm/trunk/backends/platform/wii/osystem_events.cpp
===================================================================
--- scummvm/trunk/backends/platform/wii/osystem_events.cpp	2009-02-15 00:10:57 UTC (rev 38184)
+++ scummvm/trunk/backends/platform/wii/osystem_events.cpp	2009-02-15 00:39:59 UTC (rev 38185)
@@ -123,7 +123,7 @@
 
 static void * kbd_thread_func(void *arg) {
 	while (!kbd_thread_quit) {
-		KEYBOARD_ScanKeyboards();
+		KEYBOARD_Scan();
 		usleep(1000 * 10);
 	}
 
@@ -214,9 +214,9 @@
 #ifndef GAMECUBE
 bool OSystem_Wii::pollKeyboard(Common::Event &event) {
 	int i;
-	keyboardEvent kbdEvent;
+	keyboard_event kbdEvent;
 
-	if (!KEYBOARD_getEvent(&kbdEvent))
+	if (!KEYBOARD_GetEvent(&kbdEvent) > 0)
 		return false;
 
 	switch (kbdEvent.type) {
@@ -281,7 +281,7 @@
 }
 #endif
 
-#define KBD_EVENT(pad_button, kbd_keycode, kbd_ascii) \
+#define KBD_EVENT(pad_button, kbd_keycode, kbd_ascii, modifier) \
 	do { \
 		if ((bd | bu) & pad_button) { \
 			if (bd & pad_button) \
@@ -290,6 +290,7 @@
 				event.type = Common::EVENT_KEYUP; \
 			event.kbd.keycode = kbd_keycode; \
 			event.kbd.ascii = kbd_ascii; \
+			event.kbd.flags = modifier; \
 			return true; \
 		} \
 	} while (0)
@@ -326,18 +327,15 @@
 #endif
 
 	if (bd || bu) {
-		if (bh & PADS_UP)
-			event.kbd.flags = Common::KBD_SHIFT;
+		KBD_EVENT(PADS_Z, Common::KEYCODE_RETURN, Common::ASCII_RETURN, 0);
+		KBD_EVENT(PADS_X, Common::KEYCODE_ESCAPE, Common::ASCII_ESCAPE, 0);
+		KBD_EVENT(PADS_Y, Common::KEYCODE_PERIOD, '.', 0);
+		KBD_EVENT(PADS_START, Common::KEYCODE_F5, Common::ASCII_F5, 0);
+		KBD_EVENT(PADS_UP, Common::KEYCODE_F5, Common::ASCII_F5, Common::KBD_CTRL);
+		KBD_EVENT(PADS_DOWN, Common::KEYCODE_F7, Common::ASCII_F7, 0);
+		//KBD_EVENT(PADS_LEFT, Common::KEYCODE_F8, Common::ASCII_F8, 0);
+		//KBD_EVENT(PADS_RIGHT, Common::KEYCODE_n, 'n');
 
-		KBD_EVENT(PADS_Z, Common::KEYCODE_RETURN, Common::ASCII_RETURN);
-		KBD_EVENT(PADS_X, Common::KEYCODE_ESCAPE, Common::ASCII_ESCAPE);
-		KBD_EVENT(PADS_Y, Common::KEYCODE_PERIOD, '.');
-		KBD_EVENT(PADS_START, Common::KEYCODE_F5, Common::ASCII_F5);
-		KBD_EVENT(PADS_UP, Common::KEYCODE_LSHIFT, 0);
-		KBD_EVENT(PADS_DOWN, Common::KEYCODE_0, '0');
-		KBD_EVENT(PADS_LEFT, Common::KEYCODE_y, 'y');
-		KBD_EVENT(PADS_RIGHT, Common::KEYCODE_n, 'n');
-
 		if ((bd | bu) & (PADS_A | PADS_B)) {
 			if (bd & PADS_A)
 				event.type = Common::EVENT_LBUTTONDOWN;


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