Introduction to libxkbcommon
libxkbcommon is a keymap compiler
and support library which processes a reduced subset of keymaps as
defined by the XKB specification.
Note
Development versions of GLFS may not build or run some packages
properly if LFS or dependencies have been updated since the most
recent stable versions of the books.
libxkbcommon Dependencies
Required
xkeyboard-config-2.42 (runtime)
Recommended
libxcb-1.17.0, Wayland-1.23.1, and wayland-protocols-1.37
Optional
Xvfb from Xorg-Server-21.1.13 or Xwayland-24.1.2
Installation of libxkbcommon
Install libxkbcommon by running
the following commands:
mkdir build &&
cd build &&
meson setup .. \
--prefix=/usr \
--buildtype=release \
-Denable-docs=false &&
ninja
To test the results, ensure Xvfb and xkeyboard-config-2.42 are available,
then issue: ninja
test.
Now, as the root
user:
ninja install
32-bit Installation of libxkbcommon
First clean the build directory:
rm -rf *
Install lib32-libxkbcommon by
running the following commands:
CC="gcc -m32" CXX="g++ -m32" \
PKG_CONFIG_PATH=/usr/lib32/pkgconfig \
meson setup .. \
--prefix=/usr \
--libdir=/usr/lib32 \
--buildtype=release \
-D enable-docs=false &&
ninja
Now, as the root
user:
DESTDIR=$PWD/DESTDIR ninja install
cp -vr DESTDIR/usr/lib32/* /usr/lib32
rm -rf DESTDIR
ldconfig
Command Explanations
--buildtype=release
:
Specify a buildtype suitable for stable releases of the package, as
the default may produce unoptimized binaries.
mv -v
/usr/share/doc/libxkbcommon{,-1.7.0}: If you built
the documentation, use this command to install the it in a
versioned directory.
Contents
Installed Programs:
xkbcli
Installed Libraries:
libxkbcommon.so, libxkbcommon-x11.so, and
libxkbregistry.so
Installed Directories:
/usr/include/xkbcommon,
/usr/libexec/xkbcommon, and
/usr/share/doc/libxkbcommon-1.7.0
Short Descriptions
xkbcli
|
provides a debugger and compiler for XKB keymaps
|
libxkbcommon.so
|
contains the libxkbcommon API functions
|
libxkbcommon-x11.so
|
contains the libxkbcommon X11 specific API
functions
|
libxkbregistry.so
|
contains a list of available XKB models, layouts, and
variants for a given ruleset
|