Add support for Kana and Compose USB HID LEDs

These were added in libinput 1.26 and xkbcommon 1.8.0

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4002>
This commit is contained in:
Martin Rys 2025-02-25 10:01:17 +01:00 committed by Carlos Garnacho
parent 0f0659e0e8
commit 1d2d62662e
5 changed files with 22 additions and 1 deletions

View File

@ -106,7 +106,7 @@ variables:
- .skip-git-clone
variables:
FDO_DISTRIBUTION_VERSION: 41
BASE_TAG: '2025-02-19.1'
BASE_TAG: '2025-02-25.0'
MUTTER_USER: 'meta-user'
FDO_DISTRIBUTION_PACKAGES:
accountsservice-devel

View File

@ -157,3 +157,11 @@ then
https://gitlab.freedesktop.org/wayland/wayland-protocols.git \
1.41
fi
if ! pkgconf --atleast-version 1.8.0 libxkbcommon
then
./$SCRIPTS_DIR/install-meson-project.sh \
"${OPTIONS[@]}" \
https://github.com/xkbcommon/libxkbcommon.git \
master
fi

View File

@ -139,5 +139,8 @@
/* libdrm defines struct drm_plane_size_hint */
#mesondefine HAVE_DRM_PLANE_SIZE_HINT
/* Whether xkbcommon has led definitions for kana/compose */
#mesondefine HAVE_XKBCOMMON_KANA_COMPOSE_LEDS
/* Building with font rendering integration support */
#mesondefine HAVE_FONTS

View File

@ -590,6 +590,8 @@ cdata.set('HAVE_MALLOC_TRIM', have_malloc_trim)
cdata.set('HAVE_EVENTFD', have_eventfd)
cdata.set('HAVE_FONTS', have_fonts)
cdata.set('HAVE_DRM_PLANE_SIZE_HINT', have_drm_plane_size_hint)
cdata.set('HAVE_XKBCOMMON_KANA_COMPOSE_LEDS',
xkbcommon_dep.version().version_compare('>= 1.8.0'))
if have_x11_client
xkb_base = xkeyboard_config_dep.get_variable('xkb_base')

View File

@ -107,6 +107,10 @@ enum _MetaKeyboardLed
KEYBOARD_LED_NUM_LOCK,
KEYBOARD_LED_CAPS_LOCK,
KEYBOARD_LED_SCROLL_LOCK,
#ifdef HAVE_XKBCOMMON_KANA_COMPOSE_LEDS
KEYBOARD_LED_COMPOSE,
KEYBOARD_LED_KANA,
#endif
N_KEYBOARD_LEDS,
};
@ -3012,6 +3016,10 @@ update_keyboard_leds (MetaSeatImpl *seat_impl)
XKB_LED_NAME_NUM,
XKB_LED_NAME_CAPS,
XKB_LED_NAME_SCROLL,
#ifdef HAVE_XKBCOMMON_KANA_COMPOSE_LEDS
XKB_LED_NAME_COMPOSE,
XKB_LED_NAME_KANA,
#endif
};
int i;