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

[Feature Request]: Use right joycon ATTACHED & left joycon DETACHED (Vice-Versa) #540

Open vegedb opened 1 year ago

vegedb commented 1 year ago

Feature Description

Most games won't enable us to play this way. Its either BOTH are detached or BOTH are attached, no inbetween.

To solve this, Right joycon ATTACHED & Left joycon DETACHED.

  1. Your switch can rest on an armrest/cushion while having your right hand holding it for security.
  2. Left hand is free to be relaxed

Rationale

Its incredibly tiring to hold the switch for long periods of time.
Especially on the elbows which are placed at a 90 degree angle.

Tabletop mode is not a solution. You can't use it on an unstable surface like a cushion/pillow without dropping it. Having the right joycon attached will enable us to hold it for security and the left arm to rest. Vice-versa change arms when fatigued.

Additional Details

Currently I'm blocking my right joycon pins using Kapton Tape tricking the switch into thinking its detached. Its inelegant and janky, joycons can't be charged too. Hope there is a software mod that can be used instead.

ndeadly commented 1 year ago

An interesting concept, but I'm not sure how feasible it is. Association of the two joycons is handled within the hid module, of which I am not very familiar with the internals. Generally though, messing with that stuff is tedious as a lot of the work is done inside the module with no opportunity to mitm and modify things on the fly. Lot's of RE and firmware-specific binary patching would probably be required.

It might be possible, however, to imitate your kapton tape solution in software via a uart mitm by blocking the ports dedicated to the joycons from communicating with the system, thereby forcing the joycons to attach via bluetooth. I have no idea whether that's controlled by the physical shorting of pins or software though. I don't have time to investigate it right now, but will keep this about for future me or anyone else who might want to look into it.