]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
udev: consider a device with BTN_TRIGGER_HAPPY as joystick
authorPeter Hutterer <peter.hutterer@who-t.net>
Wed, 21 Jun 2017 23:11:15 +0000 (09:11 +1000)
committerPeter Hutterer <peter.hutterer@who-t.net>
Wed, 21 Jun 2017 23:19:25 +0000 (09:19 +1000)
These buttons were added specifically for joysticks with lots of buttons, no
other device should be using them. See kernel commit
cf2f765f18960 "HID: handle joysticks with large number of buttons"

We only test for BTN_TRIGGER_HAPPY (an alias for BTN_TRIGGER_HAPPY1) here, a
device that sets buttons 2 and above but doesn't set 1 is considered buggy.

https://github.com/systemd/systemd/issues/6137

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
src/udev/udev-builtin-input_id.c

index 4303b2593d3bf85f84196812c6940d143f897666..7ea86b21b8972616783e4eed1441e24604167bcb 100644 (file)
@@ -206,6 +206,7 @@ static bool test_pointers(struct udev_device *dev,
          * rudders/pedals are joystick-like, but buttonless; they have
          * other fancy 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) ||
                                        test_bit(BTN_1, bitmask_key) ||
                                        test_bit(ABS_RX, bitmask_abs) ||