ndeadly / MissionControl

Use controllers from other consoles natively on your Nintendo Switch via Bluetooth. No dongles or other external hardware neccessary.
GNU General Public License v2.0
2.48k stars 137 forks source link

Request: Mad Catz C.T.R.L.R. Smart (BLE) #141

Open nono2lozere opened 3 years ago

nono2lozere commented 3 years ago

Can you add support for Mad Catz C.T.R.L.R. Smart which is the BLE version of the Mad Catz C.T.R.L.R. Vendor id is 1848 and product id is 21091, both in decimal format. Thanks

kakra commented 3 years ago

If you are able to connect the controller to a PC, you could run Wireshark to monitor the Bluetooth connection, and then press buttons and record the protocol activity per each button and axis.

ndeadly commented 3 years ago

@nono2lozere thanks, I'll revisit this when I have BLE controllers working.

@kakra I already have a tool that runs on the Switch for this. I think this is nicer for most users than requiring them to setup and understand how to use Wireshark or similar. Remember, much of my userbase is less technically inclined than xpadneo users ;)

The problem with BLE controllers at the moment is not that I don't understand the HID protocols (that's the next problem), it's that I haven't reversed enough of the Bluetooth service to know how to even discover and connect the controllers. They don't just show up in device discovery like you might expect on a general purpose OS like Linux or Android.

nono2lozere commented 3 years ago

Maybe Switch haven't BLE adapter/support ?

ndeadly commented 3 years ago

@nono2lozere it does, the Pokeball Plus uses it. There are BLE IPC functions exposed via the Bluetooth service. What I'm not sure about is whether the full pairing procedure is baked into the controller applet like with classic Bluetooth, or devs are expected implement it themselves via the exposed functions. I spoke to a user who owned the Pokeball Plus and they told me that pairing is done in-game and nothing happens at the Change Grip/Order screen.