You are not logged in.

#1 2025-06-15 03:00:10

cybi
Member
Registered: 2022-03-29
Posts: 9

Nintendo Switch Pro Controller does not just work (solved)

Games don't pick it up. I have game-devices-udev and joycond installed. Is there any non-steam way to get this thing working as intended, or at least treated as a generic controller?

With the controller plugged in over USB, there are two /dev/input/by-id entries for the controller; "usb-Nintendo_Co.__Ltd._Pro_Controller_000000000001-event-joystick" linked to event15, and "usb-Nintendo_Co.__Ltd._Pro_Controller_000000000001-event-if00" linked to event16. KDE's "Game Controller" settings menu sometimes recognizes it as /dev/hidraw6 and registers all inputs properly, sometimes no entry for the controller at all. evtest recognizes event16 as "Nintendo Co., Ltd. Pro Controller (IMU)". Over bluetooth, the by-id entries and KDE recognition are gone, but the event entries remain; evtest recognizes event16 as "Pro Controller (IMU)".

Last edited by cybi (2025-06-17 17:27:53)

Offline

#2 2025-06-15 15:30:53

cybi
Member
Registered: 2022-03-29
Posts: 9

Re: Nintendo Switch Pro Controller does not just work (solved)

I think this may be a udev permissions issue. event16 consists of gyroscope input, while event15 consists of everything else. Running sudo evtest with the controller connected over bluetooth, event15 is simply "Pro Controller". Upon selecting event15, it gives the following information:

Input driver version is 1.0.1
Input device ID: bus 0x5 vendor 0x57e product 0x2009 version 0x8001
Input device name: "Pro Controller"

In /usr/lib/udev/rules.d/71-nintendo-controllers.rules, which comes with the game-devices-udev package, is the following entry for the Pro Controller:

# Nintendo Switch Pro Controller; Bluetooth; USB
KERNEL=="hidraw*", KERNELS=="*057E:2009*", MODE="0660", TAG+="uaccess"
KERNEL=="hidraw*", ATTRS{idVendor}=="057e", ATTRS{idProduct}=="2009", MODE="0660", TAG+="uaccess"
# Grand access for some userspace tools, if connected via USB
SUBSYSTEM=="usb", ATTR{idProduct}=="2009", ATTR{idVendor}=="057e", ENV{ID_INPUT_JOYSTICK}="1", TAG+="uaccess"

When run as a normal user, evtest only displays event16 as an available device, excluding both event15 and my keyboard and mouse, which work just fine. Running "cat /dev/input/event15" gives a "permission denied" error (same goes for my keyboard and mouse), while "cat /dev/input/event16" works. However, on my laptop running Fedora, "cat [event with the regular controls]" works, while "cat [event with the gyro]" gets denied. Further, KDE recognizes the controller by its /dev/input entry rather than by its /dev/hidraw entry, even over Bluetooth. I'd like to replicate this on Arch, which seems to be the point of the game-devices-udev rule, but it isn't working. Help!

Offline

#3 2025-06-17 17:27:38

cybi
Member
Registered: 2022-03-29
Posts: 9

Re: Nintendo Switch Pro Controller does not just work (solved)

I got it working by making a file called /usr/lib/udev/rules.d/71-nsp-controller.rules containing:

SUBSYSTEMS=="input", ATTRS{idVendor}=="057e", ATTRS{idProduct}=="2009", MODE="0660", TAG+="uaccess"

Offline

#4 2025-08-26 13:28:04

maboleth
Member
Registered: 2020-01-03
Posts: 230

Re: Nintendo Switch Pro Controller does not just work (solved)

I did all what you said there and still my Pro Controller is nowhere to be found in KDE/Gamepad or Fceux NES emulator. It is shown under lsusb

Bus 001 Device 006: ID 057e:2009 Nintendo Co., Ltd Switch Pro Controller

also enabled it as

sudo systemctl enable --now joycond

Not sure what else to look. Also installed game-devices-udev and joycond and made the rules you did in the last message.

I don't have bluetooth on my PC so using USB.

Last edited by maboleth (2025-08-26 13:30:36)

Offline

#5 2025-08-26 13:44:47

maboleth
Member
Registered: 2020-01-03
Posts: 230

Re: Nintendo Switch Pro Controller does not just work (solved)

Fixed it. I was missing "joystick" package.

Now I'm "letssaaa gooo" for NES!

P.S. Also for some strange reason controller is not recognized after restart...

Last edited by maboleth (2025-08-26 14:58:40)

Offline

Board footer

Powered by FluxBB