Go to file
Ran Benita 74f85d0540 test/x11comp: remove duplicate FOUR_LEVEL_KEYPAD from test keymap
The `test/data/keymaps/host.xkb` file contains a duplicate definition of
this type. On my computer (linux, xkbcomp 1.3.0, xserver 1.17.2), the
test passes as is, but if I remove the duplicate definition, the
roundtrip brings it back and the test fails. I can also reproduce it
without relation to the test, by loading `test/data/keymaps/host.xkb`
(without the duplicate) using

    xkbcomp -I $(pwd)/test/data/keymaps/host.xkb $DISPLAY

and downloading it again using

    xkbcomp $DISPLAY out.xkb

the duplicate is added. On Mac OS X however, the duplicate is removed
(correctly), so the test fails there.

xkbcommon itself, which was forked from xkbcomp, doesn't have this bug;
in fact, doing

    ./test/print-compiled-keymap -k keymaps/host.xkb

removes the duplicate if it is present.

This is (probably) a regression in xkbcomp or xserver compared to the
versions used in Mac OS X. Since getting a patch for any of these two is
hopeless from my experience, I did not try to investigate further.

I am not sure why, but if I also add a `PC_SUPER_LEVEL2` type, the
duplicate of `FOUR_LEVEL_KEYPAD` doesn't show up. Hopefully the test
will work on all platforms now.

https://github.com/xkbcommon/libxkbcommon/issues/26

Reported-by: @nuko8
Signed-off-by: Ran Benita <ran234@gmail.com>
2015-08-23 23:16:37 +03:00
bench bench/compose: add new benchmark 2014-10-05 12:56:46 +03:00
doc doc/compat.md: add compose incompatibilities 2014-10-18 16:03:41 +03:00
m4 Remove m4/.gitkeep 2014-02-08 22:44:59 +02:00
src Add XKB_CONFIG_ROOT environment 2015-07-20 10:31:02 +02:00
test test/x11comp: remove duplicate FOUR_LEVEL_KEYPAD from test keymap 2015-08-23 23:16:37 +03:00
xkbcommon doc: some editorial changes to compose documentation 2015-02-19 17:03:06 +02:00
.autom4te.cfg build: use build-aux as autom4te cache directory 2013-08-15 09:58:50 +03:00
.gitignore build: use build-aux as autom4te cache directory 2013-08-15 09:58:50 +03:00
.travis.yml Add .travis.yml file 2014-04-06 17:20:04 +03: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 rename to LICENSE 2015-03-10 12:20:01 +00:00
Makefile.am build: don't fail if linker version scripts are not supported 2015-07-17 23:26:20 +03:00
NEWS Update NEWS 2014-10-18 16:41:36 +03:00
PACKAGING PACKAGING: fix confusing typo 2014-10-24 23:06:07 +03:00
README.md README: we also accepts patches through github 2014-10-18 15:06:16 +03:00
autogen.sh autogen: use --force instead of --symlink 2012-10-24 00:59:37 +11:00
configure.ac build: don't fail if linker version scripts are not supported 2015-07-17 23:26:20 +03: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 Change initial symbol file versions to V_0.5.0 2014-10-18 16:40:59 +03: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.

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.

Bugs are also welcome, and may be reported 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.