linux-input.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* hid_nintendo Switch 2 Pro Controller support - where to start?
@ 2025-07-05 18:48 Saihaj Johal
  2025-07-06  6:27 ` Aditya Garg
  0 siblings, 1 reply; 5+ messages in thread
From: Saihaj Johal @ 2025-07-05 18:48 UTC (permalink / raw)
  To: linux-input

Hello,
I recently got a Nintendo Switch 2 Pro Controller that is not currently 
directly supported by the kernel like how the Switch 1 controllers are. 
Looking in "hid-ids.h", there is no product ID for the new controller (got 
0x2069 from "lsusb -v"). The device class shows as miscellaneous device, and 
the controller does not show the player LEDs to show it is active (it only 
charges over USB, alongside showing in "lsusb" as well as showing as a USB 
audio device for the headphone jack on the bottom). However, I have managed to 
get it to work as a HID device using this website (https://
handheldlegend.github.io/procon2tool/) which uses WebUSB to send the right 
commands to make the controller turn on fully. After enabling, this setup 
seemingly works with the existing evdev system, although with some bizarre 
changes like the left stick's up and down being reversed (at least in KDE's 
game controller settings). The first step would likely be to add the device ID 
to "hid-ids.h", but from there where should I go in order to perhaps work on 
full support? I assume anything would work on the things discovered already by 
the WebUSB enabler tool, however I am very new to C and kernel development in 
general. 

Thanks,
Saihaj



^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2025-07-17  0:01 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-07-05 18:48 hid_nintendo Switch 2 Pro Controller support - where to start? Saihaj Johal
2025-07-06  6:27 ` Aditya Garg
2025-07-06 21:48   ` linux
2025-07-07 15:22     ` Saihaj Johal
2025-07-16 23:54       ` Vicki Pfau

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).