Skip to content
Commit 02e08c40 authored by Peter Hutterer's avatar Peter Hutterer
Browse files

udev: builtin-keyboard: add support for EVDEV_ABS_*

Parse properties in the form
EVDEV_ABS_00="<min>:<max>:<res>:<fuzz>:<flat>"

and apply them to the kernel device. Future processes that open that device
will see the updated EV_ABS range.

This is particularly useful for touchpads that don't provide a resolution in
the kernel driver but can be fixed up through hwdb entries (e.g. bcm5974).

All values in the property are optional, e.g. a string of "::45" is valid to
set the resolution to 45.

The order intentionally orders resolution before fuzz and flat despite it
being the last element in the absinfo struct. The use-case for setting
fuzz/flat is almost non-existent, resolution is probably the most common case
we'll need.

To avoid multiple hwdb invocations for the same device, replace the
hwdb "keyboard:" prefix with "evdev:" and drop the separate 60-keyboard.rules
file. The new 60-evdev.rules is called for all event nodes
anyway, we don't need a separate rules file and second callout to the hwdb
builtin.

(cherry picked from commit 51c0c286)

Changes to 51c0c286:
- leave 60-keyboard.rules in place. This forces a double callout to the
  keyboard builtin but avoids breaking current setups that rely on the
  keyboard: prefix
- drop the AT keyboard matching rule from 60-evdev.rules, this is for keyboard
  matches and handled by the 60-keyboard.rules that was restored with the
  backport.
parent dd3e528c
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment