From 15072831cfd9efccebd1ad27b21c5604f224aa1b Mon Sep 17 00:00:00 2001 From: shezdy <77217897+shezdy@users.noreply.github.com> Date: Sat, 11 May 2024 17:02:26 -0600 Subject: [PATCH] keybinds: fix release binds in submaps (#6025) --- src/managers/KeybindManager.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/managers/KeybindManager.cpp b/src/managers/KeybindManager.cpp index 15f667f0..286372c4 100644 --- a/src/managers/KeybindManager.cpp +++ b/src/managers/KeybindManager.cpp @@ -386,8 +386,7 @@ bool CKeybindManager::onKeyEvent(std::any event, SP pKeyboard) { bool foundInPressedKeys = false; for (auto it = m_dPressedKeys.begin(); it != m_dPressedKeys.end();) { if (it->keycode == KEYCODE) { - if (it->submapAtPress == m_szCurrentSelectedSubmap) - handleKeybinds(MODS, *it, false); + handleKeybinds(MODS, *it, false); foundInPressedKeys = true; suppressEvent = !it->sent; it = m_dPressedKeys.erase(it); @@ -570,7 +569,7 @@ bool CKeybindManager::handleKeybinds(const uint32_t modmask, const SPressedKeyWi if (key.keycode != k.keycode) continue; } else if (k.catchAll) { - if (found) + if (found || key.submapAtPress != m_szCurrentSelectedSubmap) continue; } else { // oMg such performance hit!!11!