#language it <> <
> || {{http://www.debian.org/logos/openlogo-nd-50.png}} {{http://www.debian.org/Pics/debian.png}}|| ||~+{{attachment:Portal/IDB/logo_portal.png}} Benvenuti nel portale [[Debian]] per i gamepad!+~|| ---- {{attachment:Portal/IDB/icon-game-32x32.png}} Questo articolo tratta l'installazione e la configurazione dei gamepad. I due stadi della configurazione spesso sono: l'installazione dei driver e la configurazione del dispositivo. Molti dispositivi hanno il supporto integrato nel kernel e funzionano non appena connessi. Altri possono essere più difficili. ---- <> == Configurazione generica == Dato che la maggioranza dei dispositivi ha i driver necessari incorporati, l'unica cosa che deve fare la maggior parte delle persone è calibrare successivamente il proprio controller. Molti desktop hanno moduli di configurazione incorporati per selezionare qualsiasi gamepad connesso e calibrarlo. Qui è documentato il procedimento nel desktop KDE Plasma, ma le istruzioni sono applicabili quasi universalmente. === KDE === Qui è documentato il procedimento nel desktop KDE Plasma, ma le istruzioni sono applicabili quasi universalmente. * Aprire {{{Avviatore applicazioni > Ricerca > Controller di gioco}}} '''o''' * Aprire {{{Avviatore applicazioni > Impostazioni di sistema > Dispositivi di input > Controller di gioco}}} * Selezionare il proprio gamepad nel riquadro a tendina "Dispositivo" * Premere il pulsante "Calibra" nell'angolo in basso a sinistra e seguire le istruzioni a schermo {{attachment:KDE_Gamepad_Configuration.png}} ---- == Testare == Ci sono molti giochi utili nei repository Debian per verificare che il gamepad funzioni come atteso, ma DebianPkg:supertuxkart è particolarmente raccomandato per il suo fantastico supporto per gamepad. All'interno di un terminale, si possono anche monitorare gli eventi dei dispositivi di input, o con l'API per joystick (più vecchia) o con l'API evdev (più recente). - DebianPackage:joystick fornisce `jstest`, che aiuta a monitorare /dev/input/js* (API più vecchia). - DebianPackage:evtest fornisce il comando evtest, che aiuta a rilevare i nomi delle etichette relative al dispositivo pad e a restare in ascolto per i loro eventi. ---- == Dispositivi specifici == === Controller per Xbox e PlayStation === I controller per Xbox, Xbox 360 e Xbox One, incluse molte copie, dovrebbero funzionare senza problemi senza fare nulla. Ciò include sia le varianti con cavo sia senza, sia che usino il ricevitore wireless ufficiale sia tramite Bluetooth. Questo vale anche per i controller !DualShock 3 e !DualShock 4 usati comunemente dalle console !PlayStation. === Controller Steam === Il supporto per il controller Steam è fornito attraverso il pacchetto DebianPackage:steam-devices. In modo predefinito funziona i modalità desktop, in cui emula l'input da mouse. Funziona come controller vero e proprio solo per i giochi avviati tramite Steam. Esiste un progetto che sta sviluppando un driver in modalità utente per il controller Steam che gli permette di emulare un controller Xbox i qualsiasi gioco, senza la necessità del client Steam proprietario. Tuttavia, non è ufficialmente supportato in Debian e necessita di configurazione aggiuntiva propria: https://github.com/kozec/sc-controller Nel dicembre 2020 Sony ha pubblicato un driver Linux ufficiale per il controller "!DualSense" che viene fornito con la !PlayStation 5 e che dovrebbe portare il suo supporto al pari con quello dei precedenti controller Sony, ma l'insieme di patch è ancora in revisione. === Controller Nintendo Switch Pro === Sebbene il supporto non sia ancora integrato in Debian, [[Steam]] implementa il proprio driver, con regole udev disponibili nel pacchetto non libero DebianPkg:steam-devices. Le patch al kernel per un driver Nintendo generico sono pronte per essere incluse in Linux 5.16 e il driver diventerà probabilmente disponibile in Debian 12/Bookworm. ---- == Risoluzione dei problemi == === Controllori Xbox via Bluetooth === Se si hanno problemi a connettere un controllore Xbox One o serie Xbox via Bluetooth, può essere necessaria qualche modifica. ==== ERTM e Bluez versione < 5.12 ==== [[https://github.com/atar-axis/xpadneo/issues/295#issuecomment-853420257 |Secondo questo commento]], disabilitare ERTM non è più necessario a partire da bluez versione 5.12. Può risolvere disabilitare ERTM. Ciò può essere fatto una volta eseguendo: {{{ # echo 1 > /sys/module/bluetooth/parameters/disable_ertm }}} Se questo risolve il problema, si può volerlo impostare in modo permanente in modo che la modifica non venga annullata al riavvio. Per farlo, creare un nuovo file usando Nano (o il proprio editor preferito): {{{ # nano /etc/modprobe.d/bluetooth.conf }}} Aggiungere una singola riga al nuovo file: {{{ options bluetooth disable_ertm=Y }}} Notare che ERTM è raramente utilizzato da alcun dispositivo diverso dai controller e non dovrebbe interferire con ogni altra funzionalità Bluetooth normale. Ma se si incontrano problemi con altri dispositivi Bluetooth dopo questa modifica, può essere utile cercare di annullarla. ==== Cicli connessione/disconnessione ==== Il dispositivo può connettersi e istantaneamente disconnettersi, e così via. C'è chi ha avuto successo accoppiando il dispositivo con queste impostazioni per bluez nella sezione `[General]`: {{{ Privacy = device JustWorksRepairing = always Class = 0x000100 FastConnectable = true }}} ==== Singhiozzi degli eventi dei pulsanti con Bluetooth LE ==== [[https://atar-axis.github.io/xpadneo/#troubleshooting| Secondo l'autore di xpadneo]], questo si verifica con controllori Xbox Series S|X ed è causato dal gamepad che non pubblicizza la sua frequenza di lavoro mentre usa il Bluetooth. Impostare questa frequenza manualmente in /etc/bluetooth/main.conf ha effetto per ogni dispositivo LE, evitarlo se è possibile: {{{ [LE] MinConnectionInterval=7 MaxConnectionInterval=9 ConnectionLatency=0 }}} === Gamepad non comuni e specifici motori di gioco === Può succedere che, sebbene il gamepad funzioni bene con la maggior parte dei giochi Linux nativi, non funzioni con alcuni altri. Questo problema si verifica soprattutto con motori di gioco proprietari (come Unity3D usando l'API Rewired). Alcuni giochi possono controllare se il gamepad è tra quelli più comuni, per mappare automaticamente i pulsanti con le azioni, ma possono non permettere di riconfigurare la mappatura o possono avere bug relativi ai gamepad meno comuni (cioè: congelamento durante la verifica del controller, mentre funzionano normalmente quando i controller non sono collegati). DebianPackage:xboxdrv è un driver per gamepad in spazio utente che può emulare un controllore di Xbox per qualsiasi gamepad (a patto che abbia abbastanza pulsanti per le proprie necessità). Questo è un esempio che mappa un Logitech Rumblepad 2 in modo da sembrare un controller di Xbox: {{{ xboxdrv --evdev /dev/input/by-id/usb-Logitech_Logitech_RumblePad_2_USB-event-joystick \ --evdev-absmap ABS_X=x1,ABS_Y=y1,ABS_HAT0X=dpad_x,ABS_HAT0Y=dpad_y,ABS_Z=y2,ABS_RZ=x2 \ --evdev-keymap BTN_THUMB=a,BTN_THUMB2=b,BTN_TRIGGER=y,BTN_TOP=x,BTN_TOP2=lb,BTN_PINKIE=rb,BTN_BASE=lt,BTN_BASE2=rt,BTN_BASE3=Back,BTN_BASE4=Start \ --axismap -Y1=Y1,-Y2=Y2 \ --mimic-xpad }}} Vedere `xboxdrv --help` o la pagina di manuale e più specificatamente `xboxdrv --help-*` (o `xboxdrv --help-all`) per liste delle possibili mappature. === Mappare il gamepad a tasti della tastiera === DebianPackage:antimicrox è un altro approccio che aiuta a tradurre eventi del gamepad in tasti della tastiera, il che può essere utile quando il proprio gioco non gestisce per nulla il proprio gamepad, ma è giocabile da tastiera. ---- CategoryPortal | CategoryHardware | CategoryGamepad