aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorProgAndy <code@progandy.de>2018-07-25 17:09:34 +0200
committerProgAndy <code@progandy.de>2018-07-25 17:24:45 +0200
commit76ece5788bffe27b32c85968886f3738d244abf9 (patch)
treefbe2ecd9c36e7e1d954853f76d813ecdcd1a2e57
parent0ba52458abb8fb0414319d2084e6d0d0214ae304 (diff)
downloadsway-76ece5788bffe27b32c85968886f3738d244abf9.tar.xz
Fix LEDs for configured modifier states
-rw-r--r--sway/input/keyboard.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/sway/input/keyboard.c b/sway/input/keyboard.c
index 36c5a064..643ff510 100644
--- a/sway/input/keyboard.c
+++ b/sway/input/keyboard.c
@@ -401,6 +401,14 @@ void sway_keyboard_configure(struct sway_keyboard *keyboard) {
}
if (locked_mods) {
wlr_keyboard_notify_modifiers(wlr_device->keyboard, 0, 0, locked_mods, 0);
+ uint32_t leds = 0;
+ for (uint32_t i = 0; i < WLR_LED_COUNT; ++i) {
+ if (xkb_state_led_index_is_active(wlr_device->keyboard->xkb_state,
+ wlr_device->keyboard->led_indexes[i])) {
+ leds |= (1 << i);
+ }
+ }
+ wlr_keyboard_led_update(wlr_device->keyboard, leds);
}
if (input_config && input_config->repeat_delay != INT_MIN