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.
Loading
Please register or sign in to comment