Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati
  • Differenze per "kn4rF/Prove0"
Differenze tra le versioni 3 e 45 (in 42 versioni)
Versione 3 del 20/11/2007 18.43.30
Dimensione: 6822
Autore: kn4rF
Commento:
Versione 45 del 13/12/2007 10.40.41
Dimensione: 3
Commento:
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 1: Linea 1:
Questa guida permette di configurare '''epsxe''' all'uso di __uno o due gamepad PSX mediante adattatore USB__.

http://img.gamekult.com/photos/00/00/41/89/ME0000418927_2.jpg

Innanzitutto carichiamo il modulo '''joydev ''' nel kernel. Da terminale scriviamo:[[BR]]
{{{sudo modprobe joydev
}}}

E controlliamo che sia caricato correttamente. Sempre da terminale:[[BR]]
{{{lsmod | grep joydev
}}}

Adesso connettiamo l'adattatore usb (se già connesso, conviene disconnetterlo e riconnetterlo).[[BR]]
Controlliamo che il dispositivo sia rilevato dal sistema. Da terminale:[[BR]]
{{{dmesg | grep HID
}}}

Dovrebbe dare un output di questo genere:[[BR]]
{{{[ 36.402968] input: USB HID v1.10 Keyboard [Logitech Logitech USB Keyboard] on usb-0000:00:1a.1-1
[ 36.436768] input: USB HID v1.10 Device [Logitech Logitech USB Keyboard] on usb-0000:00:1a.1-1
[ 36.452891] input: USB HID v1.10 Mouse [Logitech USB-PS/2 Optical Mouse] on usb-0000:00:1a.1-2
'''[ 36.492650] input: USB HID v1.10 Joystick [Twin USB Joystick] on usb-0000:00:1d.0-2'''
}}}

A noi, in questo caso, interessa l'ultima riga che ci conferma che i joypad sono correttamente collegati.[[BR]]
Nota informativa, per la serie: capiamo quel che facciamo. L'acronimo '''HID''' sta per Human Interface Device ovvero: Dispositivo di Interfaccia Umana. Solitamente si indica un dispositivo che interagisce con il PC mediante diretto controllo dell'uomo: sono quindi logicamente HID il mouse, la tastiera, il gamepad.[[BR]][[BR]]

I gamepad saranno caricati su '''/dev/input'''. Controlliamo: [[BR]]
{{{ls /dev/input/
}}}

I gamepad sono solitamente jsX e jsY, dove X ed Y saranno dei numeri, di default 0 ed 1.[[BR]]
D'ora in poi associerò gli eventi a js0 e js1 ma ricordate che questi vanno cambiati se nel nostro sistema sono caricati in modo diverso.[[BR]][[BR]]

Adesso facciamo un test dei pulsanti dei gamepad. Da terminale:[[BR]]
{{{cat /dev/input/js0
}}}

Compariranno caratteri strani, non preoccupiamoci. Adesso premiamo i pulsanti di un gamepad: se vengono stampati a video altri caratteri strani significa che il gamepad è riconosciuto. Facciamo un test con tutti i pulsanti tenendo conto che questo test va fatto un gamepad per volta.[[BR]]

Adesso ripetiamo il test per i pulsanti del secondo pad.[[BR]]
{{{cat /dev/input/js1
}}}

Se finora tutto è andato bene, siamo a buon punto e non dovremmo avere problemi nel riconoscimento dei due pad in epsxe.[[BR]][[BR]]

Il supporto nativo dei pad in epsxe quasi sicuramente non funzionerà. In ogni caso facciamo un test.[[BR]]
Avviamo epsxe e selezionate dal menù: '''Config > Gamepad > Pad 1'''[[BR]]
Proviamo a cambiare i pulsanti di default della tastiera premendo i tasti del gamepad. Se i pulsanti vengono cambiati alla pressione di quelli del pad, abbiamo molta fortuna e la guida finisce qui. Se non succede nulla, c'è ancora qualche riga da leggere.[[BR]][[BR]]
 
Se i gamepad non vengono rilevati con il supporto nativo di epsxe, è necessario scaricare un plugin esterno. Scarichiamo '''padJoy''' da questo indirizzo[[BR]]
{{{http://members.chello.at/erich.kitzmueller/ammoq/down/padJoy082.tgz
}}}

Adesso apriamo l'archivio ed estraiamo i file contenuti nella sottocartella '''plugins''' di epsxe. Quest'operazione da console si fà in questo modo (ovviamente il comando va dato posizionandosi nella cartella dove avete salvato il file!): [[BR]]
{{{tar xfv padJoy082.tgz
}}}

E poi:[[BR]]
{{{mv padJoy082/* $HOME/.epsxe/plugins/
}}}

Ora dobbiamo compilare il programma. Spostiamoci nella cartella di lavoro:[[BR]]
{{{cd $HOME/.epsxe/plugins/src/
}}}

E diamo il make (se non funziona, diamo prima ./makedep e poi make)[[BR]]
{{{make
}}}

Ora copiamo i file di configurazione:[[BR]]
{{{cp ../bin/libpadJoy-0.8.so ../plugins/
}}}
{{{cp ../bin/padJoy.cfg ../cfg/
}}}

Siamo quasi alla fine. Controlliamo che il plugin sia riconosciuto.[[BR]]
Avviamo epsxe ed accediamo al menu '''Config > Ext. Game Pad'''. Dovreste vedere caricato '''ammoQ's padJoy Joy Device Driver 0.8'''. Clicchiamo su '''Configure''':[[BR]]
Selezioniamo: '''ePSXe''' (su Emulation), '''multithreaded''' e '''analog'''. Su '''Device file''' impostiamo '''/dev/input/js0''', poi regoliamo i tasti del gamepad facendo intuitivamente click prima sui pulsanti della schermata e poi sul tasto corrispondente del nostro pad.[[BR]]

Ora vi chiederete: perché non posso ripetere la configurazione del plugin per il secondo gamepad? Perché, come scrive l'autore del plugin nelle sue FAQ:[[BR]][[BR]]

'''Q: Why does the second pad not work with ePSXe?'''[[BR]]
A: Unfortunately, ePSXe's pad plugin interface supports only one pad[[BR]]

Che tradotto è:[[BR]]
''' D: Perché il secondo pad non funziona con epsxe?'''[[BR]]
A: Sfortunatamente, il plugin supporta due pad, ma epsxe no.[[BR]][[BR]]

C'è comunque un rimedio per questa "sfortuna", altrimenti questa guida avrebbe un altro nome.[[BR]]
E' possibile con xjoypad, un programma che "mappa input del pad in eventi della tastiera". Questo a far capire che xjoypad può essere adoperato anche per altri usi, oltre quello che vado a descrivere.[[BR]][[BR]]

Scarichiamo xjoypad dai repository:
{{{sudo aptitude install xjoypad
}}}

Ed avviamolo in questo modo:
{{{xjoypad -device /dev/input/js1 &
}}}

Adesso è fatta. Avviamo epsxe e configuriamo il secondo pad, aprendo il menu '''Config > Game Pad > Pad 2''' e associando intuitivamente i tasti stampati a schermo con i relativi tasti del nostro pad.[[BR]][[BR]]

Avrete capito il senso di tutto questo: abbiamo fatto rilevare il primo gamepad con un plugin esterno, '''joyDev''', ed il secondo con un escamotage diverso mediante '''xjoydev'''. Entrambi i procedimenti sono scindibili: __se vogliamo configurare un solo gamepad__ possiamo utilizzare, indifferentemente, '''xjoydev''' o '''joyDev''', ricordandoci di fare attenzione all'indirizzo corretto del nostro device ('''/dev/input/jsX''' dove X di default è 0 per il primo pad, 1 per il secondo).[[BR]]

'''Attenzione''': è importante che l'opzione '''Multitap''' del menu '''Config > Game Pad''' di epsxe sia disabilitata.[[BR]]

La guida è completa, ma faccio ancora delle ultime precisazioni.[[BR]]
Mentre il plugin esterno '''joyDev''' è stato compilato manualmente tramite '''make''' e verrà caricato automaticamente dal kernel, lo stesso non vale per xjoydev installato da '''repository'''. Teniamo presente, quindi, che se vogliamo caricare automaticamente '''xjoydev''' ogni sessione, dobbiamo aggiungerlo manualmente, da:[[BR]][[BR]]

'''Strumenti > Preferenze > Sessioni > Aggiungi''', impostando quel che si vuole nei campi '''Nome''' e '''Commento''', e nel campo '''Comando'''[[BR]]

{{{xjoypad -device /dev/input/js1
}}}
.

.