diff options
author | Brian Ashworth <bosrsf04@gmail.com> | 2020-11-11 21:13:38 -0500 |
---|---|---|
committer | Simon Ser <contact@emersion.fr> | 2020-11-12 10:52:45 +0100 |
commit | 9d6787d10d3800ff4873ad6ac3abe4b096090427 (patch) | |
tree | 5ed1cd5b1f28c905fd9bd4741e6d1d236102a27e /sway | |
parent | tree/container: introduce `container_is_sticky[_or_child]` functions (diff) | |
download | sway-9d6787d10d3800ff4873ad6ac3abe4b096090427.tar.gz sway-9d6787d10d3800ff4873ad6ac3abe4b096090427.tar.zst sway-9d6787d10d3800ff4873ad6ac3abe4b096090427.zip |
input/keyboard: fix Group# bindings for keyboard groups
The keyboard group's effective keyboard layout was never being changed
due to a condition that incorrectly preventing it from being performed.
The IPC event that follows the change was correctly being prevented.
Diffstat (limited to 'sway')
-rw-r--r-- | sway/input/keyboard.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/sway/input/keyboard.c b/sway/input/keyboard.c index 0413436e..ce259eb2 100644 --- a/sway/input/keyboard.c +++ b/sway/input/keyboard.c | |||
@@ -626,10 +626,12 @@ static void handle_modifier_event(struct sway_keyboard *keyboard) { | |||
626 | determine_bar_visibility(modifiers); | 626 | determine_bar_visibility(modifiers); |
627 | } | 627 | } |
628 | 628 | ||
629 | if (wlr_device->keyboard->modifiers.group != keyboard->effective_layout && | 629 | if (wlr_device->keyboard->modifiers.group != keyboard->effective_layout) { |
630 | !wlr_keyboard_group_from_wlr_keyboard(wlr_device->keyboard)) { | ||
631 | keyboard->effective_layout = wlr_device->keyboard->modifiers.group; | 630 | keyboard->effective_layout = wlr_device->keyboard->modifiers.group; |
632 | ipc_event_input("xkb_layout", keyboard->seat_device->input_device); | 631 | |
632 | if (!wlr_keyboard_group_from_wlr_keyboard(wlr_device->keyboard)) { | ||
633 | ipc_event_input("xkb_layout", keyboard->seat_device->input_device); | ||
634 | } | ||
633 | } | 635 | } |
634 | } | 636 | } |
635 | 637 | ||