diff options
Diffstat (limited to 'backends')
-rw-r--r-- | backends/events/dinguxsdl/dinguxsdl-events.cpp | 34 | ||||
-rw-r--r-- | backends/keymapper/action.h | 2 | ||||
-rw-r--r-- | backends/platform/dingux/dingux.mk | 35 | ||||
-rw-r--r-- | backends/platform/wii/osystem_events.cpp | 136 |
4 files changed, 136 insertions, 71 deletions
diff --git a/backends/events/dinguxsdl/dinguxsdl-events.cpp b/backends/events/dinguxsdl/dinguxsdl-events.cpp index 6f9f2a7748..cc15f2666c 100644 --- a/backends/events/dinguxsdl/dinguxsdl-events.cpp +++ b/backends/events/dinguxsdl/dinguxsdl-events.cpp @@ -26,18 +26,48 @@ #include "backends/events/dinguxsdl/dinguxsdl-events.h" +#ifndef GCW0 #define PAD_UP SDLK_UP #define PAD_DOWN SDLK_DOWN #define PAD_LEFT SDLK_LEFT #define PAD_RIGHT SDLK_RIGHT #define BUT_A SDLK_LCTRL #define BUT_B SDLK_LALT -#define BUT_X SDLK_SPACE -#define BUT_Y SDLK_LSHIFT +#define BUT_X SDLK_SPACE // BUT_Y in GCW0 +#define BUT_Y SDLK_LSHIFT // BUT_X in GCW0 #define BUT_SELECT SDLK_ESCAPE #define BUT_START SDLK_RETURN #define TRIG_L SDLK_TAB #define TRIG_R SDLK_BACKSPACE +#else // GCW0 + +/****** + * GCW0 keymap + * Dingoo button + * A -> Left Button BUT_Y + * B -> right button BUT_B + * X -> ' ' BUT_A '0' + * Y -> '.' BUT_X + * Select -> ESC TRIG_R + * Start -> F5 TRIG_L + * L -> Shift BUT_START + * R -> VK BUT_SELECT + */ + +#define PAD_UP SDLK_UP +#define PAD_DOWN SDLK_DOWN +#define PAD_LEFT SDLK_LEFT +#define PAD_RIGHT SDLK_RIGHT +#define BUT_A SDLK_LSHIFT +#define BUT_B SDLK_LALT +#define BUT_X SDLK_SPACE +#define BUT_Y SDLK_LCTRL +#define BUT_SELECT SDLK_BACKSPACE +#define BUT_START SDLK_TAB +#define TRIG_L SDLK_RETURN +#define TRIG_R SDLK_ESCAPE + +#endif bool DINGUXSdlEventSource::remapKey(SDL_Event &ev, Common::Event &event) { if (ev.key.keysym.sym == PAD_UP) { diff --git a/backends/keymapper/action.h b/backends/keymapper/action.h index ed4bb86ce6..17b1153c77 100644 --- a/backends/keymapper/action.h +++ b/backends/keymapper/action.h @@ -37,7 +37,7 @@ namespace Common { struct HardwareInput; class Keymap; -#define ACTION_ID_SIZE (4) +#define ACTION_ID_SIZE (5) struct KeyActionEntry { const KeyState ks; diff --git a/backends/platform/dingux/dingux.mk b/backends/platform/dingux/dingux.mk index 48a9347143..1333e89ff8 100644 --- a/backends/platform/dingux/dingux.mk +++ b/backends/platform/dingux/dingux.mk @@ -1,6 +1,7 @@ DINGUX_EXE_STRIPPED := scummvm_stripped$(EXEEXT) bundle_name = dingux-dist/scummvm +gcw0_bundle = gcw0-opk all: $(DINGUX_EXE_STRIPPED) @@ -30,3 +31,37 @@ endif $(CP) $(srcdir)/backends/platform/dingux/scummvm.gpe $(bundle_name)/ $(CP) $(srcdir)/backends/platform/dingux/README.DINGUX $(bundle_name)/ $(CP) $(srcdir)/backends/platform/dingux/scummvm.png $(bundle_name)/ + +# Special target for generationg GCW-Zero OPK bundle +$(gcw0_bundle): all + $(MKDIR) $(gcw0_bundle) + $(CP) $(DIST_FILES_DOCS) $(gcw0_bundle)/ + $(MKDIR) $(gcw0_bundle)/themes + $(CP) $(DIST_FILES_THEMES) $(gcw0_bundle)/themes/ +ifdef DIST_FILES_ENGINEDATA + $(MKDIR) $(gcw0_bundle)/engine-data + $(CP) $(DIST_FILES_ENGINEDATA) $(gcw0_bundle)/engine-data/ +endif +ifdef DYNAMIC_MODULES + $(MKDIR) $(gcw0_bundle)/plugins + $(CP) $(PLUGINS) $(gcw0_bundle)/plugins/ +endif + $(CP) $(EXECUTABLE) $(gcw0_bundle)/scummvm + + $(CP) $(srcdir)/backends/vkeybd/packs/vkeybd_default.zip $(gcw0_bundle)/ + $(CP) $(srcdir)/backends/vkeybd/packs/vkeybd_small.zip $(gcw0_bundle)/ + + $(CP) $(srcdir)/dists/gcw0/scummvm.png $(gcw0_bundle)/ + $(CP) $(srcdir)/dists/gcw0/default.gcw0.desktop $(gcw0_bundle)/ + $(CP) $(srcdir)/dists/gcw0/scummvmrc $(gcw0_bundle)/ + $(CP) $(srcdir)/dists/gcw0/scummvm.sh $(gcw0_bundle)/ + +gcw0-opk-unstripped: $(gcw0_bundle) + $(CP) $(PLUGINS) $(gcw0_bundle)/plugins/ + $(CP) $(EXECUTABLE) $(gcw0_bundle)/scummvm + ./dists/gcw0/opk_make.sh -d $(gcw0_bundle) -o scummvm + +gcw-opk: $(gcw0_bundle) + $(STRIP) $(gcw0_bundle)/plugins/* + $(STRIP) $(gcw0_bundle)/scummvm + ./dists/gcw0/opk_make.sh -d $(gcw0_bundle) -o scummvm diff --git a/backends/platform/wii/osystem_events.cpp b/backends/platform/wii/osystem_events.cpp index 0563639de3..13f5d1fbe0 100644 --- a/backends/platform/wii/osystem_events.cpp +++ b/backends/platform/wii/osystem_events.cpp @@ -70,73 +70,73 @@ #endif #ifdef USE_WII_KBD -static int keymap[][2] = { - { KS_Return, Common::KEYCODE_RETURN }, - { KS_Up, Common::KEYCODE_UP }, - { KS_Down, Common::KEYCODE_DOWN }, - { KS_Left, Common::KEYCODE_LEFT }, - { KS_Right, Common::KEYCODE_RIGHT }, - { KS_Shift_L, Common::KEYCODE_LSHIFT }, - { KS_Shift_R, Common::KEYCODE_RSHIFT }, - { KS_Control_L, Common::KEYCODE_LCTRL }, - { KS_Control_R, Common::KEYCODE_RCTRL }, - { KS_Alt_L, Common::KEYCODE_LALT }, - { KS_Alt_R, Common::KEYCODE_RALT }, - { KS_Meta_L, Common::KEYCODE_LMETA }, - { KS_Meta_R, Common::KEYCODE_RMETA }, - { KS_KP_0, Common::KEYCODE_KP0 }, - { KS_KP_1, Common::KEYCODE_KP1 }, - { KS_KP_2, Common::KEYCODE_KP2 }, - { KS_KP_3, Common::KEYCODE_KP3 }, - { KS_KP_4, Common::KEYCODE_KP4 }, - { KS_KP_5, Common::KEYCODE_KP5 }, - { KS_KP_6, Common::KEYCODE_KP6 }, - { KS_KP_7, Common::KEYCODE_KP7 }, - { KS_KP_8, Common::KEYCODE_KP8 }, - { KS_KP_9, Common::KEYCODE_KP9 }, - { KS_Home, Common::KEYCODE_HOME }, - { KS_Insert, Common::KEYCODE_INSERT }, - { KS_End, Common::KEYCODE_END }, - { KS_Prior, Common::KEYCODE_PAGEUP }, - { KS_Next, Common::KEYCODE_PAGEDOWN }, - { KS_f1, Common::KEYCODE_F1 }, - { KS_f2, Common::KEYCODE_F2 }, - { KS_f3, Common::KEYCODE_F3 }, - { KS_f4, Common::KEYCODE_F4 }, - { KS_f5, Common::KEYCODE_F5 }, - { KS_f6, Common::KEYCODE_F6 }, - { KS_f7, Common::KEYCODE_F7 }, - { KS_f8, Common::KEYCODE_F8 }, - { KS_f9, Common::KEYCODE_F9 }, - { KS_f10, Common::KEYCODE_F10 }, - { KS_f11, Common::KEYCODE_F11 }, - { KS_f12, Common::KEYCODE_F12 }, - { KS_f13, Common::KEYCODE_F13 }, - { KS_f14, Common::KEYCODE_F14 }, - { KS_f15, Common::KEYCODE_F15 }, - { KS_F1, Common::KEYCODE_F1 }, - { KS_F2, Common::KEYCODE_F2 }, - { KS_F3, Common::KEYCODE_F3 }, - { KS_F4, Common::KEYCODE_F4 }, - { KS_F5, Common::KEYCODE_F5 }, - { KS_F6, Common::KEYCODE_F6 }, - { KS_F7, Common::KEYCODE_F7 }, - { KS_F8, Common::KEYCODE_F8 }, - { KS_F9, Common::KEYCODE_F9 }, - { KS_F10, Common::KEYCODE_F10 }, - { KS_F11, Common::KEYCODE_F11 }, - { KS_F12, Common::KEYCODE_F12 }, - { KS_F13, Common::KEYCODE_F13 }, - { KS_F14, Common::KEYCODE_F14 }, - { KS_F15, Common::KEYCODE_F15 }, - { KS_KP_Separator, Common::KEYCODE_KP_PERIOD }, - { KS_KP_Subtract, Common::KEYCODE_KP_DIVIDE }, - { KS_KP_Multiply, Common::KEYCODE_KP_MULTIPLY }, - { KS_KP_Add, Common::KEYCODE_KP_PLUS }, - { KS_KP_Subtract, Common::KEYCODE_KP_MINUS }, - { KS_KP_Equal, Common::KEYCODE_KP_EQUALS }, - { KS_KP_Enter, Common::KEYCODE_KP_ENTER }, - { 0, 0 } +static int keymap[][3] = { + { KS_Return, Common::KEYCODE_RETURN, Common::ASCII_RETURN }, + { KS_Up, Common::KEYCODE_UP, 0 }, + { KS_Down, Common::KEYCODE_DOWN, 0 }, + { KS_Left, Common::KEYCODE_LEFT, 0 }, + { KS_Right, Common::KEYCODE_RIGHT, 0 }, + { KS_Shift_L, Common::KEYCODE_LSHIFT, 0 }, + { KS_Shift_R, Common::KEYCODE_RSHIFT, 0 }, + { KS_Control_L, Common::KEYCODE_LCTRL, 0 }, + { KS_Control_R, Common::KEYCODE_RCTRL, 0 }, + { KS_Alt_L, Common::KEYCODE_LALT, 0 }, + { KS_Alt_R, Common::KEYCODE_RALT, 0 }, + { KS_Meta_L, Common::KEYCODE_LMETA, 0 }, + { KS_Meta_R, Common::KEYCODE_RMETA, 0 }, + { KS_KP_0, Common::KEYCODE_KP0, '0' }, + { KS_KP_1, Common::KEYCODE_KP1, '1' }, + { KS_KP_2, Common::KEYCODE_KP2, '2' }, + { KS_KP_3, Common::KEYCODE_KP3, '3' }, + { KS_KP_4, Common::KEYCODE_KP4, '4' }, + { KS_KP_5, Common::KEYCODE_KP5, '5' }, + { KS_KP_6, Common::KEYCODE_KP6, '6' }, + { KS_KP_7, Common::KEYCODE_KP7, '7' }, + { KS_KP_8, Common::KEYCODE_KP8, '8' }, + { KS_KP_9, Common::KEYCODE_KP9, '9' }, + { KS_Home, Common::KEYCODE_HOME, 0 }, + { KS_Insert, Common::KEYCODE_INSERT, 0 }, + { KS_End, Common::KEYCODE_END, 0 }, + { KS_Prior, Common::KEYCODE_PAGEUP, 0 }, + { KS_Next, Common::KEYCODE_PAGEDOWN, 0 }, + { KS_f1, Common::KEYCODE_F1, Common::ASCII_F1 }, + { KS_f2, Common::KEYCODE_F2, Common::ASCII_F2 }, + { KS_f3, Common::KEYCODE_F3, Common::ASCII_F3 }, + { KS_f4, Common::KEYCODE_F4, Common::ASCII_F4 }, + { KS_f5, Common::KEYCODE_F5, Common::ASCII_F5 }, + { KS_f6, Common::KEYCODE_F6, Common::ASCII_F6 }, + { KS_f7, Common::KEYCODE_F7, Common::ASCII_F7 }, + { KS_f8, Common::KEYCODE_F8, Common::ASCII_F8 }, + { KS_f9, Common::KEYCODE_F9, Common::ASCII_F9 }, + { KS_f10, Common::KEYCODE_F10, Common::ASCII_F10 }, + { KS_f11, Common::KEYCODE_F11, Common::ASCII_F11 }, + { KS_f12, Common::KEYCODE_F12, Common::ASCII_F12 }, + { KS_f13, Common::KEYCODE_F13, 0 }, + { KS_f14, Common::KEYCODE_F14, 0 }, + { KS_f15, Common::KEYCODE_F15, 0 }, + { KS_F1, Common::KEYCODE_F1, Common::ASCII_F1 }, + { KS_F2, Common::KEYCODE_F2, Common::ASCII_F2 }, + { KS_F3, Common::KEYCODE_F3, Common::ASCII_F3 }, + { KS_F4, Common::KEYCODE_F4, Common::ASCII_F4 }, + { KS_F5, Common::KEYCODE_F5, Common::ASCII_F5 }, + { KS_F6, Common::KEYCODE_F6, Common::ASCII_F6 }, + { KS_F7, Common::KEYCODE_F7, Common::ASCII_F7 }, + { KS_F8, Common::KEYCODE_F8, Common::ASCII_F8 }, + { KS_F9, Common::KEYCODE_F9, Common::ASCII_F9 }, + { KS_F10, Common::KEYCODE_F10, Common::ASCII_F10 }, + { KS_F11, Common::KEYCODE_F11, Common::ASCII_F11 }, + { KS_F12, Common::KEYCODE_F12, Common::ASCII_F12 }, + { KS_F13, Common::KEYCODE_F13, 0 }, + { KS_F14, Common::KEYCODE_F14, 0 }, + { KS_F15, Common::KEYCODE_F15, 0 }, + { KS_KP_Separator, Common::KEYCODE_KP_PERIOD, '.' }, + { KS_KP_Divide, Common::KEYCODE_KP_DIVIDE, '/' }, + { KS_KP_Multiply, Common::KEYCODE_KP_MULTIPLY, '*' }, + { KS_KP_Add, Common::KEYCODE_KP_PLUS, '+' }, + { KS_KP_Subtract, Common::KEYCODE_KP_MINUS, '-' }, + { KS_KP_Equal, Common::KEYCODE_KP_EQUALS, '=' }, + { KS_KP_Enter, Common::KEYCODE_KP_ENTER, Common::ASCII_RETURN }, + { 0, 0, 0 } }; #endif @@ -262,7 +262,7 @@ bool OSystem_Wii::pollKeyboard(Common::Event &event) { while (keymap[i][0] != 0) { if (keymap[i][0] == kbdEvent.symbol) { event.kbd.keycode = static_cast<Common::KeyCode>(keymap[i][1]); - event.kbd.ascii = 0; + event.kbd.ascii = keymap[i][2]; return true; } |