From a69340bd59eae5146634a47b66b2f09ace91b01f Mon Sep 17 00:00:00 2001 From: Tarek Soliman Date: Sat, 15 Oct 2011 01:42:05 -0500 Subject: BASE: Make global keymap inherit --- base/main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'base/main.cpp') diff --git a/base/main.cpp b/base/main.cpp index 5d0c0ea09a..61a05154c1 100644 --- a/base/main.cpp +++ b/base/main.cpp @@ -288,7 +288,7 @@ static void setupKeymapper(OSystem &system) { mapper->addGlobalKeymap(globalMap); - mapper->pushKeymap("global"); + mapper->pushKeymap("global", true); #endif } -- cgit v1.2.3 From ac85d134b31f770f27d085c0fe4c307e278c1875 Mon Sep 17 00:00:00 2001 From: Tarek Soliman Date: Fri, 21 Oct 2011 10:33:56 -0500 Subject: KEYMAPPER: Make global keymap that is always active Keymapper now has a global keymap outside the active keymap stack. That global keymap is always checked after the active stack has been checked. --- base/main.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'base/main.cpp') diff --git a/base/main.cpp b/base/main.cpp index 61a05154c1..352b5e9b33 100644 --- a/base/main.cpp +++ b/base/main.cpp @@ -287,8 +287,7 @@ static void setupKeymapper(OSystem &system) { act->addKeyEvent(KeyState(KEYCODE_F8, ASCII_F8, 0)); mapper->addGlobalKeymap(globalMap); - - mapper->pushKeymap("global", true); + mapper->setGlobalKeymap(globalMap); #endif } -- cgit v1.2.3 From b708d6de79e2893cddf95d72864d4487a483e0c1 Mon Sep 17 00:00:00 2001 From: Tarek Soliman Date: Wed, 2 Nov 2011 10:16:16 -0500 Subject: Revert "KEYMAPPER: Make global keymap that is always active" This reverts commit ac85d134b31f770f27d085c0fe4c307e278c1875. --- base/main.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'base/main.cpp') diff --git a/base/main.cpp b/base/main.cpp index 352b5e9b33..61a05154c1 100644 --- a/base/main.cpp +++ b/base/main.cpp @@ -287,7 +287,8 @@ static void setupKeymapper(OSystem &system) { act->addKeyEvent(KeyState(KEYCODE_F8, ASCII_F8, 0)); mapper->addGlobalKeymap(globalMap); - mapper->setGlobalKeymap(globalMap); + + mapper->pushKeymap("global", true); #endif } -- cgit v1.2.3 From 40b68b41c7a507dad5a1d38813bfa7f89e7c6551 Mon Sep 17 00:00:00 2001 From: Tarek Soliman Date: Fri, 30 Dec 2011 11:50:15 -0600 Subject: KEYMAPPER: Make engine keymap init and cleanup more generic --- base/main.cpp | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'base/main.cpp') diff --git a/base/main.cpp b/base/main.cpp index 61a05154c1..b4cfd45689 100644 --- a/base/main.cpp +++ b/base/main.cpp @@ -203,6 +203,9 @@ static Common::Error runGame(const EnginePlugin *plugin, OSystem &system, const warning(_("Engine does not support debug level '%s'"), token.c_str()); } + // Initialize any game-specific keymaps + engine->initKeymap(); + // Inform backend that the engine is about to be run system.engineInit(); @@ -212,6 +215,9 @@ static Common::Error runGame(const EnginePlugin *plugin, OSystem &system, const // Inform backend that the engine finished system.engineDone(); + // Clean up any game-specific keymaps + engine->deinitKeymap(); + // Free up memory delete engine; -- cgit v1.2.3 From d143872be605b881eaec63b0168c9d4d551787ee Mon Sep 17 00:00:00 2001 From: Tarek Soliman Date: Sat, 7 Jan 2012 21:20:29 -0600 Subject: KEYMAPPER: Constantify global keymap name --- base/main.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'base/main.cpp') diff --git a/base/main.cpp b/base/main.cpp index b4cfd45689..b39165ed6a 100644 --- a/base/main.cpp +++ b/base/main.cpp @@ -264,7 +264,7 @@ static void setupKeymapper(OSystem &system) { using namespace Common; Keymapper *mapper = system.getEventManager()->getKeymapper(); - Keymap *globalMap = new Keymap("global"); + Keymap *globalMap = new Keymap(kGlobalKeymapName); Action *act; HardwareKeySet *keySet; @@ -294,7 +294,7 @@ static void setupKeymapper(OSystem &system) { mapper->addGlobalKeymap(globalMap); - mapper->pushKeymap("global", true); + mapper->pushKeymap(kGlobalKeymapName, true); #endif } -- cgit v1.2.3 From a488556dcdfb69ec30af740aa2c71977f505ef35 Mon Sep 17 00:00:00 2001 From: Tarek Soliman Date: Thu, 2 Feb 2012 18:53:14 -0600 Subject: KEYMAPPER: Handle EVENT_MAINMENU directly --- base/main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'base/main.cpp') diff --git a/base/main.cpp b/base/main.cpp index b39165ed6a..c6f29bc33e 100644 --- a/base/main.cpp +++ b/base/main.cpp @@ -275,7 +275,7 @@ static void setupKeymapper(OSystem &system) { // Now create the global keymap act = new Action(globalMap, "MENU", _("Menu"), kGenericActionType, kSelectKeyType); - act->addKeyEvent(KeyState(KEYCODE_F5, ASCII_F5, 0)); + act->addEvent(EVENT_MAINMENU); act = new Action(globalMap, "SKCT", _("Skip"), kGenericActionType, kActionKeyType); act->addKeyEvent(KeyState(KEYCODE_ESCAPE, ASCII_ESCAPE, 0)); -- cgit v1.2.3 From da4b03139d83dd08f39b7eda7579395436feda7d Mon Sep 17 00:00:00 2001 From: Tarek Soliman Date: Sat, 4 Feb 2012 19:53:16 -0600 Subject: KEYMAPPER: Added Toggle FullScreen action --- base/main.cpp | 3 +++ 1 file changed, 3 insertions(+) (limited to 'base/main.cpp') diff --git a/base/main.cpp b/base/main.cpp index c6f29bc33e..9bf67a3cdc 100644 --- a/base/main.cpp +++ b/base/main.cpp @@ -292,6 +292,9 @@ static void setupKeymapper(OSystem &system) { act = new Action(globalMap, "REMP", _("Remap keys"), kKeyRemapActionType); act->addKeyEvent(KeyState(KEYCODE_F8, ASCII_F8, 0)); + act = new Action(globalMap, "FULS", _("Toggle FullScreen"), kKeyRemapActionType); + act->addKeyEvent(KeyState(KEYCODE_RETURN, ASCII_RETURN, KBD_ALT)); + mapper->addGlobalKeymap(globalMap); mapper->pushKeymap(kGlobalKeymapName, true); -- cgit v1.2.3 From 705761011d24f08eb56add90f6dfa605b36ac8ee Mon Sep 17 00:00:00 2001 From: Tarek Soliman Date: Thu, 9 Feb 2012 01:26:29 -0600 Subject: KEYMAPPER: Allow ports to define their own global keymap --- base/main.cpp | 31 +++++++++++++++++++------------ 1 file changed, 19 insertions(+), 12 deletions(-) (limited to 'base/main.cpp') diff --git a/base/main.cpp b/base/main.cpp index 9bf67a3cdc..f3ff081d28 100644 --- a/base/main.cpp +++ b/base/main.cpp @@ -259,13 +259,11 @@ static void setupGraphics(OSystem &system) { } static void setupKeymapper(OSystem &system) { - #ifdef ENABLE_KEYMAPPER using namespace Common; Keymapper *mapper = system.getEventManager()->getKeymapper(); - Keymap *globalMap = new Keymap(kGlobalKeymapName); - Action *act; + HardwareKeySet *keySet; keySet = system.getHardwareKeySet(); @@ -274,30 +272,39 @@ static void setupKeymapper(OSystem &system) { mapper->registerHardwareKeySet(keySet); // Now create the global keymap - act = new Action(globalMap, "MENU", _("Menu"), kGenericActionType, kSelectKeyType); + Keymap *primaryGlobalKeymap = new Keymap(kGlobalKeymapName); + Action *act; + act = new Action(primaryGlobalKeymap, "MENU", _("Menu"), kGenericActionType, kSelectKeyType); act->addEvent(EVENT_MAINMENU); - act = new Action(globalMap, "SKCT", _("Skip"), kGenericActionType, kActionKeyType); + act = new Action(primaryGlobalKeymap, "SKCT", _("Skip"), kGenericActionType, kActionKeyType); act->addKeyEvent(KeyState(KEYCODE_ESCAPE, ASCII_ESCAPE, 0)); - act = new Action(globalMap, "PAUS", _("Pause"), kGenericActionType, kStartKeyType); + act = new Action(primaryGlobalKeymap, "PAUS", _("Pause"), kGenericActionType, kStartKeyType); act->addKeyEvent(KeyState(KEYCODE_SPACE, ' ', 0)); - act = new Action(globalMap, "SKLI", _("Skip line"), kGenericActionType, kActionKeyType); + act = new Action(primaryGlobalKeymap, "SKLI", _("Skip line"), kGenericActionType, kActionKeyType); act->addKeyEvent(KeyState(KEYCODE_PERIOD, '.', 0)); - act = new Action(globalMap, "VIRT", _("Display keyboard"), kVirtualKeyboardActionType); + act = new Action(primaryGlobalKeymap, "VIRT", _("Display keyboard"), kVirtualKeyboardActionType); act->addKeyEvent(KeyState(KEYCODE_F7, ASCII_F7, 0)); - act = new Action(globalMap, "REMP", _("Remap keys"), kKeyRemapActionType); + act = new Action(primaryGlobalKeymap, "REMP", _("Remap keys"), kKeyRemapActionType); act->addKeyEvent(KeyState(KEYCODE_F8, ASCII_F8, 0)); - act = new Action(globalMap, "FULS", _("Toggle FullScreen"), kKeyRemapActionType); + act = new Action(primaryGlobalKeymap, "FULS", _("Toggle FullScreen"), kKeyRemapActionType); act->addKeyEvent(KeyState(KEYCODE_RETURN, ASCII_RETURN, KBD_ALT)); - mapper->addGlobalKeymap(globalMap); - + mapper->addGlobalKeymap(primaryGlobalKeymap); mapper->pushKeymap(kGlobalKeymapName, true); + + // Get the platform-specific global keymap (if it exists) + Keymap *platformGlobalKeymap = system.getGlobalKeymap(); + if (platformGlobalKeymap) { + String platformGlobalKeymapName = platformGlobalKeymap->getName(); + mapper->addGlobalKeymap(platformGlobalKeymap); + mapper->pushKeymap(platformGlobalKeymapName, true); + } #endif } -- cgit v1.2.3 From 5cf932198e289b8e8d2fe0ee3e57d7cfbf3b65eb Mon Sep 17 00:00:00 2001 From: Tarek Soliman Date: Mon, 13 Feb 2012 23:24:09 -0600 Subject: KEYMAPPER: Fix Action ctor args in most keymaps --- base/main.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'base/main.cpp') diff --git a/base/main.cpp b/base/main.cpp index f3ff081d28..81f9b91aa7 100644 --- a/base/main.cpp +++ b/base/main.cpp @@ -274,16 +274,16 @@ static void setupKeymapper(OSystem &system) { // Now create the global keymap Keymap *primaryGlobalKeymap = new Keymap(kGlobalKeymapName); Action *act; - act = new Action(primaryGlobalKeymap, "MENU", _("Menu"), kGenericActionType, kSelectKeyType); + act = new Action(primaryGlobalKeymap, "MENU", _("Menu"), kMenuActionType); act->addEvent(EVENT_MAINMENU); - act = new Action(primaryGlobalKeymap, "SKCT", _("Skip"), kGenericActionType, kActionKeyType); + act = new Action(primaryGlobalKeymap, "SKCT", _("Skip")); act->addKeyEvent(KeyState(KEYCODE_ESCAPE, ASCII_ESCAPE, 0)); - act = new Action(primaryGlobalKeymap, "PAUS", _("Pause"), kGenericActionType, kStartKeyType); + act = new Action(primaryGlobalKeymap, "PAUS", _("Pause")); act->addKeyEvent(KeyState(KEYCODE_SPACE, ' ', 0)); - act = new Action(primaryGlobalKeymap, "SKLI", _("Skip line"), kGenericActionType, kActionKeyType); + act = new Action(primaryGlobalKeymap, "SKLI", _("Skip line")); act->addKeyEvent(KeyState(KEYCODE_PERIOD, '.', 0)); act = new Action(primaryGlobalKeymap, "VIRT", _("Display keyboard"), kVirtualKeyboardActionType); @@ -292,7 +292,7 @@ static void setupKeymapper(OSystem &system) { act = new Action(primaryGlobalKeymap, "REMP", _("Remap keys"), kKeyRemapActionType); act->addKeyEvent(KeyState(KEYCODE_F8, ASCII_F8, 0)); - act = new Action(primaryGlobalKeymap, "FULS", _("Toggle FullScreen"), kKeyRemapActionType); + act = new Action(primaryGlobalKeymap, "FULS", _("Toggle FullScreen")); act->addKeyEvent(KeyState(KEYCODE_RETURN, ASCII_RETURN, KBD_ALT)); mapper->addGlobalKeymap(primaryGlobalKeymap); -- cgit v1.2.3 From 3f6d549b0e891be33ef48926629d6e626009fc8f Mon Sep 17 00:00:00 2001 From: Tarek Soliman Date: Sat, 18 Feb 2012 22:17:48 -0600 Subject: KEYMAPPER: Move F7 and F8 handling to DefaultEventMapper --- base/main.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'base/main.cpp') diff --git a/base/main.cpp b/base/main.cpp index 81f9b91aa7..9e4a500da6 100644 --- a/base/main.cpp +++ b/base/main.cpp @@ -286,11 +286,13 @@ static void setupKeymapper(OSystem &system) { act = new Action(primaryGlobalKeymap, "SKLI", _("Skip line")); act->addKeyEvent(KeyState(KEYCODE_PERIOD, '.', 0)); +#ifdef ENABLE_VKEYBD act = new Action(primaryGlobalKeymap, "VIRT", _("Display keyboard"), kVirtualKeyboardActionType); - act->addKeyEvent(KeyState(KEYCODE_F7, ASCII_F7, 0)); + act->addEvent(EVENT_VIRTUAL_KEYBOARD); +#endif act = new Action(primaryGlobalKeymap, "REMP", _("Remap keys"), kKeyRemapActionType); - act->addKeyEvent(KeyState(KEYCODE_F8, ASCII_F8, 0)); + act->addEvent(EVENT_KEYMAPPER_REMAP); act = new Action(primaryGlobalKeymap, "FULS", _("Toggle FullScreen")); act->addKeyEvent(KeyState(KEYCODE_RETURN, ASCII_RETURN, KBD_ALT)); -- cgit v1.2.3 From aa42d78658eacc17a36ffe0d86541deffa534f79 Mon Sep 17 00:00:00 2001 From: Tarek Soliman Date: Tue, 21 Feb 2012 06:57:32 -0600 Subject: KEYMAPPER: Remove automapping dead code --- base/main.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'base/main.cpp') diff --git a/base/main.cpp b/base/main.cpp index 9e4a500da6..5311b6fd78 100644 --- a/base/main.cpp +++ b/base/main.cpp @@ -274,7 +274,7 @@ static void setupKeymapper(OSystem &system) { // Now create the global keymap Keymap *primaryGlobalKeymap = new Keymap(kGlobalKeymapName); Action *act; - act = new Action(primaryGlobalKeymap, "MENU", _("Menu"), kMenuActionType); + act = new Action(primaryGlobalKeymap, "MENU", _("Menu")); act->addEvent(EVENT_MAINMENU); act = new Action(primaryGlobalKeymap, "SKCT", _("Skip")); @@ -287,11 +287,11 @@ static void setupKeymapper(OSystem &system) { act->addKeyEvent(KeyState(KEYCODE_PERIOD, '.', 0)); #ifdef ENABLE_VKEYBD - act = new Action(primaryGlobalKeymap, "VIRT", _("Display keyboard"), kVirtualKeyboardActionType); + act = new Action(primaryGlobalKeymap, "VIRT", _("Display keyboard")); act->addEvent(EVENT_VIRTUAL_KEYBOARD); #endif - act = new Action(primaryGlobalKeymap, "REMP", _("Remap keys"), kKeyRemapActionType); + act = new Action(primaryGlobalKeymap, "REMP", _("Remap keys")); act->addEvent(EVENT_KEYMAPPER_REMAP); act = new Action(primaryGlobalKeymap, "FULS", _("Toggle FullScreen")); -- cgit v1.2.3 From befff7ee446760dec618552bc4afb66b91e30262 Mon Sep 17 00:00:00 2001 From: Tarek Soliman Date: Wed, 22 Feb 2012 16:59:56 -0600 Subject: KEYMAPPER: Minor cleanup --- base/main.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'base/main.cpp') diff --git a/base/main.cpp b/base/main.cpp index 5311b6fd78..f8d04fa4f2 100644 --- a/base/main.cpp +++ b/base/main.cpp @@ -264,9 +264,7 @@ static void setupKeymapper(OSystem &system) { Keymapper *mapper = system.getEventManager()->getKeymapper(); - HardwareKeySet *keySet; - - keySet = system.getHardwareKeySet(); + HardwareInputSet *inputSet = system.getHardwareInputSet(); // Query backend for hardware keys and register them mapper->registerHardwareKeySet(keySet); -- cgit v1.2.3 From 784ee5dd655c3e0dfa7007e3cb746c3bc5cd7f29 Mon Sep 17 00:00:00 2001 From: Tarek Soliman Date: Wed, 22 Feb 2012 17:23:12 -0600 Subject: KEYMAPPER: Fix mistake in last commit --- base/main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'base/main.cpp') diff --git a/base/main.cpp b/base/main.cpp index f8d04fa4f2..5e9f1d4f25 100644 --- a/base/main.cpp +++ b/base/main.cpp @@ -264,7 +264,7 @@ static void setupKeymapper(OSystem &system) { Keymapper *mapper = system.getEventManager()->getKeymapper(); - HardwareInputSet *inputSet = system.getHardwareInputSet(); + HardwareKeySet *keySet = system.getHardwareKeySet(); // Query backend for hardware keys and register them mapper->registerHardwareKeySet(keySet); -- cgit v1.2.3 From 6afac4e01eba5c297e99597dd2cb17c2e4732a7e Mon Sep 17 00:00:00 2001 From: Tarek Soliman Date: Fri, 24 Feb 2012 13:23:55 -0600 Subject: KEYMAPPER: Rename HardwareKey to HardwareInput --- base/main.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'base/main.cpp') diff --git a/base/main.cpp b/base/main.cpp index 5e9f1d4f25..391d911ae8 100644 --- a/base/main.cpp +++ b/base/main.cpp @@ -264,10 +264,10 @@ static void setupKeymapper(OSystem &system) { Keymapper *mapper = system.getEventManager()->getKeymapper(); - HardwareKeySet *keySet = system.getHardwareKeySet(); + HardwareInputSet *inputSet = system.getHardwareInputSet(); // Query backend for hardware keys and register them - mapper->registerHardwareKeySet(keySet); + mapper->registerHardwareInputSet(inputSet); // Now create the global keymap Keymap *primaryGlobalKeymap = new Keymap(kGlobalKeymapName); -- cgit v1.2.3