X Keyboard Extension
--------------------

The X Keyboard Extension essentially replaces the core protocol definition of
keyboard. The extension makes possible to clearly and explicitly specify most
aspects of keyboard behaviour on per-key basis and to more closely track the
logical and physical state of the keyboard. It also includes a number of
keyboard controls designed to make keyboards more accessible to people with
physical impairments.

There are five types of components in the server database corresponing to five
xkb symbolic names: symbols, geometry, keycodes, compat and types which
determine the keyboard behaviour. These five components can combined together
into a resulting keyboard mapping using the 'rules' component.

More information, including the complete specification, can be found on
http://www.x.org/wiki/XKB