aboutsummaryrefslogtreecommitdiffstats
path: root/sway/input/keyboard.c
diff options
context:
space:
mode:
Diffstat (limited to 'sway/input/keyboard.c')
-rw-r--r--sway/input/keyboard.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sway/input/keyboard.c b/sway/input/keyboard.c
index ede38519..e6c5c335 100644
--- a/sway/input/keyboard.c
+++ b/sway/input/keyboard.c
@@ -88,11 +88,13 @@ static void get_active_binding(const struct sway_shortcut_state *state,
88 uint32_t modifiers, bool release, bool locked) { 88 uint32_t modifiers, bool release, bool locked) {
89 for (int i = 0; i < bindings->length; ++i) { 89 for (int i = 0; i < bindings->length; ++i) {
90 struct sway_binding *binding = bindings->items[i]; 90 struct sway_binding *binding = bindings->items[i];
91 bool binding_locked = binding->flags | BINDING_LOCKED;
92 bool binding_release = binding->flags | BINDING_RELEASE;
91 93
92 if (modifiers ^ binding->modifiers || 94 if (modifiers ^ binding->modifiers ||
93 state->npressed != (size_t)binding->keys->length || 95 state->npressed != (size_t)binding->keys->length ||
94 locked > binding->locked || 96 release != binding_release ||
95 release != binding->release) { 97 locked > binding_locked) {
96 continue; 98 continue;
97 } 99 }
98 100