summaryrefslogtreecommitdiff
path: root/src/managers/KeybindManager.cpp
diff options
context:
space:
mode:
authorvaxerski <43317083+vaxerski@users.noreply.github.com>2022-04-21 17:06:43 +0200
committervaxerski <43317083+vaxerski@users.noreply.github.com>2022-04-21 17:06:43 +0200
commit064e40d25f1265a2d6f00f37c402e5f9e08954aa (patch)
treef44186686f565906f3c6a22b94ab4d7573f1267b /src/managers/KeybindManager.cpp
parent07080498fd050a6a6660eb68c36d12eb3f87a003 (diff)
Added unbind keyword
Diffstat (limited to 'src/managers/KeybindManager.cpp')
-rw-r--r--src/managers/KeybindManager.cpp14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/managers/KeybindManager.cpp b/src/managers/KeybindManager.cpp
index 6d3417fc..06fdf5f4 100644
--- a/src/managers/KeybindManager.cpp
+++ b/src/managers/KeybindManager.cpp
@@ -18,7 +18,15 @@ CKeybindManager::CKeybindManager() {
}
void CKeybindManager::addKeybind(SKeybind kb) {
- m_dKeybinds.push_back(kb);
+ m_lKeybinds.push_back(kb);
+}
+
+void CKeybindManager::removeKeybind(uint32_t mod, const std::string& key) {
+ for (auto it = m_lKeybinds.begin(); it != m_lKeybinds.end(); ++it) {
+ if (it->modmask == mod && it->key == key) {
+ it = m_lKeybinds.erase(it);
+ }
+ }
}
uint32_t CKeybindManager::stringToModMask(std::string mods) {
@@ -54,7 +62,7 @@ bool CKeybindManager::handleKeybinds(const uint32_t& modmask, const xkb_keysym_t
return false;
}
- for (auto& k : m_dKeybinds) {
+ for (auto& k : m_lKeybinds) {
if (modmask != k.modmask)
continue;
@@ -126,7 +134,7 @@ void CKeybindManager::killActive(std::string args) {
}
void CKeybindManager::clearKeybinds() {
- m_dKeybinds.clear();
+ m_lKeybinds.clear();
}
void CKeybindManager::toggleActiveFloating(std::string args) {