[ENHANCEMENT] Add support for Joy-Con 2 using Joy-Con 2 Charging Grip, and Switch 2 Pro Controller
You actually can't connect Joy-Con 2 to PC using Bluetooth (I think) but I think you can using the charging grip. I'd like support for that.
There is currently no reverse engineering for the switch 2 controllers and I don't have them so it will have to wait for now.
I have a couple on order, and I was going to poke around sometime soon (crossing my fingers that the communication protocols might be similar/the same) but no promises yet.
Looks like someone has gotten started: https://www.reddit.com/r/NintendoSwitch/comments/1l5nyfj/how_to_use_switch_pro_controller_2_on_ur_windows/
Hmmmm. Those byte arrays do not look particularly familiar to me, but D3X may have more insight: https://github.com/HandHeldLegend/handheldlegend.github.io/blob/a0c5c293ce03d313752a48b398f0ead0e3024d96/procon2tool/index.html#L294
Hmmmm. Those byte arrays do not look particularly familiar to me, but D3X may have more insight: https://github.com/HandHeldLegend/handheldlegend.github.io/blob/a0c5c293ce03d313752a48b398f0ead0e3024d96/procon2tool/index.html#L294
They don't "talk" HID but use an USB endpoint. Maybe the driver for those controllers isn't HID compatible ? Also I think the Switch 2 controllers use a different protocol since those don't work on the Switch 1 from what I read online. You can also see how they do the SPI read command here, it's quite different : aside from the layout, the subcommand is 0x7e but for Switch 1 it's 0x10.
Edit ; I just reread the reddit link, it mentions a "Nintendo If_Hid" device, so it supports HID. I wonder if it shows up before running the tool and which report mode is set with it (I would guess it's the simple HID mode).
Someone else that seems to have made some progress: https://github.com/TiernanDeFranco/JoyConPlusPlus
I just came across projects that implements switch 2 controllers :
- https://github.com/TheFrano/joycon2cpp
- https://github.com/libsdl-org/SDL/pull/13327
- https://github.com/sodiumts/userspace-switch2
- https://github.com/Nadeflore/switch2-controllers
Some research and documentations : https://github.com/ndeadly/switch2_controller_research