Add support for XKB_LED_NAME_COMPOSE and XKB_LED_NAME_KANA USB HID LEDs

Requires xkbcommon 1.8.0
This commit is contained in:
Martin Rys 2025-02-18 14:36:15 +01:00 committed by Simon Ser
parent c2327248f8
commit 62c86fb975
3 changed files with 7 additions and 3 deletions

View file

@ -16,12 +16,14 @@
#include <wlr/types/wlr_input_device.h>
#include <xkbcommon/xkbcommon.h>
#define WLR_LED_COUNT 3
#define WLR_LED_COUNT 5
enum wlr_keyboard_led {
WLR_LED_NUM_LOCK = 1 << 0,
WLR_LED_CAPS_LOCK = 1 << 1,
WLR_LED_SCROLL_LOCK = 1 << 2,
WLR_LED_COMPOSE = 1 << 3,
WLR_LED_KANA = 1 << 4,
};
#define WLR_MODIFIER_COUNT 8

View file

@ -105,8 +105,8 @@ drm = dependency('libdrm',
'tests=false',
],
)
xkbcommon = dependency(
'xkbcommon',
xkbcommon = dependency('xkbcommon',
version: '>=1.8.0',
fallback: 'libxkbcommon',
default_options: [
'enable-tools=false',

View file

@ -235,6 +235,8 @@ bool wlr_keyboard_set_keymap(struct wlr_keyboard *kb, struct xkb_keymap *keymap)
XKB_LED_NAME_NUM,
XKB_LED_NAME_CAPS,
XKB_LED_NAME_SCROLL,
XKB_LED_NAME_COMPOSE,
XKB_LED_NAME_KANA,
};
for (size_t i = 0; i < WLR_LED_COUNT; ++i) {
kb->led_indexes[i] = xkb_map_led_get_index(kb->keymap, led_names[i]);