summaryrefslogtreecommitdiff
path: root/src/devices/IKeyboard.cpp
diff options
context:
space:
mode:
authorSungyoon Cho <sungyoon@sungyooncho.dev>2024-05-15 00:14:43 +0900
committerGitHub <noreply@github.com>2024-05-14 16:14:43 +0100
commitd0a4a0e0d8ecc0a47c0bcfbf84c090cae8cee7af (patch)
treec30bdc02ec7bd66f1f652c00d11878addacea5dc /src/devices/IKeyboard.cpp
parent1584679004435d93d5fe2dd794d2aefaa0c9574a (diff)
input: fix modifier and leds (#6062)
Diffstat (limited to 'src/devices/IKeyboard.cpp')
-rw-r--r--src/devices/IKeyboard.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/devices/IKeyboard.cpp b/src/devices/IKeyboard.cpp
index 3bd42eac..7e4dd912 100644
--- a/src/devices/IKeyboard.cpp
+++ b/src/devices/IKeyboard.cpp
@@ -131,8 +131,17 @@ void IKeyboard::updateLEDs() {
leds |= (1 << i);
}
+ updateLEDs(leds);
+}
+
+void IKeyboard::updateLEDs(uint32_t leds) {
+ auto keyboard = wlr();
+
+ if (!keyboard || keyboard->xkb_state == nullptr)
+ return;
+
if (isVirtual() && g_pInputManager->shouldIgnoreVirtualKeyboard(self.lock()))
return;
- wlr_keyboard_led_update(wlr(), leds);
+ wlr_keyboard_led_update(keyboard, leds);
}