From: Peter Hutterer Date: Wed, 21 Jun 2017 23:19:32 +0000 (+1000) Subject: udev: always consider devices with joystick axes/buttons as joystick X-Git-Tag: v234~117^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=2e856c63d466455f91bed3046265beffb5235044;p=thirdparty%2Fsystemd.git udev: always consider devices with joystick axes/buttons as joystick Even when they don't have an x/y axis. https://github.com/systemd/systemd/issues/6137 Signed-off-by: Peter Hutterer --- diff --git a/src/udev/udev-builtin-input_id.c b/src/udev/udev-builtin-input_id.c index 7ea86b21b89..47f41a66075 100644 --- a/src/udev/udev-builtin-input_id.c +++ b/src/udev/udev-builtin-input_id.c @@ -204,7 +204,7 @@ static bool test_pointers(struct udev_device *dev, has_touch = test_bit(BTN_TOUCH, bitmask_key); /* joysticks don't necessarily have buttons; e. g. * rudders/pedals are joystick-like, but buttonless; they have - * other fancy axes */ + * other fancy axes. Others have buttons only but no axes. */ has_joystick_axes_or_buttons = test_bit(BTN_TRIGGER, bitmask_key) || test_bit(BTN_TRIGGER_HAPPY, bitmask_key) || test_bit(BTN_A, bitmask_key) || @@ -231,7 +231,10 @@ static bool test_pointers(struct udev_device *dev, is_touchscreen = true; else if (has_joystick_axes_or_buttons) is_joystick = true; + } else if (has_joystick_axes_or_buttons) { + is_joystick = true; } + if (has_mt_coordinates) { if (stylus_or_pen) is_tablet = true;