[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