mirror of
https://gitlab.freedesktop.org/libinput/libinput.git
synced 2026-02-04 04:40:25 +01:00
evdev: only extract the fuzz for touchpads and touchscreens
We don't have a hysteresis for tablet devices, so let's leave those as-is. This may be a slight regression in behavior compared to pre-410b157e84 now the kernel will apply the fuzz. Let's see if anyone notices, the fuzz is usually so tiny on tablets that it shouldn't be noticable. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
This commit is contained in:
parent
82102f8599
commit
82958a31f1
1 changed files with 9 additions and 6 deletions
15
src/evdev.c
15
src/evdev.c
|
|
@ -1602,7 +1602,8 @@ evdev_reject_device(struct evdev_device *device)
|
|||
}
|
||||
|
||||
static void
|
||||
evdev_extract_abs_axes(struct evdev_device *device)
|
||||
evdev_extract_abs_axes(struct evdev_device *device,
|
||||
enum evdev_device_udev_tags udev_tags)
|
||||
{
|
||||
struct libevdev *evdev = device->evdev;
|
||||
int fuzz;
|
||||
|
|
@ -1614,10 +1615,12 @@ evdev_extract_abs_axes(struct evdev_device *device)
|
|||
if (evdev_fix_abs_resolution(device, ABS_X, ABS_Y))
|
||||
device->abs.is_fake_resolution = true;
|
||||
|
||||
if ((fuzz = evdev_read_fuzz_prop(device, ABS_X)))
|
||||
libevdev_set_abs_fuzz(evdev, ABS_X, fuzz);
|
||||
if ((fuzz = evdev_read_fuzz_prop(device, ABS_Y)))
|
||||
libevdev_set_abs_fuzz(evdev, ABS_Y, fuzz);
|
||||
if (udev_tags & (EVDEV_UDEV_TAG_TOUCHPAD|EVDEV_UDEV_TAG_TOUCHSCREEN)) {
|
||||
if ((fuzz = evdev_read_fuzz_prop(device, ABS_X)))
|
||||
libevdev_set_abs_fuzz(evdev, ABS_X, fuzz);
|
||||
if ((fuzz = evdev_read_fuzz_prop(device, ABS_Y)))
|
||||
libevdev_set_abs_fuzz(evdev, ABS_Y, fuzz);
|
||||
}
|
||||
|
||||
device->abs.absinfo_x = libevdev_get_abs_info(evdev, ABS_X);
|
||||
device->abs.absinfo_y = libevdev_get_abs_info(evdev, ABS_Y);
|
||||
|
|
@ -1722,7 +1725,7 @@ evdev_configure_device(struct evdev_device *device)
|
|||
evdev_fix_android_mt(device);
|
||||
|
||||
if (libevdev_has_event_code(evdev, EV_ABS, ABS_X)) {
|
||||
evdev_extract_abs_axes(device);
|
||||
evdev_extract_abs_axes(device, udev_tags);
|
||||
|
||||
if (evdev_is_fake_mt_device(device))
|
||||
udev_tags &= ~EVDEV_UDEV_TAG_TOUCHSCREEN;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue