Joystick
Da Slacky.eu.
Versione del 12 set 2006 alle 11:52 di L1q1d (Discussione | contributi)
Descrizione
Script per la configurazione del joystick su Slackware GNU/Linux. Questo semplice script installarà il necessario per fa funzionare il proprio joystick, poi configurerà in base alle vostre esigenze.
Script
#!/bin/bash # # Script per la configurazione del joystick su Slackware GNU/Linux. # Questo semplice script installarà il necessario per fa funzionare # il proprio joystick, poi configurerà in base alle vostre esigenze. # # Federico fazzi, <federico@plugs.it> 3 Giugno 2005. # Grazie a tutti quelli "irc.syrolnet.org". JSDIR=`ls /dev/input/js* | wc -l` BINARY="/usr/local/jstest" function funzionamento() { cat << FUNZIONAMENTO Sintassi: `basename $0` -h --help Visualizzazione sintassi `basename $0` -n --need Controllo presenza dei file necessari per la configurazione `basename $0` -c --conf Configurazione dei joystick `basename $0` -r --remove Rimozzione della configurazione `basename $0` -v --version Versione del file e ringraziamenti FUNZIONAMENTO exit 0; } function nfile() { if [ "$UID" != "0" ]; then echo "Non hai i permessi root!"; exit 1; fi echo "Controllo dei file necessari.. OK" if [ ! -e $BINARY ]; then continue echo "Mancanza di uno o più file, Procedo all'installazione? [si] - [no]:" read RINSTALL if [ "$RINSTALL" == "si" ]; then echo "Mi sposto in '~/' e scarico il pacchetto necessario.." wget ftp://atrey.karlin.mff.cuni.cz/pub/linux/joystick/joystick-1.2.15.tar.gz tar zxvf joystick-1.2.15.tar.gz ; cd joystick-1.2.15 ; make install echo "Installazione dei file necessari terminata" elif [ "$RINSTALL" == "no" ]; then exit 0; else echo "Tasto sbagliato." fi fi } function moduli() { echo "Quale modulo devo caricare in base al tuo joystick?" echo echo " - ns558 : se il nostro joystick comunica tramite la gameport" echo " - serport: se il nostro joystick comunica attraverso la porta seriale" echo " - analog : se il si si tratta di un dispositivo analogico" echo read DISPOSITIVO exec modprobe joydev if [ "$DISPOSITIVO" == "ns558" ]; then echo "Caricamento modulo.." exec modprobe ns558 elif [ "$DISPOSITIVO" == "serport" ]; then echo "Caricamento modulo.." exec modprobe serport elif [ "$DISPOSITIVO" == "analog" ]; then echo "Caricamento modulo.." exec modprobe analog else echo "Modulo non supportato" fi echo "Procedo nel fare il testing del joystick" exec /usr/local/bin/jstest --normal /dev/js0 } function configurazione() { if [ "$UID" != "0" ]; then echo "Non hai i permessi root!"; exit 1; fi echo "Verifica l'esistenza dei link dei nodes in /dev .. " if [ "$JSDIR" -lt "2" ]; then echo "Mancanza dei link dei nodes! Creazione di 2 nodes in corso..." rm -rf /dev/js0 ; rm -rf /dev/js1 ; rm -rf /dev/js2 cd /dev/input exec mknod js0 c 13 0 exec mknod js1 c 13 0 exec mknod js2 c 13 0 exec mknod js3 c 13 0 echo "Creazione a file device" exec ln -s js0 /dev/js0 exec ln -s js1 /dev/js1 exec ls -s js2 /dev/js2 moduli elif [ "$JSDIR" -gt "2" ];then echo "Link trovati procediamo.." moduli else echo "Errore rilevato.. esco!"; exit 1; fi echo echo "Se la configurazione non è andata a buon fine consultare le pagine del man dei seguenti comandi:" echo "jstest - per il testing del joystick" echo "jscal - sempre funzione di testing, ma esegue il calibro del joystick" echo "jsattach - per apportare modifiche di linea al device"; echo echo "Configurazione completata!.." } function rimozione() { if [ "$UID" != "0" ]; then echo "Non hai i permessi root!"; exit 1; fi echo "Procedo nel reset della configurazione" echo "Rimuovo il pacchetto joystick" rm -rf ~/joystick-1.2.15.tar.gz rm -rf ~/joystick-1.2.15 rm -rf /usr/include/linux/joystick.h rm -rf /usr/local/bin/jscal rm -rf /usr/local/bin/jstest rm -rf /usr/local/bin/jsattach rm -rf /usr/local/man/man1/jscal.1 rm -rf /usr/local/man/man1/jstest.1 rm -rf /usr/local/man/man1/jsattach.1 echo "Rimuovo i link ai device" rm -rf /dev/js0 rm -rf /dev/js1 rm -rf /dev/js2 echo "Rimozzione completata!" } function versione() { echo "" echo " `basename $0` v0.1";echo echo " Federico Fazzi, <federico@plugs.it>" echo " Ringrazio gli amici di SyrolNet reperibili su: irc.syrolnet.org,6667" echo " Anche al sito openskills.info (da dove ho tratto molte informazioni)" echo;echo "Se qualcuno dovesse riscontrare errore nel file mandatemi un email a: federico@plugs.it, grazie."; echo } if [ "$1" == "-h" ] || [ "$1" == "--help" ]; then funzionamento elif [ "$1" == "-n" ] || [ "$1" == "--need" ]; then nfile elif [ "$1" == "-c" ] || [ "$1" == "--conf" ]; then configurazione elif [ "$1" == "-r" ] || [ "$1" == "--remove" ]; then rimozione elif [ "$1" == "-v" ] || [ "$1" == "--version" ]; then versione else echo "`basename $0` -h [-n controllo file] [-c configurazione] [-r rimozione] [-rv versione]" #EOF fi
- Data: 03 Jun 2006
- Autore: federico
- Versione: 0.1