Warning
This documentation is currently under development! It should not be relied upon at this time.
Introduction#
Input devices typically define a collection of controls (sometimes called features), such as buttons, switches and axes. Some devices also have output indicators such as LEDs which can be controlled to give feedback.
Each of these controls is called an event in the XML file, and depending on the type of event, different behaviours can be configured to link the event to some action in the simulator.
General Syntax#
An input configuration XML file is a PropertyList file, where properties have a special meaning.
Properties are used to define the events of the input device, and their behaviour.
Backends#
On macOS and Windows, direct communication to the USB stack of the operating system is used. This is referred to as ‘HID’ (Human Interface Device). On Linux, the same solution is possible, but requires adjusting the user permissions of the user account, due to security restrictions.
The easier approach on Linux is to use the ‘event input’ layer, which allows access to the same data, but with no security restrictions. Unfortunately, not all hardware can work fully with event input - more complex / advanced hardware add-ons only work with HID.