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.55k stars 139 forks source link

[Request] Ability to set a button to toggle #322

Open falcorr opened 3 years ago

falcorr commented 3 years ago

I.e. make a button alternate between being continuously held down or not.

It may also be useful to have optional functionality to cause the toggled button, when enabled, to release momentarily when other inputs are activated, to avoid potential issues with some games.

It'd be great if this worked with any input device, Bluetooth or otherwise, joycons in handheld, whatever.

I'm sure there would be various uses but I'm interested in having better control over the camera in Skyward Sword HD. This project seems most relevant.

ndeadly commented 3 years ago

@Banz99 asked me about this a week or so ago. My response was that I'm not really a huge fan of adding features like this, mostly because they complicate the input processing code but have relatively limited utility in the scheme of things. I think niche features like this are better suited to a custom fork if people really want them. If I did consider adding it, it wouldn't be until controller profiles and my tesla overlay are complete anyway, as there is no way to set it up right now.

Making this work in handheld mode or with USB controllers would be a different challenge altogether, as Mission Control doesn't process controller data from those interfaces. I will probably look into both in the future, but it's non-trivial and not such a high priority right now.

Luckily for you, @Banz99 has released a custom Mission Control build specifically to address the issue with the camera in Skyward Sword HD. You can find it here https://github.com/Banz99/MissionControl/releases/tag/SkSw0.0.1 I've been told it will work fine for normal gamepads, but if using joycons merged as a single controller the L button is currently broken for reasons unknown.

ndeadly commented 3 years ago

And another version where the L button can be toggled https://github.com/Banz99/MissionControl/releases/tag/SkSw0.0.1T

falcorr commented 3 years ago

Excellent stuff, cheers.

NikoofDeath commented 2 years ago

Is there any chance of this being merged as an official feature that can easily be toggled eventually? I'd like to have it as an option without having to completely enable/disable the sysmodule every time I play the game (and not have to rebuild it myself every time MC is updated :P)

ndeadly commented 2 years ago

To be honest I think this is a bit too much of a niche feature for supporting in the release version.

That said, I believe @Banz99 has done some additional work on a more generalised version in private.

Once I've got the first iteration with controller settings and an app/overlay to interact with them complete I will revisit and see if this makes any sense to include.

Banz99 commented 2 years ago

@NikoofDeath I didn't bother updating the release builds for a simple reason: not to create fragmentation. Handling issues for the project seems to be a time sink already, having custom builds floating around would just make things worse. I do understand some of the users impatience for having such features implemented (along with turbo combos, custom deadzones, and (for me personally) an easy way to change controller colours), but keep in mind what the actual purpose of this sysmodule is and why those things are relatively low priority for now.

Banz99 commented 2 years ago

Going against my previous statement, given that some more people even outside of github asked for it, I decided to update the release builds in my fork.

NikoofDeath commented 2 years ago

I built the toggle build for 0.7.0 for anyone who needs it. MissionControl-SkSw0.0.2T-SkySwoSwapL-a0c2a40.zip

NikoofDeath commented 1 year ago

L toggle build 0.8.0. MissionControl-0.8.0-master-e7e2590.zip

NikoofDeath commented 1 year ago

MissionControl-0.9.0-master-5496de3.zip 0.9.0