aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--backends/platform/symbian/src/SymbianActions.cpp16
-rw-r--r--backends/platform/symbian/src/SymbianActions.h1
-rw-r--r--backends/platform/symbian/src/SymbianOS.cpp3
-rw-r--r--engines/dialogs.cpp1
4 files changed, 13 insertions, 8 deletions
diff --git a/backends/platform/symbian/src/SymbianActions.cpp b/backends/platform/symbian/src/SymbianActions.cpp
index b99d39708b..27c3e7bb06 100644
--- a/backends/platform/symbian/src/SymbianActions.cpp
+++ b/backends/platform/symbian/src/SymbianActions.cpp
@@ -52,17 +52,18 @@ const Common::String actionNames[] = {
"Pause",
"Fast mode",
"Quit",
- "Debugger"
+ "Debugger",
+ "Global menu"
};
#ifdef UIQ
-static const int ACTIONS_DEFAULT[ACTION_LAST] = { SDLK_UP, SDLK_DOWN, SDLK_LEFT, SDLK_RIGHT, SDLK_F1, SDLK_F2, SDLK_F5, SDLK_PAGEDOWN, '9', 0, 0, SDLK_PAGEUP, 0, 0, 0, 0};
+static const int ACTIONS_DEFAULT[ACTION_LAST] = { SDLK_UP, SDLK_DOWN, SDLK_LEFT, SDLK_RIGHT, SDLK_F1, SDLK_F2, SDLK_F5, SDLK_PAGEDOWN, '9', 0, 0, SDLK_PAGEUP, 0, 0, 0, 0, 0};
#elif defined (S60)
-const int ACTIONS_DEFAULT[ACTION_LAST] = { 0, 0, 0, 0, 0, 0, '*', '#', '9', 0, 0, 0, 0, 0, 0, 0};
+const int ACTIONS_DEFAULT[ACTION_LAST] = { 0, 0, 0, 0, 0, 0, '*', '#', '9', 0, 0, 0, 0, 0, 0, 0, '1'};
#elif defined (S90)
-const int ACTIONS_DEFAULT[ACTION_LAST] = { SDLK_UP, SDLK_DOWN, SDLK_LEFT, SDLK_RIGHT, 0, 0, SDLK_MENU, SDLK_ESCAPE, 0, 0 , 0, 0, 0, 0, 0, 0};
+const int ACTIONS_DEFAULT[ACTION_LAST] = { SDLK_UP, SDLK_DOWN, SDLK_LEFT, SDLK_RIGHT, 0, 0, SDLK_MENU, SDLK_ESCAPE, 0, 0 , 0, 0, 0, 0, 0, 0, 0};
#else
-const int ACTIONS_DEFAULT[ACTION_LAST] = { SDLK_UP, SDLK_DOWN, SDLK_LEFT, SDLK_RIGHT, SDLK_F1, SDLK_F2, SDLK_MENU, SDLK_ESCAPE, 0, 0, 0, 0, 0, 0, 0, 0};
+const int ACTIONS_DEFAULT[ACTION_LAST] = { SDLK_UP, SDLK_DOWN, SDLK_LEFT, SDLK_RIGHT, SDLK_F1, SDLK_F2, SDLK_MENU, SDLK_ESCAPE, 0, 0, 0, 0, 0, 0, 0, 0, '1'};
#endif
// creator function according to Factory Pattern
@@ -213,8 +214,9 @@ void SymbianActions::initInstanceGame() {
_action_enabled[ACTION_DEBUGGER] = true;
_key_action[ACTION_DEBUGGER].setKey('d', Common::KEYCODE_d, KMOD_CTRL);
-
-
+ // Enable global menu
+ _action_enabled[ACTION_MAINMENU] = true;
+ _key_action[ACTION_MAINMENU].setKey(Common::ASCII_F5, Common::KEYCODE_F5, KMOD_CTRL);
}
diff --git a/backends/platform/symbian/src/SymbianActions.h b/backends/platform/symbian/src/SymbianActions.h
index 1e68fbbe46..19cee2efab 100644
--- a/backends/platform/symbian/src/SymbianActions.h
+++ b/backends/platform/symbian/src/SymbianActions.h
@@ -52,6 +52,7 @@ enum actionType {
ACTION_FASTMODE,
ACTION_QUIT,
ACTION_DEBUGGER,
+ ACTION_MAINMENU,
ACTION_LAST
};
diff --git a/backends/platform/symbian/src/SymbianOS.cpp b/backends/platform/symbian/src/SymbianOS.cpp
index 43a27c5436..b8dd96adea 100644
--- a/backends/platform/symbian/src/SymbianOS.cpp
+++ b/backends/platform/symbian/src/SymbianOS.cpp
@@ -426,7 +426,8 @@ bool OSystem_SDL_Symbian::remapKey(SDL_Event &ev, Common::Event &event) {
case GUI::ACTION_PAUSE:
case GUI::ACTION_SWAPCHAR:
case GUI::ACTION_FASTMODE:
- case GUI::ACTION_DEBUGGER: {
+ case GUI::ACTION_DEBUGGER:
+ case GUI::ACTION_MAINMENU:{
GUI::Key &key = GUI::Actions::Instance()->getKeyAction(loop);
ev.key.keysym.sym = (SDLKey) key.keycode();
ev.key.keysym.scancode = 0;
diff --git a/engines/dialogs.cpp b/engines/dialogs.cpp
index 4f9557306e..97c947aef0 100644
--- a/engines/dialogs.cpp
+++ b/engines/dialogs.cpp
@@ -296,6 +296,7 @@ ConfigDialog::ConfigDialog(bool subtitleControls)
#ifdef SMALL_SCREEN_DEVICE
new GUI::ButtonWidget(this, "ScummConfig.Keys", "Keys", kKeysCmd, 'K');
+ _keysDialog = NULL;
#endif
}