Warning
This documentation is currently under development! It should not be relied upon at this time.
Input Config Properties#
nameDefine a name the device may preset as, the the system. For most devices is this manufacturer’s official name (as defined in the USB registry), and the device’s name. Some devices have shipped with multiple names in their lifecycle.
vendor-idDefine the vendor ID of the device, as defined in the USB registry. This is a short number which is assigned to a manufacturer. Note that this accepted hexadecimal values, since this is how USB vendor IDs are nearly always represented.
device-idDefine the device ID of the device, as defined in the USB registry. As for the vendor ID, this is interpreted as a hexadecimal value. See the documentation on device identification for more details on how this is used.
debug-eventsSet to
trueto enable debug log output for the device. This can be useful when tweaking a configuration file, to see raw event values and understand how physical controls map to input events.Note this value can be toggled at runtime via the
/input/device[N]/debug-eventsproperty.nasalopenDefines Nasal code which is executed when the device is connected. This can be used to initialize helper functions or data, in the context of Nasal callbacks on reports.
closeDefines Nasal code which is executed when the device is disconnected.
Common Properties#
Axis Properties#
output-modeConfigures what value is passed when invoking bindings for this event. The following values are supported:
signed-normalizedThe output value is a floating point value in the range [-1.0, 1.0], where the center position is 0.0.
unsigned-normalizedThe output value is a floating point value in the range [0.0, 1.0]. Note that in this mode, the
centerposition is not used.directThe output value is the raw input value, as read from the device. The range depends on the HID feature configuration, and could span for example 0..1023, or -16..15, depending on the exact hardware and configuration. This mode is useful for inputs such as rotary encoders, which generate a signed relative input, based on how fast they are moved.
centerDefine the center position of the output range. The default value is ‘0.0’.
deadband- todo:
low-thresholdSpecifies a value in the output range, below which the
<low>binding will be fired. For asigned-normalizedaxis, this is typically a value like ‘-0.9’, so that the<low>binding is fired when the axis is at the bottoms of its range.high-thresholdSpecifies a value in the output range, above which the
<high>binding will be fired.noise-threshold-bitsSpecify how many input bits are ignored when considering if the axis has changed. This is necessary to reduce continuous firing of events on cheaper input hardware, where the low bits of the ADC are often meaningless. The default value is 0, and typical values would be 1-3 bits, depending on the exact hardware.