summaryrefslogtreecommitdiff
path: root/src/udev/udev-builtin-input_id.c
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2017-06-22 09:11:15 +1000
committerPeter Hutterer <peter.hutterer@who-t.net>2017-06-22 09:19:25 +1000
commitc874fed3481638155a23601ce65985b2d0283e9c (patch)
treea43af2b98b25ab8999fc219c27d9a0bf4df3e67e /src/udev/udev-builtin-input_id.c
parentc9fb8c7c4a748a9205629f08d16afbb61d8e875b (diff)
downloadsystemd-c874fed3481638155a23601ce65985b2d0283e9c.tar.gz
udev: consider a device with BTN_TRIGGER_HAPPY as joystick
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>
Diffstat (limited to 'src/udev/udev-builtin-input_id.c')
-rw-r--r--src/udev/udev-builtin-input_id.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/udev/udev-builtin-input_id.c b/src/udev/udev-builtin-input_id.c
index 4303b2593d..7ea86b21b8 100644
--- a/src/udev/udev-builtin-input_id.c
+++ b/src/udev/udev-builtin-input_id.c
@@ -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) ||