General info
libxklavier is a library providing high-level API for X Keyboard Extension known as XKB. This library is indended to support XFree86 and other commercial X servers. It is useful for creating XKB-related software (layout indicators etc).
The current features are:
- Reading XKB configuration registry information (for XFree86)
- Configuring XKB
- Application-defined callbacks for many XKB-related events
Support for per-window switching etc. Requirements:
Proper support of XKB on X server and X client side
- Any version of X.Org or XFree86 4.3 or above with support of multiple layouts and base.xml/xorg.xml/xfree.xml configuration registry present
Documentation
The API documentation can be found here.
Short document regarding "Why multiple layouts rock" is recommended for reading - available in PDF format and in OOo format.
Some problems of XKB (and XFree implementation) are listed here: in PDF format and in OOo format.
Repository
libxklavier is unmaintained and considered deprecated. The repository is available here: https://gitlab.freedesktop.org/archived-projects/libxklavier
Files
The released files are located at GNOME web site.
The anonymous CVS repo at freedesktop.org: :pserver:anoncvs@cvs.freedesktop.org:/cvs/xklavier
X servers support
The library is designed to be usable with any X server with proper implementation of XKB extenstion. So far, it was only tested on XFree86 XKB implementation. The author is interested in supporting other X servers as well. He would be very grateful for any information/patches/feedback regarding usage of libxklavier on platforms other than XOrg/XFree86.