diff options
| author | Delapouite <delapouite@gmail.com> | 2018-09-23 19:40:38 +0200 |
|---|---|---|
| committer | Delapouite <delapouite@gmail.com> | 2018-09-23 19:40:38 +0200 |
| commit | b60613259cf0ffa868bf8099550b96b9fecff9a8 (patch) | |
| tree | 81fbe4bfb058686ca7587714e6cc398d8b8241df /src/keymap_manager.cc | |
| parent | 1631a7d8d9608c0b8d470173bed596a48ad099b9 (diff) | |
Add a way to unmap all keys of a given mode at once
Diffstat (limited to 'src/keymap_manager.cc')
| -rw-r--r-- | src/keymap_manager.cc | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/keymap_manager.cc b/src/keymap_manager.cc index 844f150f..582a271d 100644 --- a/src/keymap_manager.cc +++ b/src/keymap_manager.cc @@ -21,6 +21,18 @@ void KeymapManager::unmap_key(Key key, KeymapMode mode) m_mapping.remove(KeyAndMode{key, mode}); } +void KeymapManager::unmap_keys(KeymapMode mode) +{ + auto it = m_mapping.begin(); + while (it != m_mapping.end()) + { + auto& map = *it; + if (map.key.second == mode) + unmap_key(map.key.first, map.key.second); + else + ++it; + } +} bool KeymapManager::is_mapped(Key key, KeymapMode mode) const { |
