[Scummvm-git-logs] scummvm master -> 76bf31f630e7c6248eca9e7f0daaa1dbc127d750
sev-
noreply at scummvm.org
Fri Jun 16 14:46:01 UTC 2023
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:
76bf31f630 KEYMAPPER: Add functions to enable/disable keymaps
Commit: 76bf31f630e7c6248eca9e7f0daaa1dbc127d750
https://github.com/scummvm/scummvm/commit/76bf31f630e7c6248eca9e7f0daaa1dbc127d750
Author: hax0kartik (agarwala.kartik at gmail.com)
Date: 2023-06-16T16:45:57+02:00
Commit Message:
KEYMAPPER: Add functions to enable/disable keymaps
Changed paths:
backends/keymapper/keymapper.cpp
backends/keymapper/keymapper.h
diff --git a/backends/keymapper/keymapper.cpp b/backends/keymapper/keymapper.cpp
index 1a81c09538c..4bc9af51453 100644
--- a/backends/keymapper/keymapper.cpp
+++ b/backends/keymapper/keymapper.cpp
@@ -139,6 +139,21 @@ void Keymapper::cleanupGameKeymaps() {
}
}
+void Keymapper::setGameKeymapState(const String &id, bool enable) {
+ Keymap *keymap = getKeymap(id);
+ if (keymap) {
+ keymap->setEnabled(enable);
+ }
+}
+
+void Keymapper::disableAllGameKeymaps() {
+ for (auto &keymap : _keymaps) {
+ if (keymap->getType() == Keymap::kKeymapTypeGame) {
+ keymap->setEnabled(false);
+ }
+ }
+}
+
Keymap *Keymapper::getKeymap(const String &id) const {
for (KeymapArray::const_iterator it = _keymaps.begin(); it != _keymaps.end(); it++) {
if ((*it)->getId() == id) {
diff --git a/backends/keymapper/keymapper.h b/backends/keymapper/keymapper.h
index 4debfb447ae..abb2dd445ef 100644
--- a/backends/keymapper/keymapper.h
+++ b/backends/keymapper/keymapper.h
@@ -82,6 +82,18 @@ public:
*/
void cleanupGameKeymaps();
+ /**
+ * This allows to specify which Game Keymaps are enabled or disabled.
+ * @param id ID of the game keymap to enable/disable.
+ * @param enable Whether the keymap is enabled(True means enabled)
+ */
+ void setGameKeymapState(const String &id, bool enable);
+
+ /**
+ * Disables all game keymaps that are loaded.
+ */
+ void disableAllGameKeymaps();
+
/**
* Obtain a keymap of the given name from the keymapper.
* Game keymaps have priority over global keymaps
More information about the Scummvm-git-logs
mailing list