Other
XKB allows for better handling of the keyboard indicators (LEDs). In particular, XKB provides symbolic names for indicators, which allows for binding indicators to keyboard activity and checking which indicators are actually present on the keyboard.
XKB also improves upon the core protocol's handling of bells; the core protocol only supports one bell and the only action a client can perform is to ring the bell. XKB supports multiple named bells and allows a client to deactivate some of them and to be informed when a bell is rung.
XKB allows a client to query the physical shape of the keyboard, including the shapes of individual keys. In particular, keys are arranged into sections, possibly rotated (as an example, the numeric keypad is typically considered a section). Within a section, keys are arranged into rows. Keys and sections have a geometry, which comprise the approximate outline of the key, its bounding box, and the precise form. Other than keys, the geometry also includes doodads, which are elements on the keyboard that are not keys. The overall shape of the keyboard is a doodad. Information provided about doodads includes their color and any text printed on them (including the font used).
Read more about this topic: X Keyboard Extension