aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorVaxry <[email protected]>2024-06-17 17:53:44 +0200
committerVaxry <[email protected]>2024-06-17 17:53:51 +0200
commitd1340bd1d8eedd274283e0cb2568a3ed67b58c81 (patch)
treedf906f864c8de6fccd352a60e31e800e492faa3a
parent28ce0e0f804de50f75eab797bc404c1be0b54442 (diff)
downloadHyprland-d1340bd1d8eedd274283e0cb2568a3ed67b58c81.tar.gz
Hyprland-d1340bd1d8eedd274283e0cb2568a3ed67b58c81.zip
keybinds: ignore missing keysyms if no other methods match
fixes #6548
-rw-r--r--src/managers/KeybindManager.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/managers/KeybindManager.cpp b/src/managers/KeybindManager.cpp
index 14fadf02..875ba239 100644
--- a/src/managers/KeybindManager.cpp
+++ b/src/managers/KeybindManager.cpp
@@ -636,6 +636,12 @@ bool CKeybindManager::handleKeybinds(const uint32_t modmask, const SPressedKeyWi
if (found || key.submapAtPress != m_szCurrentSelectedSubmap)
continue;
} else {
+ // in this case, we only have the keysym to go off.
+ // if the keysym failed resolving, we can't do anything. It's likely missing
+ // from the keymap.
+ if (key.keysym == 0)
+ return false;
+
// oMg such performance hit!!11!
// this little maneouver is gonna cost us 4µs
const auto KBKEY = xkb_keysym_from_name(k.key.c_str(), XKB_KEYSYM_NO_FLAGS);