diff options
author | José Expósito <jose.exposito89@gmail.com> | 2021-11-23 18:07:27 +0100 |
---|---|---|
committer | Peter Hutterer <peter.hutterer@who-t.net> | 2021-12-03 00:20:47 +0000 |
commit | a694a06b925009d836e5ba17cb73e29fdbcb188c (patch) | |
tree | 80a2a92a32d7245d453538bbd2fbb3e828a69e6e | |
parent | fbe5d35dca88ae9a751623cbfa3b6ed2f012ec83 (diff) | |
download | libinput-a694a06b925009d836e5ba17cb73e29fdbcb188c.tar.gz |
evdev: refactor joystick/gamepad detection
Move the logic to detect joysticks and gamepads to its own function.
Refactor, no functional changes.
Signed-off-by: José Expósito <jose.exposito89@gmail.com>
-rw-r--r-- | src/evdev.c | 16 |
1 files 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; } |