libinput
0.12.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.