summaryrefslogtreecommitdiff
path: root/src/config/ConfigManager.cpp
diff options
context:
space:
mode:
authorvaxerski <43317083+vaxerski@users.noreply.github.com>2022-06-22 20:23:20 +0200
committervaxerski <43317083+vaxerski@users.noreply.github.com>2022-06-22 20:23:20 +0200
commit19d94b87ab639a0b22ea03809502316470de0f7a (patch)
treeb174f738f2794a016f044ac91521aefafad4479b /src/config/ConfigManager.cpp
parentbd41776a5aa86cc6294e3ec17ea9b46c9c5780df (diff)
Added keybind submaps
Diffstat (limited to 'src/config/ConfigManager.cpp')
-rw-r--r--src/config/ConfigManager.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/config/ConfigManager.cpp b/src/config/ConfigManager.cpp
index d95f5a05..d742070a 100644
--- a/src/config/ConfigManager.cpp
+++ b/src/config/ConfigManager.cpp
@@ -450,7 +450,7 @@ void CConfigManager::handleBind(const std::string& command, const std::string& v
}
if (KEY != "")
- g_pKeybindManager->addKeybind(SKeybind{KEY, MOD, HANDLER, COMMAND, locked});
+ g_pKeybindManager->addKeybind(SKeybind{KEY, MOD, HANDLER, COMMAND, locked, m_szCurrentSubmap});
}
void CConfigManager::handleUnbind(const std::string& command, const std::string& value) {
@@ -507,6 +507,13 @@ void CConfigManager::handleDefaultWorkspace(const std::string& command, const st
}
}
+void CConfigManager::handleSubmap(const std::string& command, const std::string& submap) {
+ if (submap == "reset")
+ m_szCurrentSubmap = "";
+ else
+ m_szCurrentSubmap = submap;
+}
+
void CConfigManager::handleSource(const std::string& command, const std::string& rawpath) {
static const char* const ENVHOME = getenv("HOME");
@@ -587,6 +594,7 @@ std::string CConfigManager::parseKeyword(const std::string& COMMAND, const std::
else if (COMMAND == "bezier") handleBezier(COMMAND, VALUE);
else if (COMMAND == "animation") handleAnimation(COMMAND, VALUE);
else if (COMMAND == "source") handleSource(COMMAND, VALUE);
+ else if (COMMAND == "submap") handleSubmap(COMMAND, VALUE);
else
configSetValueSafe(currentCategory + (currentCategory == "" ? "" : ":") + COMMAND, VALUE);