Switch Pro Controller over USB
Opened this issue · 3 comments
The Nintendo Switch Pro Controller recently got USB functionality and messes up joystick input, could you add this to the blacklist?
Hello! What do you mean by "recently got USB functionality" and by "messes up joystick input"? If it is a joystick that is recognized as a USB joystick, why do we want to blacklist it?
Thank you for your response.
I do not know the exact update number, but the Nintendo Switch Pro Controller had it's firmware updated to allow play through USB as well as bluetooth. Plugging it into a PC shows a joystick on which some of the buttons are permanently pressed. There is a way to use the controller on UNIX-like OS's using the git repository HID-Joy-Con-Whispering, but it does not disable the original joystick input therefore causing problems when mapping buttons in games.
The Nintendo Switch Pro Controller's idVendor
is 057e
and it's idProduct
is 2009
I can confirm what @TheRealDxRed said.
Here is what happens when I plug the controller:
mai 03 00:42:27 leeo-arch-msi kernel: usb 1-4: new full-speed USB device number 19 using xhci_hcd
mai 03 00:42:27 leeo-arch-msi kernel: usb 1-4: New USB device found, idVendor=057e, idProduct=2009
mai 03 00:42:27 leeo-arch-msi kernel: usb 1-4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
mai 03 00:42:27 leeo-arch-msi kernel: usb 1-4: Product: Pro Controller
mai 03 00:42:27 leeo-arch-msi kernel: usb 1-4: Manufacturer: Nintendo Co., Ltd.
mai 03 00:42:27 leeo-arch-msi kernel: usb 1-4: SerialNumber: 000000000001
mai 03 00:42:27 leeo-arch-msi kernel: input: Nintendo Co., Ltd. Pro Controller as /devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4:1.0/0003:057E:2009.000D/input/input48
mai 03 00:42:27 leeo-arch-msi kernel: hid-generic 0003:057E:2009.000D: input,hidraw1: USB HID v1.11 Joystick [Nintendo Co., Ltd. Pro Controller] on usb-0000:00:14.0-4/input0
Also, I tried with these rules:
SUBSYSTEM=="input", ATTRS{idVendor}=="057e", ATTRS{idProduct}=="2009", ENV{ID_INPUT_JOYSTICK}=="?*", ENV{ID_INPUT_JOYSTICK}=""
SUBSYSTEM=="input", ATTRS{idVendor}=="057e", ATTRS{idProduct}=="2009", KERNEL=="js[0-9]*", RUN+="/bin/rm %E{DEVNAME}", ENV{ID_INPUT_JOYSTICK}=""
But without success. 😞