diff options
Diffstat (limited to 'src/managers/KeybindManager.hpp')
| -rw-r--r-- | src/managers/KeybindManager.hpp | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/managers/KeybindManager.hpp b/src/managers/KeybindManager.hpp index 87cae14a..8c885580 100644 --- a/src/managers/KeybindManager.hpp +++ b/src/managers/KeybindManager.hpp @@ -25,13 +25,15 @@ struct SSubmap { } }; +using KeybindKey = std::pair<xkb_keysym_t, xkb_keycode_t>; + struct SKeybind { std::string key = ""; - std::vector<xkb_keysym_t> sMkKeys = {}; + std::vector<KeybindKey> sMkKeys = {}; uint32_t keycode = 0; bool catchAll = false; uint32_t modmask = 0; - std::vector<xkb_keysym_t> sMkMods = {}; + std::vector<KeybindKey> sMkMods = {}; std::string handler = ""; std::string arg = ""; bool locked = false; @@ -156,10 +158,10 @@ class CKeybindManager { SDispatchResult handleKeybinds(const uint32_t, const SPressedKeyWithMods&, bool, SP<IKeyboard>, SP<IHID>); - std::set<xkb_keysym_t> m_mkKeys = {}; - std::set<xkb_keysym_t> m_mkMods = {}; + std::set<KeybindKey> m_mkKeys = {}; + std::set<KeybindKey> m_mkMods = {}; eMultiKeyCase mkBindMatches(const SP<SKeybind>); - eMultiKeyCase mkKeysymSetMatches(const std::vector<xkb_keysym_t>, const std::set<xkb_keysym_t>); + eMultiKeyCase mkKeysymSetMatches(const std::vector<KeybindKey>&, const std::set<KeybindKey>&); bool handleInternalKeybinds(xkb_keysym_t); bool handleVT(xkb_keysym_t); |
