sway

i3-compatible Wayland compositor
git clone https://git.awy.one/sway
Log | Files | Refs | README | LICENSE

commit 9d6787d10d3800ff4873ad6ac3abe4b096090427
parent 07042486c3c4b8e7083405ba9b34b1b87f8d396d
Author: Brian Ashworth <bosrsf04@gmail.com>
Date:   Wed, 11 Nov 2020 21:13:38 -0500

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:
Msway/input/keyboard.c | 8+++++---
1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/sway/input/keyboard.c b/sway/input/keyboard.c @@ -626,10 +626,12 @@ static void handle_modifier_event(struct sway_keyboard *keyboard) { determine_bar_visibility(modifiers); } - if (wlr_device->keyboard->modifiers.group != keyboard->effective_layout && - !wlr_keyboard_group_from_wlr_keyboard(wlr_device->keyboard)) { + if (wlr_device->keyboard->modifiers.group != keyboard->effective_layout) { keyboard->effective_layout = wlr_device->keyboard->modifiers.group; - ipc_event_input("xkb_layout", keyboard->seat_device->input_device); + + if (!wlr_keyboard_group_from_wlr_keyboard(wlr_device->keyboard)) { + ipc_event_input("xkb_layout", keyboard->seat_device->input_device); + } } }