aboutsummaryrefslogtreecommitdiffstats
path: root/sway/input
diff options
context:
space:
mode:
authorLibravatar Brian Ashworth <bosrsf04@gmail.com>2020-11-11 21:13:38 -0500
committerLibravatar Simon Ser <contact@emersion.fr>2020-11-12 10:52:45 +0100
commit9d6787d10d3800ff4873ad6ac3abe4b096090427 (patch)
tree5ed1cd5b1f28c905fd9bd4741e6d1d236102a27e /sway/input
parenttree/container: introduce `container_is_sticky[_or_child]` functions (diff)
downloadsway-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/input')
-rw-r--r--sway/input/keyboard.c8
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