[Scummvm-cvs-logs] SF.net SVN: scummvm:[38258] scummvm/trunk/backends/platform/wii
dhewg at users.sourceforge.net
dhewg at users.sourceforge.net
Sun Feb 15 16:28:05 CET 2009
Revision: 38258
http://scummvm.svn.sourceforge.net/scummvm/?rev=38258&view=rev
Author: dhewg
Date: 2009-02-15 15:28:05 +0000 (Sun, 15 Feb 2009)
Log Message:
-----------
moved the keyboard event thread to libwiikeyboard.
Modified Paths:
--------------
scummvm/trunk/backends/platform/wii/osystem.cpp
scummvm/trunk/backends/platform/wii/osystem.h
scummvm/trunk/backends/platform/wii/osystem_events.cpp
Modified: scummvm/trunk/backends/platform/wii/osystem.cpp
===================================================================
--- scummvm/trunk/backends/platform/wii/osystem.cpp 2009-02-15 15:24:43 UTC (rev 38257)
+++ scummvm/trunk/backends/platform/wii/osystem.cpp 2009-02-15 15:28:05 UTC (rev 38258)
@@ -67,6 +67,8 @@
_mouseKeyColor(0),
_mouseCursor(NULL),
+ _kbd_active(false),
+
_event_quit(false),
_savefile(NULL),
Modified: scummvm/trunk/backends/platform/wii/osystem.h
===================================================================
--- scummvm/trunk/backends/platform/wii/osystem.h 2009-02-15 15:24:43 UTC (rev 38257)
+++ scummvm/trunk/backends/platform/wii/osystem.h 2009-02-15 15:28:05 UTC (rev 38258)
@@ -87,6 +87,8 @@
u8 _mouseKeyColor;
u8 *_mouseCursor;
+ bool _kbd_active;
+
bool _event_quit;
u32 _lastPadCheck;
Modified: scummvm/trunk/backends/platform/wii/osystem_events.cpp
===================================================================
--- scummvm/trunk/backends/platform/wii/osystem_events.cpp 2009-02-15 15:24:43 UTC (rev 38257)
+++ scummvm/trunk/backends/platform/wii/osystem_events.cpp 2009-02-15 15:28:05 UTC (rev 38258)
@@ -36,9 +36,6 @@
#define TIMER_THREAD_STACKSIZE (1024 * 32)
#define TIMER_THREAD_PRIO 64
-#define KBD_THREAD_STACKSIZE (1024 * 8)
-#define KBD_THREAD_PRIO 64
-
#define PAD_CHECK_TIME 40
#ifndef GAMECUBE
@@ -116,32 +113,6 @@
return NULL;
}
-#ifdef USE_WII_KBD
-static lwpq_t kbd_queue;
-static lwp_t kbd_thread;
-static u8 *kbd_stack;
-static bool kbd_thread_running = false;
-static bool kbd_thread_quit = false;
-
-static void * kbd_thread_func(void *arg) {
- u8 turns = 0;
-
- while (!kbd_thread_quit) {
- // scan for new attached keyboards every 3s
- turns++;
- if (turns % (3 * 100) == 0) {
- KEYBOARD_ScanForKeyboard();
- turns = 0;
- }
-
- KEYBOARD_Scan();
- usleep(1000 * 10);
- }
-
- return NULL;
-}
-#endif
-
void OSystem_Wii::initEvents() {
timer_thread_quit = false;
@@ -168,25 +139,7 @@
#endif
#ifdef USE_WII_KBD
- if(KEYBOARD_Init() >= 0) {
- kbd_thread_quit = false;
-
- kbd_stack = (u8 *) memalign(32, KBD_THREAD_STACKSIZE);
- memset(kbd_stack, 0, KBD_THREAD_STACKSIZE);
-
- LWP_InitQueue(&kbd_queue);
-
- s32 res = LWP_CreateThread(&kbd_thread, kbd_thread_func, NULL,
- kbd_stack, KBD_THREAD_STACKSIZE,
- KBD_THREAD_PRIO);
-
- if (res) {
- printf("ERROR creating keyboard thread: %d\n", res);
- LWP_CloseQueue(kbd_queue);
- }
-
- kbd_thread_running = res == 0;
- }
+ _kbd_active = KEYBOARD_Init() >= 0;
#endif
}
@@ -202,17 +155,8 @@
}
#ifdef USE_WII_KBD
- if (kbd_thread_running) {
- kbd_thread_quit = true;
- LWP_ThreadBroadcast(kbd_queue);
-
- LWP_JoinThread(kbd_thread, NULL);
- LWP_CloseQueue(kbd_queue);
-
- kbd_thread_running = false;
-
+ if (_kbd_active)
KEYBOARD_Deinit();
- }
#endif
#ifndef GAMECUBE
@@ -436,7 +380,7 @@
}
#ifdef USE_WII_KBD
- if (kbd_thread_running && pollKeyboard(event))
+ if (_kbd_active && pollKeyboard(event))
return true;
#endif
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