Una delle funzionalità più interessanti di RetroArch, il frontend di riferimento per le API Libretro, è la capacità di configurare automaticamente i controller grazie ai file di autoconfigurazione dei joypad.
Si tratta di una funzione spesso sottovalutata, ma che, se impostata correttamente, consente di vivere un’autentica esperienza plug-and-play con gamepad, joystick e altri dispositivi di input, eliminando la necessità di configurazioni manuali e migliorando sensibilmente l’usabilità.
Cosa sono i File di Autoconfigurazione
I file di autoconfigurazione consentono a RetroArch di riconoscere un dispositivo di input e di mappare i suoi pulsanti e assi sul controller virtuale RetroPad, un layout standard che funge da punto di riferimento per tutti i core di emulazione.
Il RetroPad agisce come un traduttore universale, convertendo i segnali di controller diversi, come un DualShock o un gamepad retrò, in un formato comprensibile per RetroArch.
Senza questi file, si dovrebbe andare a configurare manualmente ogni pulsante e stick, un compito che potrebbe risultare complesso e scoraggiante.
RetroArch Joypad Autoconfig Files funge da archivio condiviso, dove la comunità raccoglie file per centinaia di dispositivi. Ogni file include informazioni essenziali, come il Vendor ID, il Product ID e il nome del dispositivo, che RetroArch utilizza per identificare il controller.
Inoltre, contiene le mappature che collegano gli input fisici ai controlli del RetroPad e, in alcuni casi, descrittori di input, ovvero etichette visualizzate nell’interfaccia utente (ad esempio, “Cross” o “L2”) per rendere la configurazione più intuitiva.
Come creare un file di autoconfigurazione
Quando un controller non viene riconosciuto da RetroArch, anche dopo l’aggiornamento dei profili, l’utente può generare un nuovo file di autoconfigurazione direttamente dall’interfaccia del programma.
Per farlo, è sufficiente accedere al menu Impostazioni, selezionare la sezione Input, navigare fino a Controlli della Porta 1 e scegliere Salva Profilo Controller. Questo processo crea un file con il nome corretto del dispositivo e le mappature degli input, basate sul controller collegato.
L’accuratezza è fondamentale: RetroArch deve rilevare correttamente il dispositivo, e il file generato non dovrebbe essere modificato manualmente senza una conoscenza approfondita.
Gli esperti consigliano di non creare file per controller non posseduti, per evitare configurazioni errate che potrebbero confondere altri utenti.
Per verificare il funzionamento del file, l’utente può reimpostare le associazioni del controller ai valori predefiniti tramite l’opzione Reimposta Controlli Predefiniti, scollegare e ricollegare il dispositivo, quindi controllare che le mappature siano corrette nel menu Controlli della Porta 1.
Se il controller include un pulsante per aprire il menu di RetroArch, è opportuno verificare anche l’associazione del tasto Menu (Toggle) nella sezione Hotkey.
Contribuire alla Repository
Chi genera un file di autoconfigurazione per un controller non ancora presente nella repository può condividerlo con la comunità, facilitando l’esperienza di altri utenti.
Contribuire significa ampliare un database che rende i controller immediatamente utilizzabili, ma richiede il rispetto di alcune linee guida per evitare problemi.
Innanzitutto, accertarsi che non esista già un file per il proprio controller, verificando tre attributi chiave: Vendor ID, Product ID e Nome del Dispositivo, memorizzati come input_vendor_id
, input_product_id
e input_device
. Un file duplicato con gli stessi attributi potrebbe generare conflitti.
Inoltre, le mappature dovrebbero essere generiche, riflettendo il layout standard del controller, piuttosto che configurazioni personalizzate. Questo approccio garantisce che il file sia utile alla maggior parte degli utenti.
Per migliorare l’esperienza, è consigliabile aggiungere descrittori di input, etichette come “Quadrato” o “Triangolo” che RetroArch mostra nell’interfaccia. Questi descrittori non vengono generati automaticamente e richiedono un inserimento manuale nel file, ad esempio:
input_b_btn_label = "Cross" input_y_btn_label = "Square" input_a_btn_label = "Circle" input_x_btn_label = "Triangle"
Per caricare il file,basta creare una Pull Request su GitHub, seguendo la documentazione ufficiale e assicurandosi di inserire il file nella cartella corretta, corrispondente all’attributo input_driver
del controller (ad esempio, “udev” o “hid”).
Nota: Un errore nella scelta della cartella potrebbe compromettere l’integrazione del file.
La Struttura dei File
I file di autoconfigurazione sono semplici da comprendere, ma seguono un formato rigoroso. Ogni file consiste in una serie di attributi e valori, scritti come attribute_name = value
con una convenzione di denominazione snake_case
. Gli attributi si dividono in tre categorie:
- Descrittori del Dispositivo: Identificano il controller, includendo il driver di input (
input_driver
), il nome del dispositivo (input_device
), il Vendor ID (input_vendor_id
) e il Product ID (input_product_id
). Un nome opzionale per l’interfaccia utente (input_device_display_name
) può essere aggiunto. - Mappature di Pulsanti e Assi: Specificano come i pulsanti e gli stick del controller corrispondono al RetroPad. Ad esempio,
input_b_btn = "0"
associa il pulsante B del RetroPad al pulsante 0 del controller, mentreinput_l_x_plus_axis = "+0"
mappa il movimento a destra dello stick analogico sinistro. Il RetroPad include pulsanti come A, B, X, Y, grilletti, spalle e il D-Pad, oltre agli assi degli stick. - Descrittori di Input: Definiscono le etichette mostrate nell’interfaccia, come
input_l2_btn_label = "L2"
. È essenziale che il nome del descrittore corrisponda esattamente alla mappatura, distinguendo tra pulsanti e assi per evitare errori.
Un errore nella struttura del file, come un descrittore non corretto, può impedire a RetroArch di caricarlo, rendendo la precisione un requisito indispensabile.
L’importanza di questo sistema
I file di autoconfigurazione sono molto più di un dettaglio tecnico: sono una componente vitale che rende RetroArch accessibile a giocatori di ogni livello di esperienza.
Configurare un controller manualmente può rappresentare una barriera per i principianti o per chi non conosce a fondo i menu di RetroArch.
Grazie alla repository e ai contributi della comunità, migliaia di dispositivi sono già supportati, e ogni nuovo file amplia questa rete di compatibilità.
Changelog
- Android: invertiti i tasti A/B e X/Y sul controller Xbox Series Wireless grazie a @hunterk nella pull request #1219
- udev: aggiunto il supporto per Mad Catz, Mayflash Wiimote e Thrustmaster FGT grazie a @AngeloScipione nella pull request #1217
- Android: aggiunto il supporto per Retroid Pocket 5 grazie a @patrickli nella pull request #1216
- Android: aggiornato il supporto per Sony DualShock 4 v2 grazie a @6lackmag3 nella pull request #1215
- dinput: aggiunto il supporto per STK7039RG. xinput: aggiunto dispositivo Bluetooth compatibile (versione spagnola) grazie a @cjdg nella pull request #1213
- Android: aggiunto supporto per il controller DualSense Wireless (Google TV 12), disattivato per impostazione predefinita, grazie a @davidhedlund nella pull request #1177
- Capcom Home Arcade Controller: corretta l’identificazione del produttore (vendor_id CHA1) grazie a @cjom nella pull request #1229
- SDL2: aggiunta una variante del controller Xbox Elite Series 2 per TV LG WebOS grazie a @Honest-n nella pull request #1228
- dinput/sdl2: aggiunto supporto per Horipad Steam grazie a @eVenent nella pull request #1226
- dinput: aggiunto supporto per il controller 8BitDo Ultimate 2C Wireless via Bluetooth grazie a @JonSnow88 nella pull request #1224
- dinput: aggiunto supporto per il controller 8BitDo Ultimate 2 Wireless via Bluetooth grazie a @JonSnow88 nella pull request #1223
- dinput: corretta la funzione di attivazione del menu su 8BitDo M30 via USB grazie a @djleon83 nella pull request #1222
- dinput: corretta la funzione di attivazione del menu su 8BitDo M30 via Bluetooth grazie a @djleon83 nella pull request #1221
- udev: aggiornati i controller Nintendo Switch in seguito alla rimappatura dei tasti grazie a @nfp0 nella pull request #1227
- udev: aggiunto supporto per il controller 8BitDo Ultimate 2 Wireless grazie a @CosmicHeron nella pull request #1231
- SDL2: aggiunto supporto per il controller del PCEngine Mini grazie a @Ceotom nella pull request #1230
Download: Source code RetroArch Joypad Autoconfig Files v1.21.1
Fonte: github.com