aboutsummaryrefslogtreecommitdiff
path: root/backends
diff options
context:
space:
mode:
authorAndre Heider2009-02-15 00:39:59 +0000
committerAndre Heider2009-02-15 00:39:59 +0000
commitd4ee8455cb29e78c9fd6a9a804304b5f861dc8aa (patch)
tree67984fb7b71aeac499724749d52a241babc51216 /backends
parent3f3921333530f32a584937db0641771c57095eaa (diff)
downloadscummvm-rg350-d4ee8455cb29e78c9fd6a9a804304b5f861dc8aa.tar.gz
scummvm-rg350-d4ee8455cb29e78c9fd6a9a804304b5f861dc8aa.tar.bz2
scummvm-rg350-d4ee8455cb29e78c9fd6a9a804304b5f861dc8aa.zip
Fixes for the changed keyboard API. Tweaked the PAD mappings to add GMM and VKEYBD.
svn-id: r38185
Diffstat (limited to 'backends')
-rw-r--r--backends/platform/wii/osystem_events.cpp28
1 files changed, 13 insertions, 15 deletions
diff --git a/backends/platform/wii/osystem_events.cpp b/backends/platform/wii/osystem_events.cpp
index 4478e363c0..2a9da4e954 100644
--- a/backends/platform/wii/osystem_events.cpp
+++ b/backends/platform/wii/osystem_events.cpp
@@ -123,7 +123,7 @@ static bool kbd_thread_quit = false;
static void * kbd_thread_func(void *arg) {
while (!kbd_thread_quit) {
- KEYBOARD_ScanKeyboards();
+ KEYBOARD_Scan();
usleep(1000 * 10);
}
@@ -214,9 +214,9 @@ void OSystem_Wii::updateEventScreenResolution() {
#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 @@ bool OSystem_Wii::pollKeyboard(Common::Event &event) {
}
#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 @@ bool OSystem_Wii::pollKeyboard(Common::Event &event) {
event.type = Common::EVENT_KEYUP; \
event.kbd.keycode = kbd_keycode; \
event.kbd.ascii = kbd_ascii; \
+ event.kbd.flags = modifier; \
return true; \
} \
} while (0)
@@ -326,17 +327,14 @@ bool OSystem_Wii::pollEvent(Common::Event &event) {
#endif
if (bd || bu) {
- if (bh & PADS_UP)
- event.kbd.flags = Common::KBD_SHIFT;
-
- 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');
+ 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');
if ((bd | bu) & (PADS_A | PADS_B)) {
if (bd & PADS_A)