diff --git a/src/config/ConfigManager.cpp b/src/config/ConfigManager.cpp index 09acc035cb01..d23b986b1460 100644 --- a/src/config/ConfigManager.cpp +++ b/src/config/ConfigManager.cpp @@ -1945,6 +1945,10 @@ std::optional CConfigManager::handleBind(const std::string& command std::set KEYSYMS; std::set MODS; + uint32_t MOD; + std::string MODSTR; + std::string KEY; + if (multiKey) { for (auto splitKey : CVarList(ARGS[1], 8, '&')) { KEYSYMS.insert(xkb_keysym_from_name(splitKey.c_str(), XKB_KEYSYM_CASE_INSENSITIVE)); @@ -1952,11 +1956,11 @@ std::optional CConfigManager::handleBind(const std::string& command for (auto splitMod : CVarList(ARGS[0], 8, '&')) { MODS.insert(xkb_keysym_from_name(splitMod.c_str(), XKB_KEYSYM_CASE_INSENSITIVE)); } + } else { + MOD = g_pKeybindManager->stringToModMask(ARGS[0]); + MODSTR = ARGS[0]; + KEY = ARGS[1]; } - const auto MOD = g_pKeybindManager->stringToModMask(ARGS[0]); - const auto MODSTR = ARGS[0]; - - const auto KEY = multiKey ? "" : ARGS[1]; auto HANDLER = ARGS[2];