Go to file
Bryce Harrington af2c83b664 README: Add basic build directions
In particular, highlight the use of configure flags to control locating
X11 keyboard stuff when building for Wayland.

Of particular note, if the locale root is not specified, then xkbcommon
will look for them under $prefix (i.e. /usr/local/share/X11/locale).
But unless the user has specifically installed them there, it is better
to look in the standard system location, /usr/share/X11/locale.

Otherwise, xkbcommon will error when it can't find them, e.g.:

  xkbcommon: ERROR: ~/.XCompose:4:9: failed to expand %L to the locale Compose file
  xkbcommon: ERROR: ~/.XCompose:4:12: unterminated string literal

Signed-off-by: Bryce Harrington <bryce@osg.samsung.com>
Signed-off-by: Ran Benita <ran234@gmail.com>
2016-09-16 09:24:09 +03:00
bench bench: Check for errors opening Compose file 2016-09-16 09:23:43 +03:00
doc doc/compat: (! MODIFIER) syntax is parsed but ignored 2016-09-01 21:23:23 +03:00
m4 Remove m4/.gitkeep 2014-02-08 22:44:59 +02:00
src keymap-dump: use consistent order set/latch/lock (style) 2016-06-09 16:32:32 +03:00
test test/interactive-wayland: fix control reaches end of non-void function 2016-06-09 17:23:55 +03:00
xkbcommon doc: update reference to compat symbol to its new name 2016-03-26 01:56:03 +03:00
.autom4te.cfg build: use build-aux as autom4te cache directory 2013-08-15 09:58:50 +03:00
.gitignore gitignore: ignore generated wayland protocol stubs 2016-04-19 12:40:41 +03:00
.travis.yml travis: remove --disable-x11 2016-03-15 20:16:29 +02:00
.uncrustify.cfg Run source tree through uncrustify 2012-07-17 10:20:15 +01:00
Android.mk Android.mk: Remove unnecessary for loop 2012-09-11 15:11:35 +01:00
LICENSE test: Add interactive-wayland 2016-04-12 12:15:04 +01:00
Makefile.am test: Add interactive-wayland 2016-04-12 12:15:04 +01:00
NEWS Bump version to 0.6.1 2016-04-08 10:38:57 +01:00
PACKAGING PACKAGING: Update for interactive-wayland 2016-06-21 11:35:21 +10:00
README.md README: Add basic build directions 2016-09-16 09:24:09 +03:00
autogen.sh autogen: use --force instead of --symlink 2012-10-24 00:59:37 +11:00
configure.ac test: Add interactive-wayland 2016-04-12 12:15:04 +01:00
makekeys.py makekeys: mark keysym_names as static 2014-01-11 00:26:58 +02:00
xkbcommon-uninstalled.pc.in build: drop the include/ directory 2012-07-23 00:45:34 +03:00
xkbcommon-x11-uninstalled.pc.in x11: add XKB protocol keymap and state creation support 2014-02-02 11:16:40 +02:00
xkbcommon-x11.map Change initial symbol file versions to V_0.5.0 2014-10-18 16:40:59 +03:00
xkbcommon-x11.pc.in x11: add XKB protocol keymap and state creation support 2014-02-02 11:16:40 +02:00
xkbcommon.map Add symbol versions forgotten in 0ce17ef3ea 2016-03-13 23:17:21 +02:00
xkbcommon.pc.in Remove xproto and kbproto from pkg-config file 2012-04-09 14:04:25 +01:00

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 the typical autoconf way:

./autogen.sh
make

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

./autogen.sh --disable-x11 \
    --with-xkb-config-root=/usr/share/X11/xkb \
    --with-x-locale-root=/usr/share/X11/locale
make

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: http://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 http://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.