-
-
Notifications
You must be signed in to change notification settings - Fork 3.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Logitech Buzz(tm) isn't recognized as joystick due to missing udev rule #6137
Comments
whether something is a joystick or a mouse is not determined by vendor/product matches but by counting axis, buttons, absolute/relative and so on, via input_id. Hence, while there is something to fix here, it's not with a rule like you suggest, but the input_id C logic needs a bit of tweaking most likely. |
@poettering just for what it's worth, the logitech buzz probably falls outside the usual expected layout for gamepads because it is made for quiz games. Here is how it looks like: https://upload.wikimedia.org/wikipedia/commons/7/7d/Playstation_2_3_Wireless_Buzzer.jpg (edit: sry that's the original playstation variant, but the logitech buzz is an almost exact remake for the PC) |
@Jonast hmm, so what is it precisely? does it have any axis? if it doesn't have any axis, and udev considers it a keyboard, then this looks pretty correctly handled, no? |
@lehmann-4178656ch could you provide the full "udevadm info" for the device? |
Here you go:
|
@whot what's your take on this? as what should devices like this one be categorized? |
What's the evemu-describe output for this thing? I'm not sure it's worth changing input-id for this, may be better to have a custom hwdb override. |
Currently I'm not on my Fedora machine, thus the output from an arch-linux. If this changes something i can report later from the fedora machine.
|
@poettering the problem is that even if it could be considered a keyboard based on what it offers, this device is most likely used to be for games. Most popular game libraries (e.g. SDL2) offer easy gamepad and joystick handling with hotplugging, multiple and devices with no issue - but usually assume a single keyboard. Therefore, not categorizing this as a joystick/gamepad makes it much more difficult to use this device in linux games because the usual libraries used for periphery expect extra button devices used by multiple players in front of a living room TV screen to be gamepads, and not additional keyboards. Also based on the use (living room TV gameplay with few buttons, ergonomic form to be easily held in midair) it seems closer to a gamepad than a classical keyboard, even though based on buttons/axes it might look closer to a keyboard to a driver backend. |
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. systemd#6137 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Even when they don't have an x/y axis. systemd#6137 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Fixed by #6170. Closing. |
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. systemd/systemd#6137 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Even when they don't have an x/y axis. systemd/systemd#6137 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Submission type
systemd version the issue has been seen with
Used distribution
Fedora 25 64-bit (also occurs on Ubuntu 17.04)
In case of bug report: Expected behaviour you didn't see
sudo udevadm info --query=all --name=input/eventXX
on the respective device that is Logitech Buzz(tm) will output lineE: ID_INPUT_JOYSTICK=1
and device is available with SDL2 library as gamepad or joystickIn case of bug report: Unexpected behaviour you saw
sudo udevadm info --query=all --name=input/eventXX
on the respective device that is Logitech Buzz(tm) doesn't output lineE: ID_INPUT_JOYSTICK=1
and device is not available with SDL2 library as gamepad or joystickIn case of bug report: Steps to reproduce the problem
sudo evtest
sudo udevadm info --query=all --name=input/eventXX
The udev rules which seems to fix this for me is the following:
The text was updated successfully, but these errors were encountered: