libinput
0.18.0
A wrapper library for input devices
|
libinput supports some static configuration through udev properties.
These properties are read when the device is initially added to libinput's device list, i.e. before the LIBINPUT_EVENT_DEVICE_ADDED event is generated.
The following udev properties are supported:
Sets the calibration matrix, see libinput_device_config_calibration_get_default_matrix(). If unset, defaults to the identity matrix.
The udev property is parsed as 6 floating point numbers separated by a single space each (scanf(3) format "%f %f %f %f %f %f"). The 6 values represent the first two rows of the calibration matrix as described in libinput_device_config_calibration_set_matrix().
Example values are:
Below is an example udev rule to assign "seat1" to a device from vendor 0x012a with the model ID of 0x034b.
libinput requires the ID_INPUT property to be set on a device, otherwise the device will be ignored. In addition, one of ID_INPUT_KEYBOARD, ID_INPUT_KEY, ID_INPUT_MOUSE, ID_INPUT_TOUCHPAD, ID_INPUT_TOUCHSCREEN, ID_INPUT_TABLET, ID_INPUT_JOYSTICK, ID_INPUT_ACCELEROMETER must be set on the device to determine the device type. The usual error handling applies within libinput and a device type label does not guarantee that the device is initialized by libinput. If a device fails to meet the requirements for a device type (e.g. a keyboard labelled as touchpad) the device will not be available through libinput.
Only one device type should be set per device at a type, though libinput can handle some combinations for historical reasons.
Below is an example udev rule to remove an ID_INPUT_TOUCHPAD setting and change it into an ID_INPUT_TABLET setting. This rule would apply for a device with the vendor/model ID of 012a/034b.
libinput reserves the property prefix LIBINPUT_MODEL_ for model-specific configuration. This prefix is reserved as private API, do not use.
The effect of this property may be to enable or disable certain features on a specific device or set of devices, to change configuration defaults or any other reason. The effects of setting this property, the format of the property and the value of the property are subject to change at any time.