]> git.ipfire.org Git - thirdparty/systemd.git/commit
udev: don't assign INPUT_ID_MOUSE to a touchpad/joystick/touchscreen (#8259)
authorPeter Hutterer <peter.hutterer@who-t.net>
Fri, 23 Feb 2018 08:36:45 +0000 (18:36 +1000)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Fri, 23 Feb 2018 08:36:45 +0000 (09:36 +0100)
commit774ff9ba69c08d8331c4268059637f289ce059bb
tree23dcf1c1da95d28df6de7bfde3b8478a20ccd5de
parent6719ca721117ad03b0775e32b092da702e8180bd
udev: don't assign INPUT_ID_MOUSE to a touchpad/joystick/touchscreen (#8259)

If a touchpad has MT axes only but not ABS_X/ABS_Y (DualShock 4 controller),
then we hit both the conditions is_touchpad and the later check for
!has_abs_axes here, assigning is_mouse and ID_INPUT_MOUSE later.

This is a bug, we historically only assigned either of of the pointing device
tags ID_INPUT_MOUSE/TOUCHPAD/JOYSTICK/TOUCHSCREEN, never multiple of them.

Note that we cannot just check for has_abs_axes and has_mt_coordinates because
the apple touch mouse has both. We really need to check if the device has
already been assigned something else.

https://bugs.freedesktop.org/show_bug.cgi?id=105050
src/udev/udev-builtin-input_id.c