From 38dbfe41a1fa9eb529a9057b0650b2cae7af3024 Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Thu, 1 Dec 2022 11:40:35 +1000 Subject: [PATCH] evdev: only read the trackpoint multiplier on trackpoints Check the tag before we read any multiplier quirks. And don't bother reading the DPI for trackpoints either because it doesn't make sense for those devices. Signed-off-by: Peter Hutterer --- src/evdev.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/evdev.c b/src/evdev.c index c20d2749..64290335 100644 --- a/src/evdev.c +++ b/src/evdev.c @@ -2056,8 +2056,10 @@ evdev_configure_device(struct evdev_device *device) udev_tags & EVDEV_UDEV_TAG_POINTINGSTICK) { evdev_tag_external_mouse(device, device->udev_device); evdev_tag_trackpoint(device, device->udev_device); - device->dpi = evdev_read_dpi_prop(device); - device->trackpoint_multiplier = evdev_get_trackpoint_multiplier(device); + if (device->tags & EVDEV_TAG_TRACKPOINT) + device->trackpoint_multiplier = evdev_get_trackpoint_multiplier(device); + else + device->dpi = evdev_read_dpi_prop(device); /* whether velocity should be averaged, false by default */ device->use_velocity_averaging = evdev_need_velocity_averaging(device);