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.41k stars 138 forks source link

Request: Dance Pad support #299

Open robin994 opened 3 years ago

robin994 commented 3 years ago

is it possible to add dance pad support to make people able to play Stepmania with usb dancepad?

They don't have L+R so it's not possible to link them to switch

ndeadly commented 3 years ago

Mission Control is bluetooth-only for the time being, so unless you have a dance pad supporting bluetooth then no. In the future this may be possible though. For now you could try raise the issue with the sys-con dev instead, though I'm not sure the project is still being actively developed.

robin994 commented 3 years ago

Thank you for fast reply, yes there are but i got usb ones are so much cheaper. By the way i checked sys-con , but it looked like a deadware, last push has been done 2 months ago

ndeadly commented 3 years ago

Yeah, if you had a bluetooth one I could almost certainly support it in some way. I do plan to try adding usb support to Mission Control at some point, but I want to do it differently to sys-con so it functions just like my bluetooth implementation with the possibility for rumble and motion controls. Unfortunately to do so I need to log the communications between the usb module and the rest of the system, but the tool I use currently causes the usb module to crash so I'm at a bit of a roadblock for now.

By the way i checked sys-con , but it looked like a deadware, last push has been done 2 months ago

Yeah I have the impression the dev only updates it for new atmosphere/firmware versions but is not actively developing features. Still, it's your best bet for usb support in the short term. I don't think I'll have it implemented in Mission Control any time soon.

robin994 commented 3 years ago

I understand and respect your project road.

i don't think implementing sys-con in mission control is a good idea, you would need to learn his code and create an adapter for your implementation, i guess a faster way would be to create your own usb driver just reusing every controller configuration you created earlier ( sorry i may have said a bullshit, i did a fast read/research into your code )

ndeadly commented 3 years ago

Yeah, that and I think the way sys-con does it requires a lot more manual work on the dev's part and ends up being inferior by using the virtual contoller api. I prefer the approach of mitm'ing the communications and modifying the data on the fly to convince the switch every controller is a native pro controller, then we get most of the other functionality for free without having to think so much about writing lower level USB code because the OS handles it for us. At least in theory, I'm not very familiar with how USB works at the driver level so it might not be as simple as it is for bluetooth. I'll cross that bridge when I get to it.