diff options
| author | outfoxxed <outfoxxed@outfoxxed.me> | 2023-06-14 04:08:56 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-06-14 13:08:56 +0200 |
| commit | f0e4f6622e3e9addc530119b804d2f71395455e7 (patch) | |
| tree | fb26406e4fd956c0573ae4745edc23c8506793af /src/managers/KeybindManager.cpp | |
| parent | 9a88c19f1ad2acad3cdfd2c81af6e40f2a0219b1 (diff) | |
Implement pass binds (#2503)
* Implement pass binds
Pass binds run the associated dispatcher but do not prevent windows
from receiving the bind.
* Fix pass binds not working properly with release binds
* Rename `pass` to `nonConsuming`
Diffstat (limited to 'src/managers/KeybindManager.cpp')
| -rw-r--r-- | src/managers/KeybindManager.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/managers/KeybindManager.cpp b/src/managers/KeybindManager.cpp index 19b2fba7..17cb6a6f 100644 --- a/src/managers/KeybindManager.cpp +++ b/src/managers/KeybindManager.cpp @@ -414,6 +414,9 @@ bool CKeybindManager::handleKeybinds(const uint32_t& modmask, const std::string& } if (pressed && k.release) { + if (k.nonConsuming) + return false; + // suppress down event m_kHeldBack = keysym; return true; @@ -452,7 +455,8 @@ bool CKeybindManager::handleKeybinds(const uint32_t& modmask, const std::string& wl_event_source_timer_update(m_pActiveKeybindEventSource, PACTIVEKEEB->repeatDelay); } - found = true; + if (!k.nonConsuming) + found = true; } return found; |
