diff options
author | Tony Crisci <tony@dubstepdish.com> | 2017-12-28 18:50:22 -0500 |
---|---|---|
committer | Tony Crisci <tony@dubstepdish.com> | 2017-12-28 18:50:22 -0500 |
commit | 62b7ab3959468124086a1ba95361b3eed069b4a7 (patch) | |
tree | 5569e29c86c9a38d6ca33be14615879566c845c7 /sway/input/keyboard.c | |
parent | fix keyboard_execute_bindcode (diff) | |
download | sway-62b7ab3959468124086a1ba95361b3eed069b4a7.tar.gz sway-62b7ab3959468124086a1ba95361b3eed069b4a7.tar.zst sway-62b7ab3959468124086a1ba95361b3eed069b4a7.zip |
overwrite old bindings
Diffstat (limited to 'sway/input/keyboard.c')
-rw-r--r-- | sway/input/keyboard.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/sway/input/keyboard.c b/sway/input/keyboard.c index eacb6ceb..6272dcce 100644 --- a/sway/input/keyboard.c +++ b/sway/input/keyboard.c | |||
@@ -67,7 +67,9 @@ static bool keyboard_execute_bindsym(struct sway_keyboard *keyboard, | |||
67 | list_t *keysym_bindings = config->current_mode->keysym_bindings; | 67 | list_t *keysym_bindings = config->current_mode->keysym_bindings; |
68 | for (int i = 0; i < keysym_bindings->length; ++i) { | 68 | for (int i = 0; i < keysym_bindings->length; ++i) { |
69 | struct sway_binding *binding = keysym_bindings->items[i]; | 69 | struct sway_binding *binding = keysym_bindings->items[i]; |
70 | sway_log(L_DEBUG, "@@ checking binding: %s", binding->command); | ||
70 | if (modifiers ^ binding->modifiers || n != binding->keys->length) { | 71 | if (modifiers ^ binding->modifiers || n != binding->keys->length) { |
72 | sway_log(L_DEBUG, "@@ modifiers or key num dont match"); | ||
71 | continue; | 73 | continue; |
72 | } | 74 | } |
73 | 75 | ||
@@ -286,17 +288,18 @@ static void handle_keyboard_key(struct wl_listener *listener, void *data) { | |||
286 | 288 | ||
287 | xkb_keycode_t keycode = event->keycode + 8; | 289 | xkb_keycode_t keycode = event->keycode + 8; |
288 | bool handled = false; | 290 | bool handled = false; |
289 | const xkb_keysym_t *keysyms; | ||
290 | 291 | ||
291 | // handle keycodes | 292 | // handle keycodes |
292 | handled = keyboard_execute_bindcode(keyboard); | 293 | handled = keyboard_execute_bindcode(keyboard); |
294 | sway_log(L_DEBUG, "@@ handled by bindcode? %d", handled); | ||
293 | 295 | ||
294 | // handle translated keysyms | 296 | // handle translated keysyms |
297 | const xkb_keysym_t *translated_keysyms; | ||
295 | uint32_t translated_modifiers; | 298 | uint32_t translated_modifiers; |
296 | size_t translated_keysyms_len = | 299 | size_t translated_keysyms_len = |
297 | keyboard_keysyms_translated(keyboard, keycode, &keysyms, | 300 | keyboard_keysyms_translated(keyboard, keycode, &translated_keysyms, |
298 | &translated_modifiers); | 301 | &translated_modifiers); |
299 | pressed_keysyms_update(keyboard->pressed_keysyms_translated, keysyms, | 302 | pressed_keysyms_update(keyboard->pressed_keysyms_translated, translated_keysyms, |
300 | translated_keysyms_len, event->state); | 303 | translated_keysyms_len, event->state); |
301 | if (event->state == WLR_KEY_PRESSED && !handled) { | 304 | if (event->state == WLR_KEY_PRESSED && !handled) { |
302 | handled = keyboard_execute_bindsym(keyboard, | 305 | handled = keyboard_execute_bindsym(keyboard, |
@@ -305,9 +308,10 @@ static void handle_keyboard_key(struct wl_listener *listener, void *data) { | |||
305 | } | 308 | } |
306 | 309 | ||
307 | // Handle raw keysyms | 310 | // Handle raw keysyms |
311 | const xkb_keysym_t *raw_keysyms; | ||
308 | uint32_t raw_modifiers; | 312 | uint32_t raw_modifiers; |
309 | size_t raw_keysyms_len = keyboard_keysyms_raw(keyboard, keycode, &keysyms, &raw_modifiers); | 313 | size_t raw_keysyms_len = keyboard_keysyms_raw(keyboard, keycode, &raw_keysyms, &raw_modifiers); |
310 | pressed_keysyms_update(keyboard->pressed_keysyms_raw, keysyms, raw_keysyms_len, | 314 | pressed_keysyms_update(keyboard->pressed_keysyms_raw, raw_keysyms, raw_keysyms_len, |
311 | event->state); | 315 | event->state); |
312 | if (event->state == WLR_KEY_PRESSED && !handled) { | 316 | if (event->state == WLR_KEY_PRESSED && !handled) { |
313 | handled = keyboard_execute_bindsym(keyboard, | 317 | handled = keyboard_execute_bindsym(keyboard, |