diff options
Diffstat (limited to 'sway/handlers.c')
-rw-r--r-- | sway/handlers.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/sway/handlers.c b/sway/handlers.c index 76778450..60bfac87 100644 --- a/sway/handlers.c +++ b/sway/handlers.c | |||
@@ -363,9 +363,16 @@ static bool handle_bindsym(struct sway_binding *binding) { | |||
363 | bool match = false; | 363 | bool match = false; |
364 | int i; | 364 | int i; |
365 | for (i = 0; i < binding->keys->length; ++i) { | 365 | for (i = 0; i < binding->keys->length; ++i) { |
366 | xkb_keysym_t *key = binding->keys->items[i]; | 366 | if (binding->bindcode) { |
367 | if ((match = check_key(*key, 0)) == false) { | 367 | xkb_keycode_t *key = binding->keys->items[i]; |
368 | break; | 368 | if ((match = check_key(0, *key)) == false) { |
369 | break; | ||
370 | } | ||
371 | } else { | ||
372 | xkb_keysym_t *key = binding->keys->items[i]; | ||
373 | if ((match = check_key(*key, 0)) == false) { | ||
374 | break; | ||
375 | } | ||
369 | } | 376 | } |
370 | } | 377 | } |
371 | 378 | ||