Components
A keyboard mapping consists of some components:
Keycodes
Specifies the range and interpretation of the raw keycodes reported by the device.
It sets the keycodes symbolic name, the minimum and maximum legal codes for the keyboard, and the symbolic name for each key. The keycodes component might also contain aliases for some keys, symbolic names for some indicators and a description of which indicators are physically present.
Geometry
Specifies the geometry of a keyboard.
It might contain aliases for some keys, or symbolic names for some indicators and might affect the set of indicators that are physically present.
Key aliases defined in the geometry component of a keyboard mapping override those defined in the
keycodes component.
Types
Specifies the key types that can be associated with the various keyboard keys.
The types component can optionally contain also real modifier bindings and symbolic names for one or more virtual modifiers.