[Scummvm-git-logs] scummvm master -> 3587b96876d8993483e4e2f6ba1bacfa585edca1
ccawley2011
noreply at scummvm.org
Mon Jun 17 12:22:01 UTC 2024
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
3587b96876 COMPOSER: Add keymapper support
Commit: 3587b96876d8993483e4e2f6ba1bacfa585edca1
https://github.com/scummvm/scummvm/commit/3587b96876d8993483e4e2f6ba1bacfa585edca1
Author: NabeelShabbir (i210443 at nu.edu.pk)
Date: 2024-06-17T13:21:58+01:00
Commit Message:
COMPOSER: Add keymapper support
Changed paths:
engines/composer/composer.cpp
engines/composer/metaengine.cpp
diff --git a/engines/composer/composer.cpp b/engines/composer/composer.cpp
index 12ebb355f64..db51fc3f94b 100644
--- a/engines/composer/composer.cpp
+++ b/engines/composer/composer.cpp
@@ -209,16 +209,6 @@ Common::Error ComposerEngine::run() {
break;
case Common::EVENT_KEYDOWN:
- switch (event.kbd.keycode) {
- case Common::KEYCODE_q:
- if (event.kbd.hasFlags(Common::KBD_CTRL))
- quitGame();
- break;
-
- default:
- break;
- }
-
onKeyDown(event.kbd.keycode);
break;
diff --git a/engines/composer/metaengine.cpp b/engines/composer/metaengine.cpp
index 9cb8e1ea3b5..dcc0ee36429 100644
--- a/engines/composer/metaengine.cpp
+++ b/engines/composer/metaengine.cpp
@@ -25,6 +25,12 @@
#include "common/str-array.h"
#include "engines/advancedDetector.h"
+#include "common/translation.h"
+
+#include "backends/keymapper/action.h"
+#include "backends/keymapper/keymapper.h"
+#include "backends/keymapper/standard-actions.h"
+
#include "composer/composer.h"
#include "composer/detection.h"
@@ -73,6 +79,8 @@ public:
Common::Error createInstance(OSystem *syst, Engine **engine, const ADGameDescription *desc) const override;
bool hasFeature(MetaEngineFeature f) const override;
+ Common::KeymapArray initKeymaps(const char *target) const override;
+
int getMaximumSaveSlot() const override;
SaveStateList listSaves(const char* target) const override;
Common::String getSavegameFile(int saveGameIdx, const char *target) const override {
@@ -94,6 +102,36 @@ bool ComposerMetaEngine::hasFeature(MetaEngineFeature f) const {
return ((f == kSupportsListSaves) || (f == kSupportsLoadingDuringStartup));
}
+Common::KeymapArray ComposerMetaEngine::initKeymaps(const char *target) const {
+ using namespace Common;
+ using namespace Composer;
+
+ Keymap *engineKeyMap = new Keymap(Keymap::kKeymapTypeGame, "composer-main", "COMPOSER main");
+
+ Action *act;
+
+ act = new Action(kStandardActionLeftClick, _("Left Click"));
+ act->setLeftClickEvent();
+ act->addDefaultInputMapping("MOUSE_LEFT");
+ act->addDefaultInputMapping("JOY_A");
+ engineKeyMap->addAction(act);
+
+ act = new Action(kStandardActionRightClick, _("Right Click"));
+ act->setRightClickEvent();
+ act->addDefaultInputMapping("MOUSE_RIGHT");
+ act->addDefaultInputMapping("JOY_B");
+ engineKeyMap->addAction(act);
+
+ act = new Action(kStandardActionSkip, _("Skip"));
+ act->setKeyEvent(KeyState(KEYCODE_ESCAPE, ASCII_ESCAPE));
+ act->addDefaultInputMapping("ESCAPE");
+ act->addDefaultInputMapping("JOY_Y");
+ act->allowKbdRepeats();
+ engineKeyMap->addAction(act);
+
+ return Keymap::arrayOf(engineKeyMap);
+}
+
Common::String getSaveName(Common::InSaveFile *in) {
Common::Serializer ser(in, nullptr);
Common::String name;
More information about the Scummvm-git-logs
mailing list