Update readme

This commit is contained in:
ndeadly 2020-12-05 03:02:49 +01:00
parent b11e6e7909
commit a84fd05d7c

View file

@ -13,6 +13,7 @@ Use controllers from other consoles natively on your Nintendo Switch via Bluetoo
### Features
* Connect up to 8 non-switch Bluetooth controllers simultaneously without any additional hardware.
* Low input lag.
* Make use of native HOS menus for controller pairing, button remapping (firmware 10.0.0+) etc.
* Supports all Switch firmware versions
* `btdrv-mitm` module adds extension IPC commands that can be used to interact with the `bluetooth` process without interfering with the state of the system.
@ -24,18 +25,27 @@ Use controllers from other consoles natively on your Nintendo Switch via Bluetoo
* __Nintendo Wii Remote + extensions (Nunchuck, Classic Controller, Classic Controller Pro, SNES Mini, TaTaCon (Taiko drum))__
* __Nintendo WiiU Pro Controller__
* __Sony DualShock4 Controller__
* __Sony Dualsense Controller__
* __Microsoft Xbox One S/X Controller__*
* __NVidia shield controller__
* __NVidia Shield Controller__
* __Ouya Controller__
* __Gamestick Controller__
* __Gembox Controller__
* __Ipega Controllers (9023, 9062S, 9076, 9078, 9087 9096 confirmed working. Others may also work)__
* __Ipega Controllers (9017s, 9023, 9062S, 9076, 9078, 9087 9096 confirmed working. Others may also work)__
* __Xiaomi Mi Controller__
* __Steelseries Free Controller__
* __GameSir G3s & G4s Controllers__
* __Hori Onyx Controller__
* __8BitDo ZERO Controller__
* __PowerA Moga Hero & Moga Pro 2 Controllers__
* __Steelseries Free__
* __Steelseries Nimbus__
* __GameSir G3s__
* __GameSir G4s__
* __Hori Onyx__
* __8BitDo ZERO (Most other 8BitDo controllers have a Switch mode available. May require firmware update)__
* __PowerA Moga Hero__
* __PowerA Moga Pro__
* __PowerA Moga Pro 2__
* __Mad-Catz C.T.R.L.R__
* __Razer Serval__
* __Mocute 050__
**Not all Xbox One wireless controllers support Bluetooth. Older variants use a proprietary 2.4Ghz protocol and cannot be used with the Switch. See [here](https://support.xbox.com/help/hardware-network/accessories/connect-and-troubleshoot-xbox-one-bluetooth-issues) for information on identifying the Bluetooth variant.*
@ -50,8 +60,9 @@ Download the [latest release](https://github.com/ndeadly/MissionControl/releases
It is recommended after rebooting to also disconnect any physically connected controllers from the console, delete the pairing database, and re-pair via bluetooth to make sure your existing Switch controllers have the correct hardware ID stored and can be recognised properly. To delete the database, navigate to `System Settings->Controllers and Sensors->Disconnect Controllers`
***IMPORTANT: Atmosphère >= 0.14.2 is required to run the latest release of MissionControl. Older Atmosphere versions will cause a hang at the Nintendo logo during boot.
Users upgrading from version 0.1.0 of MissionControl are also advised to wipe their pairing database and re-pair controllers running 0.2.0 or greater. Failure to wipe the old entries may result in non-switch controllers being detected incorrectly.***
***IMPORTANT:
Atmosphère >= 0.16.0 is required to run the latest release of MissionControl. Using an older Atmosphère version will cause MissionControl to crash the system on boot.
Users upgrading from version 0.1.0 of MissionControl are also advised to wipe their pairing database and re-pair controllers running the latest version. Failure to wipe the old entries may result in non-switch controllers being detected incorrectly.***
### Usage
@ -106,43 +117,41 @@ Below is a list of features I am currently working on or would like to look into
* Controller discovery/pairing reimplementation
* Tesla overlay
* Keyboard and mouse support
* Gamecube mode (analog trigger support)
* USB wired controllers
### Known Issues and Limitations
* Non-Switch controllers cannot be used to wake the system from sleep.
* Controllers using the Bluetooth LE (BLE) standard are currently not supported and will not connect to the system.
* Xbox One Elite V2 controllers cannot complete the pairing process with the console and in some cases cause it to crash. Without access to a physical controller there's not a lot I can do to debug the process.
* Xbox One, Wii/WiiU and (especially) some Dualshock v1 controllers can take some time to be detected and subsequently pair with the Console. Be patient and re-enter the sync mode of the controller several times if neccessary. Once synced, controllers should work as usual.
* Xbox One button layout was changed at some point in a firmware update. Please ensure your controller firmware is up to date if you have issues with incorrect button mappings.
* Reported controller battery levels may not be correct. I'm relying entirely on reverse engineering notes found on the internet for these. In many cases I don't own the controller and there is simply no information available, so these controllers will always show full battery. Any help in improving this is most welcome.
* Several users have reported knockoff WiiU controllers that cannot be detected by the console during Bluetooth discovery. Unfortunately I think they're using an incompatible Bluetooth chipset.
### Frequently Asked Questions
***Does this run on \<insert CFW here\>?***
No. MissionControl will only run under Atmosphère. This is not some petty act of malice toward other CFWs and their users. Others simply don't (currently) provide the framework neccessary for this sysmodule to work.
No. MissionControl will only run under Atmosphère. This is not an attempt to lock users of other cfw out, Atmosphere is simply the only one (currently) providing the extensions neccessary to MITM Bluetooth communications that make this sysmodule possible.
***Does this support USB controllers?***
No. MissionControl is Bluetooth-only for now.
***Does this work with sys-con installed?***
Yes, I have had several reports from users that the two can be used together without issue.
Yes, the two can be run simultaneously without stepping on each others toes.
***Installing this bricked my console!!!!!11!!1!11***
~~No. If you are seeing errors about title `0100000000000008` upon rebooting your console you are almost certainly using an outdated Atmosphere version. Install the latest version from the [official github release](https://github.com/Atmosphere-NX/Atmosphere/releases) and follow the MissionControl [installation instructions](https://github.com/ndeadly/MissionControl#installation) again.~~ Custom boot2 was dropped in v0.2.0. `0100000000000008` errors should be a thing of the past.
***My console is crashing on boot because of this sysmodule. What can I do?***
If you're seeing crashes on boot with title ID `010000000000bd00`, it is likely either you have updated recently to a new Atmosphere release and an update to MissionControl is required, or you are running an old version of Atmosphere which is not compatible with the latest version of MissionControl.
***How can I use this with multiple sysNAND/emuMMC launch configs?***
Pairing controllers across multiple unique HOS installations requires multiple pairing databases and is essentially the same as pairing with two different consoles. The only exception being the case where you paired the controller(s) prior to making sysNAND copies. For now you will have to re-pair your controllers when switching back and forth. In the future I hope to include an option to load/store the database on the SD card to avoid this issue.
***Why have my official Joycon/Switch Pro Controllers stopped working over Bluetooth after installing MissionControl?***
~~It is possible to pair these controllers via the Joycon rails or a USB connection. In these cases a garbage hardware ID gets stored to the pairing database and the controller fails to be identified. Failure to identify a controller means I don't know how its input data should be handled, so I ignore it. This issue can be resolved by physicall disconnecting the controller from the console, deleting the pairing database with the `System Settings->Controllers and Sensors->Disconnect Controllers` option, and then re-pairing via bluetooth in the `Change Grip/Order` screen.~~ This should no longer be an issue with the latest version of MissionControl.
***Why doesn't my 3rd-party knockoff controller work?***
~~Many 3rd-party controllers also use garbage hardware IDs, making them difficult to identify reliably. If a controller can't be identified, I ignore it, since I have no idea how to process the incoming data. I am currently trying to find an alternate way to identifying them without creating problems elsewhere.~~ Same as above.
***My Xbox One Controller buttons are mapped incorrectly. Can you fix it?***
You didn't read the [Known Issues and Limitations](https://github.com/ndeadly/MissionControl#known-issues-and-limitations) section, did you? You need to update your controller firmware to the latest version. This can be done on Windows using the [Xbox Accessories](https://www.microsoft.com/en-us/p/xbox-accessories/9nblggh30xj3?activetab=pivot:overviewtab) app. You can also do this on the Xbox itself.
***Can you add support for PS3 controllers?***
It's on my list of things to look into. The pairing process is non-standard and may require modifications to the bluetooth driver. If it can be done non-destructively I will add support eventually.
~~It's on my list of things to look into. The pairing process is non-standard and may require modifications to the bluetooth driver. If it can be done non-destructively I will add support eventually.~~ Having looked into this a bit, it appears it's going to be a lot of work given the constraints of HOS (if it can even be done without breaking support for other Bluetooth controllers). I won't rule out a solution in the future, but this is not high priority for me right now. Sorry DS3 owners.
***Can you add support for Xbox 360 controllers?***
No. These don't use Bluetooth. Try sys-con with a wireless USB adapter.
@ -208,6 +217,7 @@ The resulting package can be installed as described above.
If you like this project, please consider supporting me to continue its development :)
<a href="https://ko-fi.com/J3J01BZZ6">
<img border="0" alt="ko-fi" src="https://www.ko-fi.com/img/githubbutton_sm.svg" align="left">
</a>