Commit 4f6bec60 authored by Peter Hutterer's avatar Peter Hutterer Committed by Michael Catanzaro

xkbinfo: use libxkbregistry to parse the rules files for us

Available in libxkbcommon 1.0.0 and later, libxkbregistry is a library wrapper
around the evdev.xml rules file that we used to parse directly here. It
provides a basic iteration API - load the evdev ruleset, then iterate through
the layouts and options and copy the values over into our data structures as
needed. This removes the need for XML parsing and error-checking, we can now
rely on libxkbregistry to do this for us.

The side-effect of this (and motivation for libxkbregistry) is that we
automatically load user-specific XKB RMLVO as well where they are present.
Together with mutter commit f71238732508d91bdfcb581c84697a516499a1eb this
allows a user to drop up their custom XKB layouts in
$XDG_CONFIG_DIR/xkb and have them both listed in the GUIs and working.
parent d35c6e0e
Pipeline #215982 passed with stage
in 6 minutes and 39 seconds
......@@ -3,7 +3,7 @@ image: fedora:rawhide
variables:
LAST_ABI_BREAK: 9d01763ba2a3f71b7c0aade04d2ffa6a883e308d
DEPENDENCIES: gtk3-devel gsettings-desktop-schemas-devel gettext
gtk-doc xkeyboard-config-devel itstool
gtk-doc libxkbcommon-devel xkeyboard-config-devel itstool
gobject-introspection-devel systemd-devel iso-codes-devel
libseccomp-devel gcc gcc-c++ glibc-devel
meson redhat-rpm-config
......
This diff is collapsed.
......@@ -80,6 +80,7 @@ gnome_desktop_deps = [
libsystemd_dep,
schemas_dep,
xkb_config_dep,
xkbregistry_dep,
iso_codes_dep,
udev_dep,
seccomp_dep
......
......@@ -47,6 +47,7 @@ gio_unix_dep = dependency('gio-unix-2.0', version: glib_req)
schemas_dep = dependency('gsettings-desktop-schemas', version: schemas_req)
fontconfig_dep = dependency('fontconfig')
xkb_config_dep = dependency('xkeyboard-config')
xkbregistry_dep = dependency('xkbregistry')
iso_codes_dep = dependency('iso-codes')
libsystemd_dep = dependency('libsystemd', required: get_option('systemd'))
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment