Date: Thu, 29 Oct 2020 15:27:39 +0000 From: bugzilla-noreply@freebsd.org To: usb@FreeBSD.org Subject: [Bug 250724] USB gamepads are tagged as a mouse by udev Message-ID: <bug-250724-19105@https.bugs.freebsd.org/bugzilla/>
next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=250724 Bug ID: 250724 Summary: USB gamepads are tagged as a mouse by udev Product: Base System Version: Unspecified Hardware: Any OS: Any Status: New Severity: Affects Only Me Priority: --- Component: usb Assignee: usb@FreeBSD.org Reporter: doctorwhoguy@gmail.com I have tested several USB gamecontrollers with FreeBSD, and there is something apparently wrong with either evdev or udev because the USB game controllers are being detected as mice instead of joysticks. I have tried both webcamd and iichid to get them working with FreeBSD. For this example, I'll use my Logitech Dual Action Controller. If I plug it in, dmesg will show the device detected and attach it as a uhid device: uhid0 on uhub2 uhid0: <Logitech Logitech Dual Action, class 0/0, rev 1.10/3.00, addr 3> on usbus3 If I load the iichid kernel module and plug in the controller, dmesg will show the following output showing that it has been attached as an hid device: ugen3.3: <Logitech Logitech Dual Action> at usbus3 usbhid0 on uhub2 usbhid0: <Logitech Logitech Dual Action, class 0/0, rev 1.10/3.00, addr 3> on usbus3 hidbus0: <HID bus> on usbhid0 hgame0: <Logitech Logitech Dual Action Joystick> on hidbus0 hidraw0: <Logitech Logitech Dual Action Raw HID Device> on hidbus0 And /var/log/Xorg.0.log will show the following output: [ 1145.679] (II) config/udev: Adding input device Logitech Logitech Dual Action Joystick (/dev/input/event6) [ 1145.679] (**) Logitech Logitech Dual Action Joystick: Applying InputClass "evdev pointer catchall" [ 1145.679] (**) Logitech Logitech Dual Action Joystick: Applying InputClass "libinput pointer catchall" [ 1145.679] (II) Using input driver 'libinput' for 'Logitech Logitech Dual Action Joystick' [ 1145.679] (**) Logitech Logitech Dual Action Joystick: always reports core events [ 1145.679] (**) Option "Device" "/dev/input/event6" [ 1145.679] (**) Option "_source" "server/udev" [ 1145.682] (II) event6 - Logitech Logitech Dual Action Joystick: is tagged by udev as: Mouse [ 1145.683] (II) event6 - Logitech Logitech Dual Action Joystick: device is a pointer [ 1145.684] (II) event6 - Logitech Logitech Dual Action Joystick: device removed [ 1145.684] (**) Option "config_info" "udev:/dev/input/event6" [ 1145.685] (II) XINPUT: Adding extended input device "Logitech Logitech Dual Action Joystick" (type: MOUSE, id 12) [ 1145.691] (**) Option "AccelerationScheme" "none" [ 1145.695] (**) Logitech Logitech Dual Action Joystick: (accel) selected scheme none/0 [ 1145.695] (**) Logitech Logitech Dual Action Joystick: (accel) acceleration factor: 2.000 [ 1145.695] (**) Logitech Logitech Dual Action Joystick: (accel) acceleration threshold: 4 [ 1145.698] (II) event6 - Logitech Logitech Dual Action Joystick: is tagged by udev as: Mouse [ 1145.699] (II) event6 - Logitech Logitech Dual Action Joystick: device is a pointer If I unload iichid and run "webcamd -N Logitech-Logitech-Dual-Action -S unknown -M 0", it will also show the same output in Xorg.0.log. Udev is capable of tagging devices specifically as joysticks, but USB game controllers are being tagged as mice instead. As a result, the only functionality from the controller is that the left joystick moves the mouse cursor. So I don't know if FreeBSD's evdev support lacks support for joysticks or if maybe there's just a problem with correctly detecting these devices and giving them the proper tag. -- You are receiving this mail because: You are the assignee for the bug.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-250724-19105>
