diff options
| author | vaxerski <43317083+vaxerski@users.noreply.github.com> | 2023-04-10 15:47:20 +0100 |
|---|---|---|
| committer | vaxerski <43317083+vaxerski@users.noreply.github.com> | 2023-04-10 15:47:20 +0100 |
| commit | 56a307d734e1284b3d3fb490a59e50014285fa88 (patch) | |
| tree | 96a524719771542de801dde79e1dcdad55738543 /src/managers/KeybindManager.cpp | |
| parent | 6a4bda60f2dfcc82fbccfca49d5c50a31f475596 (diff) | |
Revert "keybinds: avoid sending release on suppressed press"
Issues with XWayland
This reverts commit a1b1480c21a3ca7c35fd5ab99c966322f64b2f3b.
Diffstat (limited to 'src/managers/KeybindManager.cpp')
| -rw-r--r-- | src/managers/KeybindManager.cpp | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/src/managers/KeybindManager.cpp b/src/managers/KeybindManager.cpp index f2974b73..20b9557a 100644 --- a/src/managers/KeybindManager.cpp +++ b/src/managers/KeybindManager.cpp @@ -378,7 +378,8 @@ bool CKeybindManager::handleKeybinds(const uint32_t& modmask, const std::string& } for (auto& k : m_lKeybinds) { - if (modmask != k.modmask || (g_pCompositor->m_sSeat.exclusiveClient && !k.locked) || k.submap != m_szCurrentSelectedSubmap || k.shadowed) + if (modmask != k.modmask || (g_pCompositor->m_sSeat.exclusiveClient && !k.locked) || k.submap != m_szCurrentSelectedSubmap || + (!pressed && !k.release && k.handler != "pass" && k.handler != "mouse" && k.handler != "global") || k.shadowed) continue; if (!key.empty()) { @@ -407,11 +408,6 @@ bool CKeybindManager::handleKeybinds(const uint32_t& modmask, const std::string& return true; } - if (!pressed && !k.release && k.handler != "pass" && k.handler != "mouse" && k.handler != "global") { - found = true; // avoid sending a release event - continue; - } - const auto DISPATCHER = m_mDispatchers.find(k.mouse ? "mouse" : k.handler); // Should never happen, as we check in the ConfigManager, but oh well @@ -1970,7 +1966,7 @@ void CKeybindManager::toggleOpaque(std::string unused) { if (!PWINDOW) return; - PWINDOW->m_sAdditionalConfigData.forceOpaque = !PWINDOW->m_sAdditionalConfigData.forceOpaque; + PWINDOW->m_sAdditionalConfigData.forceOpaque = !PWINDOW->m_sAdditionalConfigData.forceOpaque; PWINDOW->m_sAdditionalConfigData.forceOpaqueOverridden = true; g_pHyprRenderer->damageWindow(PWINDOW); |
