diff options
-rw-r--r-- | sway/handlers.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sway/handlers.c b/sway/handlers.c index 27f6d294..3a4e31ae 100644 --- a/sway/handlers.c +++ b/sway/handlers.c | |||
@@ -298,6 +298,8 @@ static bool handle_key(wlc_handle view, uint32_t time, const struct wlc_modifier | |||
298 | 298 | ||
299 | struct sway_mode *mode = config->current_mode; | 299 | struct sway_mode *mode = config->current_mode; |
300 | 300 | ||
301 | sym = tolower(sym); | ||
302 | |||
301 | int i; | 303 | int i; |
302 | 304 | ||
303 | if (state == WLC_KEY_STATE_PRESSED) { | 305 | if (state == WLC_KEY_STATE_PRESSED) { |
@@ -310,7 +312,7 @@ static bool handle_key(wlc_handle view, uint32_t time, const struct wlc_modifier | |||
310 | for (i = 0; i < mode->bindings->length; ++i) { | 312 | for (i = 0; i < mode->bindings->length; ++i) { |
311 | struct sway_binding *binding = mode->bindings->items[i]; | 313 | struct sway_binding *binding = mode->bindings->items[i]; |
312 | 314 | ||
313 | if ((modifiers->mods & binding->modifiers) == binding->modifiers) { | 315 | if ((modifiers->mods ^ binding->modifiers) == 0) { |
314 | bool match; | 316 | bool match; |
315 | int j; | 317 | int j; |
316 | for (j = 0; j < binding->keys->length; ++j) { | 318 | for (j = 0; j < binding->keys->length; ++j) { |