From a694a06b925009d836e5ba17cb73e29fdbcb188c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Exp=C3=B3sito?= Date: Tue, 23 Nov 2021 18:07:27 +0100 Subject: evdev: refactor joystick/gamepad detection MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Move the logic to detect joysticks and gamepads to its own function. Refactor, no functional changes. Signed-off-by: José Expósito --- src/evdev.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/evdev.c b/src/evdev.c index d8dfdadd..9eb2d30b 100644 --- a/src/evdev.c +++ b/src/evdev.c @@ -1850,6 +1850,18 @@ evdev_disable_accelerometer_axes(struct evdev_device *device) libevdev_disable_event_code(evdev, EV_ABS, REL_Z); } +static bool +evdev_device_is_joystick_or_gamepad(struct evdev_device *device) +{ + enum evdev_device_udev_tags udev_tags; + + udev_tags = evdev_device_get_udev_tags(device, device->udev_device); + if (udev_tags == (EVDEV_UDEV_TAG_INPUT|EVDEV_UDEV_TAG_JOYSTICK)) + return true; + + return false; +} + static struct evdev_dispatch * evdev_configure_device(struct evdev_device *device) { @@ -1893,9 +1905,9 @@ evdev_configure_device(struct evdev_device *device) evdev_disable_accelerometer_axes(device); } - if (udev_tags == (EVDEV_UDEV_TAG_INPUT|EVDEV_UDEV_TAG_JOYSTICK)) { + if (evdev_device_is_joystick_or_gamepad(device)) { evdev_log_info(device, - "device is a joystick, ignoring\n"); + "device is a joystick or a gamepad, ignoring\n"); return NULL; } -- cgit v1.2.1