diff --git a/include/wlr/types/wlr_keyboard.h b/include/wlr/types/wlr_keyboard.h index 23ca006a1..20a310fde 100644 --- a/include/wlr/types/wlr_keyboard.h +++ b/include/wlr/types/wlr_keyboard.h @@ -16,12 +16,14 @@ #include #include -#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 diff --git a/meson.build b/meson.build index fc7c179a6..8319eff69 100644 --- a/meson.build +++ b/meson.build @@ -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', diff --git a/types/wlr_keyboard.c b/types/wlr_keyboard.c index 613b4e841..a24335b3a 100644 --- a/types/wlr_keyboard.c +++ b/types/wlr_keyboard.c @@ -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]);