Se cercate un homebrew che permette di collegare un controller Bluetooth (Dualshock,8bitdo ecc) su Nintendo Switch senza utilizzare dongle o altri arnesi, lo sviluppatore ndeadly ha rilasciato un nuovo aggiornamento di Mission Control con una nuova versione 0.10.0 compatibile con l’ultimo firmware 17.0.0.
Caratteristiche
- Supporta tutte le versioni del firmware Switch.
- Collega fino a 8 controller Bluetooth senza switch contemporaneamente senza hardware aggiuntivo.
- Utilizza i menu HOS nativi per l’associazione del controller, la rimappatura dei pulsanti (firmware 10.0.0+) ecc.
- Supporto per il rumore*
- Ritardo di input basso.
- Memoria del controller virtuale basata su file che consente di archiviare e recuperare dati come la calibrazione dello stick analogico.
- Spoofing del nome e dell’indirizzo dell’adattatore Bluetooth host.
mc.mitm
Il modulo aggiunge comandi IPC di estensione che possono essere utilizzati per interagire con ilbluetooth
processo senza interferire con lo stato del sistema.
* Rumble non attualmente implementato per tutti i controller compatibili
Controller supportati
Attualmente sono supportati i seguenti controller. Se disponi di una variante di terze parti di uno dei seguenti o di un controller Bluetooth non elencato, considera di inviare un problema con i dettagli del controller, inclusi vid/pid, per richiedere assistenza.
- 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 (not to be confused with Series S/X controllers – these use Bluetooth LE, which isn’t currently supported)*
- Microsoft Xbox Elite Wireless Controller Series 2
- NVidia Shield Controller(2017 Model)
- Ouya Controller
- Gamestick Controller
- Gembox Controller
- iCade Controller
- Ipega Controllers (9017s, 9023, 9055, 9062S, 9076, 9078, 9087 9096 confirmed working. Others may also work)
- Xiaomi Mi Controller
- Steelseries Free
- Steelseries Nimbus
- Steelseries Stratus Duo
- GameSir G3s
- GameSir G4s
- GameSir T1s
- GameSir T2a
- Hori Onyx
- 8bitDo SN30 Pro Xbox Cloud Gaming Edition
- 8BitDo ZERO
- PowerA Moga Hero
- PowerA Moga Pro
- PowerA Moga Pro 2
- Mad-Catz C.T.R.L.R
- Razer Raiju Tournament
- Razer Serval
- Mocute 050
- Gen Game S3
- AtGames Legends Pinball Controller
* Non tutti i controller wireless Xbox One supportano il Bluetooth. Le varianti precedenti utilizzano un protocollo proprietario a 2,4 Ghz e non possono essere utilizzate con lo Switch. Vedere qui per informazioni sull’identificazione della variante Bluetooth.
Requisiti
- Nintendo Switch hackerabile con una versione aggiornata del firmware personalizzato di Atmosphère . Altri firmware personalizzati non sono supportati .
- Controller Bluetooth compatibile
Installazione
Scarica l’ ultima versione .zip ed estrai nella root della tua scheda SD, consentendo alle cartelle di unire e sovrascrivere qualsiasi file esistente. È necessario riavviare la console affinché Mission Control diventi attivo.
IMPORTANTE: è necessario Atmosphère >= 1.1.1 per eseguire l’ultima versione di Mission Control. L’utilizzo di una versione precedente di Atmosphère causerà l’arresto anomalo di Mission Control del sistema all’avvio. Si consiglia inoltre agli utenti che eseguono l’aggiornamento dalla versione 0.1.0 di Mission Control di cancellare il proprio database di associazione e di riassociare i controller che eseguono la versione più recente. Se non si cancellano le vecchie voci, i controller non switch potrebbero essere rilevati in modo errato.
utilizzo
Installa Mission Control sulla tua scheda SD e riavvia la console.
Mission Control viene eseguito come processo in background e utilizza l’interfaccia utente nativa del sistema per gestire i controller. È possibile accedere alla finestra di dialogo di associazione del controller dalla schermata iniziale tramite Controllers->Change Grip/Order
. Mentre sei seduto su questo schermo, metti il controller in modalità di associazione (vedi sotto) e attendi che si connetta alla console. Una volta accoppiati, i controller si riconnetteranno automaticamente al risveglio. Non è necessario riassociarli ogni volta.
I controller che si accoppiano correttamente ma non sono ancora stati supportati verranno visualizzati con i pulsanti rossi nel Controllers
menu per indicare che i loro controlli non sono stati mappati. Si prega di aprire un problema per richiedere supporto per tali controller.
I pulsanti del controller sono mappati il più vicino possibile al layout fisico di un controller Switch Pro. Ciò significa che i pulsanti A/B e X/Y verranno sostituiti con controller che utilizzano un layout di pulsanti in stile Xbox anziché utilizzare ciò che è stampato sul pulsante. Le combinazioni di pulsanti MINUS + DPAD_UP
e MINUS + DPAD_DOWN
sono fornite per tutti i controller per funzionare come alternativa ai pulsanti HOME
e CAPTURE
nei casi in cui non sono disponibili abbastanza pulsanti frontali.
La maggior parte delle funzionalità native dovrebbe funzionare (ad eccezione di cose come l’aggiornamento del firmware). Se trovi qualcosa che non funziona, apri un problema di supporto su questa pagina github.
Associazione Controller
I controller supportati hanno ciascuno i propri metodi per accedere alla modalità di associazione/sincronizzazione. Di seguito sono riportate le istruzioni su come accedere a questa modalità per ciascun tipo supportato.
Controller Nintendo Wii(U) Premi il pulsante rosso di sincronizzazione sul retro del controller. I LED del controller lampeggeranno rapidamente.
Controller Sony Dualshock4/Dualsense Tenerepremuti contemporaneamente i pulsantiPS
+share
finché la barra luminosa inizia a lampeggiare. Se eseguito correttamente, lo schema delle palpebre assomiglierà a un battito cardiaco, altrimenti lampeggerà periodicamente.
Se hai difficoltà ad accoppiare il controller alla console, premi il pulsante di ripristino sul retro del controller e continua a provare. Alla fine dovrebbe connettersi.
Controller Microsoft Xbox One Tieni premuto ilpulsanteguide
(X
) finché il LED non inizia a lampeggiare. Quindi tieni premuto il piccolo pulsante di sincronizzazione sul retro vicino alla porta di ricarica finché il LED non inizia a lampeggiare più rapidamente. Dovresti anche assicurarti che il firmware del tuo controller sia aggiornato, poiché era noto che i vecchi firmware avevano Bluetooth flakey.
Altri controller Fare riferimento al manuale utente del controller per informazioni su come metterlo in modalità di sincronizzazione. Si noti che molti controller Bluetooth generici possono essere avviati in una delle diverse modalità. Di solito vuoi scegliere qualcosa come HID, PC o modalità Android per farlo funzionare correttamente.
Configurazione del modulo
Verrà installato un modello per il file .ini di configurazione in /config/MissionControl/missioncontrol.ini.template
. Per modificare le impostazioni predefinite del modulo, copiare il modello /config/MissionControl/missioncontrol.ini
e rimuovere il commento/modificare le impostazioni che si desidera modificare. Il file viene analizzato solo all’avvio, quindi qualsiasi modifica apportata richiederà un riavvio per avere effetto. Attualmente c’è solo un piccolo set di impostazioni di configurazione, ma questo verrà ampliato nelle versioni future.
[general]
Queste sono le impostazioni generali per le funzioni di controllo missione.enable_rumble
Abilita/disabilita il supporto del rumble per i controller non ufficiali.enable_motion
Abilita/disabilita il supporto per i controlli di movimento. Attualmente non utilizzato
[bluetooth]
Queste impostazioni possono essere utilizzate per falsificare il tuo switch bluetooth in modo che appaia come un altro dispositivo. Questo può essere utile (in combinazione con una chiave di collegamento) se si desidera utilizzare il controller su più dispositivi senza dover eseguire nuovamente l’associazione ogni volta che si cambia. Tieni presente che la modifica di queste impostazioni invaliderà le informazioni della console memorizzate in qualsiasi controller precedentemente accoppiato e richiederà il riaccoppiamento.host_name
Sostituisci il nome dell’adattatore host bluetoothhost_address
Sostituisci l’indirizzo dell’adattatore host bluetooth
Rimozione
Per disinstallare funzionalmente Mission Control e i suoi componenti, è sufficiente eliminare le seguenti directory dalla scheda SD e riavviare la console.
/atmosphere/contents/010000000000bd00
/atmosphere/exefs_patches/bluetooth_patches
Se desideri rimuovere completamente tutte le tracce del software mai installato (eccetto la telemetria), potresti anche voler seguire questi passaggi aggiuntivi
- Rimuovi la seguente directory dalla tua scheda SD
/config/MissionControl
- Cancella il database degli accoppiamenti Bluetooth tramite
System Settings->Controllers and Sensors->Disconnect Controllers
Funzionalità pianificate/in corso
Di seguito è riportato un elenco di funzionalità su cui sto attualmente lavorando o che vorrei esaminare in futuro, approssimativamente in ordine di priorità decrescente. Le richieste sono benvenute se hai un’idea che ritieni possa essere utile.
Supporto Rumble- Supporto per i controlli di movimento
- Supporto Bluetooth LE
- Configurazioni per controller
- Rumble acceso/spento
- Attivazione/disattivazione dei controlli di movimento
- Identificato come Pro Controller o Joycon
- Imposta i colori del corpo/pulsante del controller
- Inverti gli assi dello stick analogico
- Zone morte dello stick analogico
- Applicazione
- Gestione del database di associazione
- Visualizza le informazioni sul controller associato
- Cancella database
- Esporta database su file
- Importa database esistente da file
- Gestione/diagnostica del controller
- Gestire le configurazioni del controller
- Visualizza i dati dei rapporti HID grezzi
- Pulsanti di prova/stick analogici
- Scarica flash SPI (solo controller ufficiali)
- Nuova implementazione del rilevamento/abbinamento del controller
- Gestione del database di associazione
- Sovrapposizione di Tesla
- Supporto per tastiera e mouse
- Modalità Gamecube (supporto trigger analogico)
- Controller cablati USB
Problemi noti e limitazioni
- Controlli di movimento attualmente non supportati.
- I controller non Switch non possono essere utilizzati per riattivare il sistema dallo stato di sospensione.
- I controller che utilizzano lo standard Bluetooth LE (BLE) non sono attualmente supportati e non si collegheranno al sistema.
- Xbox One, Wii/WiiU e (soprattutto) alcuni controller Dualshock v1 possono richiedere del tempo per essere rilevati e successivamente accoppiati con la console. Sii paziente e, se necessario, reinserisci la modalità di sincronizzazione del controller più volte. Una volta sincronizzati, i controller dovrebbero funzionare normalmente.
- I controller Xbox One non possono essere spenti e proveranno a riconnettersi alla console dopo essere stati disconnessi. Questa è una limitazione del firmware bluetooth del controller.
Il layout dei pulsanti di Xbox One è stato modificato a un certo punto in un aggiornamento del firmware. Assicurati che il firmware del controller sia aggiornato se hai problemi con le mappature dei pulsanti errate.Entrambi i layout sono ora supportati.- I livelli della batteria del controller riportati potrebbero non essere corretti. Mi baso interamente sulle note di reverse engineering trovate su Internet per questi. In molti casi non possiedo il controller e semplicemente non ci sono informazioni disponibili, quindi questi controller mostreranno sempre la batteria piena. Qualsiasi aiuto per migliorare questo è il benvenuto.
- Diversi utenti hanno segnalato controller WiiU e Dualshock4 knockoff che non possono essere rilevati dalla console durante il rilevamento Bluetooth. Sfortunatamente penso che stiano usando un chipset Bluetooth incompatibile.
Domande frequenti
Funziona su <inserire CFW qui>? No. Mission Control funzionerà solo con Atmosphère. Questo non è un tentativo di bloccare gli utenti di altri CFW, Atmosphere è semplicemente l’unico (attualmente) a fornire le estensioni necessarie alle comunicazioni Bluetooth MITM che rendono possibile questo sysmodule.
L’uso di questo mi farà bannare dall’online? Attualmente non ci sono stati casi confermati di ban a seguito dell’esecuzione di Mission Control. Detto questo, l’esecuzione di qualsiasi software non ufficiale con CFW comporterà sempre un rischio di divieto diverso da zero e Nintendo potrebbe modificare i propri criteri di divieto in qualsiasi momento. Anche se questo dovrebbe essere relativamente sicuro, sarebbe certamente possibile rilevare che hai collegato controller esterni alla console se fossero interessati a farlo. Usalo a tua discrezione.
Supporta i controller USB? No, Mission Control è attualmente solo Bluetooth. Per ora puoi usare il sys-con di Cateryper i controller USB.
Funziona con sys-con installato? Sì, i due possono essere eseguiti contemporaneamente senza problemi.
La mia console si blocca all’avvio a causa di questo sysmodule. Cosa posso fare? Se vedi arresti anomali all’avvio con l’ID del titolo di Mission Control (010000000000bd00
), è probabile che tu abbia aggiornato di recente a una nuova versione di Atmosphere ed è necessario un aggiornamento a Mission Control, oppure stai eseguendo una vecchia versione di Atmosphere che non è compatibile con l’ultima versione di Mission Control. Gliarresti anomaliinsm
(title ID0100000000000004
) possono indicare incompatibilità di versione tra il tuo Atmosphere attuale e uno o più dei tuoi sysmodules homebrew. Questo potrebbe essere causato da Mission Control, o potrebbe essere un altro sysmodule personalizzato che usa libstratosphere, anche se sembra che la colpa sia di Mission Control (ldn_mitm
eemuiibo
sono delinquenti comuni). Se hai appena aggiornato Atmosphere dovresti sempre controllare se sono stati rilasciati aggiornamenti anche per i sysmodules che utilizzi. Gli errori di qlaunch (title ID 0100000000001000
) possono essere un segno che hai troppi sysmodules personalizzati in esecuzione e stai esaurendo le limitate risorse di sistema a loro disposizione. Controlla la tua /atmosphere/contents
cartella e verifica di aver effettivamente bisogno di tutto. Se non sai cosa stai facendo, potrebbe essere più semplice eliminare completamente questa cartella, reinstallare atmosfera e quindi reinstallare esplicitamente solo i sysmodules di cui hai bisogno.
Come posso usarlo con più configurazioni di avvio sysNAND/emuMMC? L’associazione dei controller su più installazioni HOS univoche richiede più database di associazione ed è essenzialmente uguale all’associazione con due console diverse. L’unica eccezione è il caso in cui hai associato i controller prima di eseguire copie sysNAND. Per ora dovrai riassociare i controller quando passi avanti e indietro. In futuro spero di includere un’opzione per caricare/memorizzare il database sulla scheda SD per evitare questo problema.
I pulsanti del mio controller Xbox One sono mappati in modo errato. Puoi aggiustarlo? Non hai letto la sezione Problemi noti e limitazioni , vero? Devi aggiornare il firmware del controller alla versione più recente. Questa operazione può essere eseguita su Windows utilizzando l’ app Accessori Xbox . Puoi farlo anche sulla stessa Xbox.Entrambi i formati di report sono ora supportati. Se hai ancora problemi con la mappatura dei pulsanti, stai utilizzando una versione obsoleta di Mission Control.
Puoi aggiungere il supporto per i controller PS3? È nella mia lista di cose da esaminare. Il processo di associazione non è standard e potrebbe richiedere modifiche al driver Bluetooth. Se può essere fatto in modo non distruttivo, eventualmente aggiungerò il supporto.Dopo aver esaminato un po ‘questo, sembra che sarà un sacco di lavoro dati i vincoli di HOS (se può anche essere fatto senza interrompere il supporto per altri controller Bluetooth). Non escluderò una soluzione in futuro, ma questa non è una priorità per me in questo momento. Mi dispiace per i possessori di DS3.
Puoi aggiungere il supporto per i controller Xbox 360? No. Questi non utilizzano il Bluetooth. Prova sys-con con un adattatore USB wireless.
Puoi aggiungere il supporto per la riattivazione dal sonno? Probabilmente no. Per quanto ne so, la riattivazione dalla sospensione implica che un controller invii un comando di controllo speciale all’hardware Switch Bluetooth. Non c’è modo di fare in modo che un controller non switch invii il comando riconosciuto dallo Switch senza modificare il suo hardware/firmware.
Puoi aggiungere il supporto audio bluetooth? No. Il modulo bluetooth sullo switch implementa solo un piccolo insieme di servizi necessari per far funzionare i controller nascosti. Di questo piccolo insieme di servizi, solo una manciata di funzioni di alto livello è esposta al resto del sistema. L’aggiunta del supporto audio richiederebbe l’implementazione dei servizi necessari per il trasporto audio, per i quali qualsiasi persona sana di mente richiederebbe una reimplementazione open source del modulo bluetooth per avere accesso alle funzioni di basso livello necessarie per realizzarlo.A partire dal firmware 12.0.0 Nintendo ha aggiunto funzioni che supportano l’audio Bluetooth. Sebbene la funzione non sia stata abilitata nel software ufficiale, plutooo ha creato un sysmodule sperimentale chiamato nx-btred che abilita l’audio Bluetooth nei giochi che supportano la registrazione. Non c’è molto vantaggio per me nell’aggiungere la sua funzionalità a Mission Control.
Come funziona
Mission Control funziona tramite Man-In-The-Middling del bluetooth
modulo di sistema e intercetta i suoi comandi IPC di inizializzazione e gli eventi di sistema e traduce i dati in entrata/uscita per convincere lo Switch che sta comunicando con un Pro Controller ufficiale.
Per ottenere ciò, il btdrv.mitm
modulo ottiene gli handle per gli bluetooth
eventi di sistema e la memoria condivisa quando il sistema tenta di inizializzarli su IPC tramite i moduli btm
e hid
. Quindi crea le proprie versioni secondarie di questi e passa i loro handle invece dell’originale. Ciò consente di apportare modifiche a qualsiasi buffer di dati prima di notificare (o meno) il sistema. Inoltre, il WriteHidData
comando IPC viene intercettato per tradurre o eliminare le richieste in uscita al controller. In quest’ultimo caso, le risposte false possono essere scritte direttamente nel buffer in memoria condivisa.
L’intercettazione dei comandi IPC di inizializzazione consente inoltre all’homebrew di utilizzare correttamente il bluetooth
servizio. Normalmente, la chiamata a uno qualsiasi dei comandi IPC che inizializzerebbero o finalizzerebbero gli eventi di sistema causerebbe l’arresto anomalo della console o invaliderebbe gli handle di eventi detenuti dai processi di sistema. Con btdrv.mitm
siamo in grado di distribuire handle di eventi alternativi quando homebrew tenta di inizializzare un’interfaccia e reindirizzare gli eventi di sistema reali a quelli invece degli eventi tenuti dai processi di sistema.
Le patch IPS per il bluetooth
modulo sono fornite per (ri)abilitare il passaggio di codici pin anomali quando viene utilizzato l’accoppiamento Bluetooth legacy (Nintendo codifica un valore di '0000'
, ignorando gli argomenti IPC). Ciò consente di associare i dispositivi Wii(U) alla console.
Il btm
servizio è ora anche MITM, consentendo di falsificare i nomi dei controller al volo mantenendo i nomi originali nel database di associazione.
Changelog
- Aggiunto supporto completo per il firmware 17.0.0.
- Aggiunto il supporto per il controller wireless moderno Atari.
- D-pad 8BitDo Zero mappato come levetta analogica sinistra per migliorare la compatibilità del gioco.
- Rimosso il fattore di ridimensionamento giroscopico non necessario per i controller Sony. Le rotazioni del controller ora dovrebbero essere più sensibili/precise.
- Risolto un problema per cui lo stato del pulsante di acquisizione non veniva ripristinato dopo il rilascio del pulsante del touchpad Dualshock 4.
Download
MissionControl-0.10.0-master-38c9879.zip