I bought an Onn game controller from Wallmart. It’s got two sticks and lots of buttons — the standard Xbox controller. (Unfortunately, I don’t have an exact model number.) It’s advertised as working with PCs and Nintendo Switches. It plugs in with a 10-foot-long USB cable — it doesn’t have any wireless mode.
It used to work fine with no issues on earlier versions of Linux Mint, but when I upgraded to 22.1, a problem arose. When I plug it in, the rumble motor turns on and doesn’t stop until I unplug it. The controls all work perfectly, but weirdly, it doesn’t show up in jstest-gtk.
A look at lsusb reveals the difference:
[Version 21.2]
Bus 003 Device 003: ID 045e:028e Microsoft Corp. Xbox360 Controller
[Version 22.1]
Bus 001 Device 004: ID 057e:2009 Nintendo Co., Ltd Switch Pro Controller
Earlier versions of Linux Mint saw it as an Xbox360 controller, and the new version sees it as a Switch Pro controller. The Xbox360 controller driver works, but the Switch Pro controller driver must have a bug somewhere, I think. (It is an off-brand controller, so it makes sense that it wouldn’t work as well.) But that’s where I get stuck. How do I get it to recognize it as a Xbox360 controller and not a Switch controller?
I tried removing the hid-nintendo kernel module with modprobe -r hid-nintendo, but that didn’t work. The module just comes back like a zombie when I plug the controller in again.
I allso tried installing xboxdrv, but that didn’t change anything.
So what should I do? Is there any way to fix this? Like I said, the controller works just fine except that the rumble motor is on constantly. Maybe I should report this as a bug?
Thanks.