keymap handling library for toolkits and window systems
Branch: master
Clone or download
whot and bluetech meson.build: link the sources directly into libxkbcommon-x11
Similar to 75ce741, just for the -x11
sublibrary.

This works around meson bug 3937, 'link_whole' arguments don't get added into
the final static library and we end up with a virtually empty 8-byte
libxkbcommon-x11.a file, see mesonbuild/meson#3937

The internal lib is still built for the one test case that requires it.

Fixes #86

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Latest commit 3f50953 Feb 11, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
bench bench: simplify the bench helpers Jul 5, 2018
doc build: make doxygen run from the source tree Aug 1, 2017
fuzz Add fuzzing infrastructure Jul 30, 2018
m4 Remove m4/.gitkeep Feb 8, 2014
scripts build: make doxygen run from the source tree Aug 1, 2017
src Sync Keysyms with recent xproto additions Jan 22, 2019
test test: allow for absolute paths to be resolved Aug 21, 2018
xkbcommon docs: fix a doxygen reference warning Jan 28, 2019
.autom4te.cfg build: use build-aux as autom4te cache directory Aug 15, 2013
.gitignore build: add meson build system Jul 31, 2017
.travis.yml travis: pin meson to an older version so it works with Python 3.4 Jun 23, 2018
.uncrustify.cfg Run source tree through uncrustify Jul 17, 2012
LICENSE test: Add interactive-wayland Apr 12, 2016
Makefile.am test: add a tool to test-compile all LVO combinations from xkeyboard-… Aug 21, 2018
NEWS Update NEWS Feb 8, 2019
PACKAGING README,PACKAGING: use the new meson unified command format Dec 15, 2017
README.md Convert http:// -> https:// where possible Dec 21, 2017
autogen.sh autogen: use --force instead of --symlink Oct 23, 2012
configure.ac Bump version to 0.8.3 Feb 8, 2019
meson.build meson.build: link the sources directly into libxkbcommon-x11 Feb 11, 2019
meson_options.txt build: add meson build system Jul 31, 2017
xkbcommon-x11.map Change initial symbol file versions to V_0.5.0 Oct 18, 2014
xkbcommon-x11.pc.in x11: add XKB protocol keymap and state creation support Feb 2, 2014
xkbcommon.map keysym: add xkb_keysym_to_{lower,upper} to public API Dec 11, 2017
xkbcommon.pc.in Remove xproto and kbproto from pkg-config file Apr 9, 2012

README.md

libxkbcommon

libxkbcommon is a keyboard keymap compiler and support library which processes a reduced subset of keymaps as defined by the XKB (X Keyboard Extension) specification. It also contains a module for handling Compose and dead keys.

Quick Guide

See Quick Guide.

Building

libxkbcommon is built with Meson:

meson setup build
ninja -C build

To build for use with Wayland, you can disable X11 support while still using the X11 keyboard configuration resource files thusly:

meson setup build \
    -Denable-x11=false \
    -Dxkb-config-root=/usr/share/X11/xkb \
    -Dx-locale-root=/usr/share/X11/locale
ninja -C build

API

While libxkbcommon's API is somewhat derived from the classic XKB API as found in X11/extensions/XKB.h and friends, it has been substantially reworked to expose fewer internal details to clients.

See the API Documentation.

Dataset

libxkbcommon does not distribute a keymap dataset itself, other than for testing purposes. The most common dataset is xkeyboard-config, which is used by all current distributions for their X11 XKB data. More information on xkeyboard-config is available here: https://www.freedesktop.org/wiki/Software/XKeyboardConfig

The dataset for Compose is distributed in libX11, as part of the X locale data.

Relation to X11

See Compatibility notes.

Development

An extremely rudimentary homepage can be found at https://xkbcommon.org

xkbcommon is maintained in git at https://github.com/xkbcommon/libxkbcommon

Patches are always welcome, and may be sent to either xorg-devel@lists.x.org or wayland-devel@lists.freedesktop.org or through github.

Bug reports are also welcome, and may be filed either at Bugzilla https://bugs.freedesktop.org/describecomponents.cgi?product=libxkbcommon or Github https://github.com/xkbcommon/libxkbcommon/issues

The maintainers are

Credits

Many thanks are due to Dan Nicholson for his heroic work in getting xkbcommon off the ground initially.