diff options
Diffstat (limited to 'backends/platform/wince/CEActionsSmartphone.cpp')
-rw-r--r-- | backends/platform/wince/CEActionsSmartphone.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/backends/platform/wince/CEActionsSmartphone.cpp b/backends/platform/wince/CEActionsSmartphone.cpp index c6456d3eb5..2cce288323 100644 --- a/backends/platform/wince/CEActionsSmartphone.cpp +++ b/backends/platform/wince/CEActionsSmartphone.cpp @@ -181,6 +181,8 @@ void CEActionsSmartphone::initInstanceGame() { _key_action[SMARTPHONE_ACTION_MULTI].setKey(Common::ASCII_F1, SDLK_F1); // bargon : F1 to start else if (gameid == "atlantis") _key_action[SMARTPHONE_ACTION_MULTI].setKey(0, SDLK_KP0); // fate of atlantis : Ins to sucker-punch + else if (is_simon) + _key_action[SMARTPHONE_ACTION_MULTI].setKey(Common::ASCII_F10, SDLK_F10); // F10 else _key_action[SMARTPHONE_ACTION_MULTI].setKey('V', SDLK_v, KMOD_SHIFT); // FT cheat : shift-V // Bind keys @@ -232,6 +234,15 @@ bool CEActionsSmartphone::perform(GUI::ActionType action, bool pushed) { else _key_action[action].setKey(SDLK_s); } + if (action == SMARTPHONE_ACTION_SKIP && ConfMan.get("gameid") == "agi") { + // In several AGI games (for example SQ2) it is needed to press F10 to exit from + // a screen. But we still want be able to skip normally with the skip button. + // Because of this, we inject a F10 keystroke here (this works and doesn't seem + // to have side-effects) + _key_action[action].setKey(Common::ASCII_F10, SDLK_F10); // F10 + EventsBuffer::simulateKey(&_key_action[action], true); + _key_action[action].setKey(KEY_ALL_SKIP); + } EventsBuffer::simulateKey(&_key_action[action], true); return true; case SMARTPHONE_ACTION_RIGHTCLICK: |