From 7bef1ecf4e6aceaa61e2db4bdb4d229b461aaa2d Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Mon, 15 Sep 2014 14:59:07 +1000 Subject: [PATCH] evdev: add helper function evdev_need_mtdev Prep work for upcoming patches Signed-off-by: Peter Hutterer Reviewed-by: Hans de Goede --- src/evdev.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/evdev.c b/src/evdev.c index 9e91ee5b..f7f8f088 100644 --- a/src/evdev.c +++ b/src/evdev.c @@ -733,6 +733,16 @@ configure_pointer_acceleration(struct evdev_device *device) return 0; } +static inline int +evdev_need_mtdev(struct evdev_device *device) +{ + struct libevdev *evdev = device->evdev; + + return (libevdev_has_event_code(evdev, EV_ABS, ABS_MT_POSITION_X) && + libevdev_has_event_code(evdev, EV_ABS, ABS_MT_POSITION_Y) && + !libevdev_has_event_code(evdev, EV_ABS, ABS_MT_SLOT)); +} + static int evdev_configure_device(struct evdev_device *device) { @@ -806,8 +816,7 @@ evdev_configure_device(struct evdev_device *device) has_touch = 1; has_mt = 1; - if (!libevdev_has_event_code(evdev, - EV_ABS, ABS_MT_SLOT)) { + if (evdev_need_mtdev(device)) { device->mtdev = mtdev_new_open(device->fd); if (!device->mtdev) return -1; -- 2.34.1