Instalando um PSXPad na porta paralela no Ubuntu.


Um script muito bom para instalar controle de playstation no Ubuntu via porta paralela.


#!/bin/bash
# #########################################################
# Script para configuração de Joystick na porta paralela  #
# Desenvolvido por Aldefax Gilvan Kuhn           #
# Módulo utilizado gamecon - Kernel 2.6 Ubuntu 06.06     #
# Fiz este script para uso pessoal e estou compartilhando #
# a idéia, ele é livre para quem quiser copiar, modificar #
# ou fazer qualquer alteração, sugestões são bem-vindas.  #
# Correções, sugestões e contribuições <a href="mailto:aldefax@gmail.com">aldefax@gmail.com</a> #
# Data da última modificação 21/12/2007-00:48        #
###########################################################

# Funções
Checa_Status() {
if [ $? -ne 0 ]
then
zenity --error --text="Seu joystick não foi configurado!"
exit 1
fi
}

# 1) Verificar se o usuário possui permissões sudo ou root para gravar em /etc/modules
if ! [ -w /etc/modules ]
then
zenity --error --text="Não tenho permissão para gravar as alterações, desculpe!"
zenity --error --text="Tente assim: sudo $0"
exit 1
fi

# 2) Verificar se o pacote zenity e joystick estão instalados
dpkg -l zenity >/dev/null 2>/dev/null
Checa_Status
dpkg -l joystick >/dev/null 2>/dev/null
Checa_Status

# 3) Se não estiverem instalados fazer a instalação deles

# 4) Em qual porta de impressora o joystick está conectado?
PORTA=`zenity --title="Selecionando a porta" --width=400 --height=400 --list 
--text="Selecione a porta em que seu controle está conectado:" 
--radiolist --separator=separator --column "" --column "Cod." --column "Porta Paralela" --hide-column="2" 
TRUE  0 "lp0 (Default para a maioria dos casos)" 
FALSE 1 "lp1" 
FALSE 2 "lp2" 
FALSE 3   "lp3"`
Checa_Status

# 5) Quantos joysticks você tem conectados a essa porta?
QTDADE=`zenity  --title="Quantos controles você tem contectados?" --width=400  --height=400 --list --text="Selecione quantos controles estão conectados  na mesma porta:" 
--radiolist --column "" --column "Cod." --column "Quantidade" --hide-column="2" 
TRUE  1 "Um" 
FALSE 2 "Dois"`
Checa_Status

# 6) Qual o modelo do seu joystick?
MODELO=`zenity --title="Selecionando o controle" --width=400 --height=400 --list --text="Selecione o modelo do seu controle:" 
--radiolist --column "" --column "Cod." --column "Joystick/Gamepad" --hide-column="2" 
TRUE  0 "Nenhum (Restaura configuração da porta paralela)" 
FALSE 1 "Super Nintendo" 
FALSE 2 "Nintendo" 
FALSE 4 "Multisystem 1-botão joystick" 
FALSE 5 "Multisystem 2-botão joystick" 
FALSE 6 "Nintendo 64" 
FALSE 7 "Sony PSX gamepad controller" 
FALSE 8 "Sony PSX DDR (Dance Dance Revolution) controller" 
FALSE 9 "SNES mouse"`
Checa_Status

# 7) Remove joystick e instala porta de impressora
if [ $MODELO -eq 0 ]
then
(
echo "10" ; sleep 1
echo "# Removendo módulo joydev" ; sleep 1
modprobe -r joydev >/dev/null 2>/dev/null
echo "25" ; sleep 1
echo "# Removendo módulo gamecon" ; sleep 1
modprobe -r gamecon >/dev/null 2>/dev/null
echo "50" ; sleep 1
echo "# Adicionando módulo lp" ; sleep 1
modprobe lp >/dev/null 2>/dev/null
echo "75" ; sleep 1
echo "# Concluíndo" ; sleep 1
echo "100" ; sleep 1
) |
zenity --progress 
--title="Removendo joystick" 
--text="Selecionando Módulos..." 
--percentage=0

if [ "$?" = -1 ] ; then
zenity --error 
--text="Ação cancelada."
fi
zenity --error --text="Nenhum joystick não foi configurado!"

grep -i -v gamecon /etc/modules |grep -i -v lp >/tmp/modules
echo "lp" >>/tmp/modules
cp /etc/modules /etc/modules-`date +%s`
cat /tmp/modules >/etc/modules
exit 1
fi

case $QTDADE in
1) CONF=$PORTA,$MODELO,0,0,0,0;;
2) CONF=$PORTA,$MODELO,0,0,$MODELO,0;;
3) CONF=$PORTA,$MODELO,$MODELO,$MODELO,0,0;;
4) CONF=$PORTA,$MODELO,$MODELO,$MODELO,$MODELO,0;;
5) CONF=$PORTA,$MODELO,$MODELO,$MODELO,$MODELO,$MODELO;;
esac

zenity --question --text="Deseja ativar o(s) joystick(s) agora?"
Checa_Status

# <img src="http://ubuntuforum-br.org/Smileys/default/cool.gif" border="0" alt="Legal" /> Remove porta de impressora e instala joystick
(
echo "15" ; sleep 1
echo "# Removendo módulo joydev" ; sleep 1
modprobe -r joydev >/dev/null 2>/dev/null
echo "30" ; sleep 1
echo "# Removendo módulo gamecon" ; sleep 1
modprobe -r gamecon >/dev/null 2>/dev/null
echo "50" ; sleep 1
echo "# Removendo módulo lp" ; sleep 1
modprobe -r lp >/dev/null 2>/dev/null
echo "75" ; sleep 1
echo "# Adicionando módulo gamecon" ; sleep 1
modprobe gamecon map=$CONF >/dev/null 2>/dev/null
echo "100" ; sleep 1
) |
zenity --progress 
--title="Instalando joystick" 
--text="Selecionando Módulos..." 
--percentage=0

if [ "$?" = -1 ] ; then
zenity --error 
--text="Ação cancelada."
fi

# 9) Testando joystick (não consegui colocar saída em um information dialog box)
sleep 1
jstest /dev/input/js0

# 10) Para funcionar o joystick é necessário calibrá-lo
# para calibrar o(s) joystick(s) clique em calibrate, mova para todos os lados.
# Teste todos os botões, se tiver mais de 1 joystick selecione em Joystick Device
# depois no menu Joystick clique em reopen(CTRL + E)
jscalibrator
Checa_Status

# 11) Remove porta de impressora e instala joystick
(
echo "15" ; sleep 1
#        echo "# Removendo módulo joydev" ; sleep 1
modprobe -r joydev >/dev/null 2>/dev/null
echo "30" ; sleep 1
#        echo "# Removendo módulo gamecon" ; sleep 1
modprobe -r gamecon >/dev/null 2>/dev/null
echo "50" ; sleep 1
#        echo "# Removendo módulo lp" ; sleep 1
modprobe -r lp >/dev/null 2>/dev/null
echo "75" ; sleep 1
#        echo "# Atualizando módulo gamecon" ; sleep 1
modprobe gamecon map=$CONF >/dev/null 2>/dev/null
echo "100" ; sleep 1
) |
zenity --progress 
--title="Atualizando configuração" 
--text="Atualizando Módulos..." 
--percentage=0

if [ "$?" = -1 ] ; then
zenity --error 
--text="Ação cancelada."
fi

zenity --question --text="Deseja tornar essas configurações permanentes?"
Checa_Status

grep -i -v gamecon /etc/modules |grep -i -v lp >/tmp/modules
echo "gamecon map=$CONF" >>/tmp/modules
cp /etc/modules /etc/modules-`date +%s`
cat /tmp/modules >/etc/modules

zenity --info --text="Configuração concluída."

Fonte: Ubuntu Forum

#!/bin/bash
# #########################################################
# Script para configuração de Joystick na porta paralela  #
# Desenvolvido por Aldefax Gilvan Kuhn           #
# Módulo utilizado gamecon – Kernel 2.6 Ubuntu 06.06     #
# Fiz este script para uso pessoal e estou compartilhando #
# a idéia, ele é livre para quem quiser copiar, modificar #
# ou fazer qualquer alteração, sugestões são bem-vindas.  #
# Correções, sugestões e contribuições aldefax@gmail.com #
# Data da última modificação 21/12/2007-00:48        #
###########################################################

# Funções
Checa_Status() {
if [ $? -ne 0 ]
then
zenity –error –text=”Seu joystick não foi configurado!”
exit 1
fi
}

# 1) Verificar se o usuário possui permissões sudo ou root para gravar em /etc/modules
if ! [ -w /etc/modules ]
then
zenity –error –text=”Não tenho permissão para gravar as alterações, desculpe!”
zenity –error –text=”Tente assim: sudo $0″
exit 1
fi

# 2) Verificar se o pacote zenity e joystick estão instalados
dpkg -l zenity >/dev/null 2>/dev/null
Checa_Status
dpkg -l joystick >/dev/null 2>/dev/null
Checa_Status

# 3) Se não estiverem instalados fazer a instalação deles

# 4) Em qual porta de impressora o joystick está conectado?
PORTA=`zenity –title=”Selecionando a porta” –width=400 –height=400 –list
–text=”Selecione a porta em que seu controle está conectado:”
–radiolist –separator=separator –column “” –column “Cod.” –column “Porta Paralela” –hide-column=”2″
TRUE  0 “lp0 (Default para a maioria dos casos)”
FALSE 1 “lp1”
FALSE 2 “lp2”
FALSE 3   “lp3″`
Checa_Status

# 5) Quantos joysticks você tem conectados a essa porta?
QTDADE=`zenity –title=”Quantos controles você tem contectados?” –width=400 –height=400 –list –text=”Selecione quantos controles estão conectados na mesma porta:”
–radiolist –column “” –column “Cod.” –column “Quantidade” –hide-column=”2″
TRUE  1 “Um”
FALSE 2 “Dois”`
Checa_Status

# 6) Qual o modelo do seu joystick?
MODELO=`zenity –title=”Selecionando o controle” –width=400 –height=400 –list –text=”Selecione o modelo do seu controle:”
–radiolist –column “” –column “Cod.” –column “Joystick/Gamepad” –hide-column=”2″
TRUE  0 “Nenhum (Restaura configuração da porta paralela)”
FALSE 1 “Super Nintendo”
FALSE 2 “Nintendo”
FALSE 4 “Multisystem 1-botão joystick”
FALSE 5 “Multisystem 2-botão joystick”
FALSE 6 “Nintendo 64”
FALSE 7 “Sony PSX gamepad controller”
FALSE 8 “Sony PSX DDR (Dance Dance Revolution) controller”
FALSE 9 “SNES mouse”`
Checa_Status

# 7) Remove joystick e instala porta de impressora
if [ $MODELO -eq 0 ]
then
(
echo “10” ; sleep 1
echo “# Removendo módulo joydev” ; sleep 1
modprobe -r joydev >/dev/null 2>/dev/null
echo “25” ; sleep 1
echo “# Removendo módulo gamecon” ; sleep 1
modprobe -r gamecon >/dev/null 2>/dev/null
echo “50” ; sleep 1
echo “# Adicionando módulo lp” ; sleep 1
modprobe lp >/dev/null 2>/dev/null
echo “75” ; sleep 1
echo “# Concluíndo” ; sleep 1
echo “100” ; sleep 1
) |
zenity –progress
–title=”Removendo joystick”
–text=”Selecionando Módulos…”
–percentage=0

if [ “$?” = -1 ] ; then
zenity –error
–text=”Ação cancelada.”
fi
zenity –error –text=”Nenhum joystick não foi configurado!”

grep -i -v gamecon /etc/modules |grep -i -v lp >/tmp/modules
echo “lp” >>/tmp/modules
cp /etc/modules /etc/modules-`date +%s`
cat /tmp/modules >/etc/modules
exit 1
fi

case $QTDADE in
1) CONF=$PORTA,$MODELO,0,0,0,0;;
2) CONF=$PORTA,$MODELO,0,0,$MODELO,0;;
3) CONF=$PORTA,$MODELO,$MODELO,$MODELO,0,0;;
4) CONF=$PORTA,$MODELO,$MODELO,$MODELO,$MODELO,0;;
5) CONF=$PORTA,$MODELO,$MODELO,$MODELO,$MODELO,$MODELO;;
esac

zenity –question –text=”Deseja ativar o(s) joystick(s) agora?”
Checa_Status

# Legal Remove porta de impressora e instala joystick
(
echo “15” ; sleep 1
echo “# Removendo módulo joydev” ; sleep 1
modprobe -r joydev >/dev/null 2>/dev/null
echo “30” ; sleep 1
echo “# Removendo módulo gamecon” ; sleep 1
modprobe -r gamecon >/dev/null 2>/dev/null
echo “50” ; sleep 1
echo “# Removendo módulo lp” ; sleep 1
modprobe -r lp >/dev/null 2>/dev/null
echo “75” ; sleep 1
echo “# Adicionando módulo gamecon” ; sleep 1
modprobe gamecon map=$CONF >/dev/null 2>/dev/null
echo “100” ; sleep 1
) |
zenity –progress
–title=”Instalando joystick”
–text=”Selecionando Módulos…”
–percentage=0

if [ “$?” = -1 ] ; then
zenity –error
–text=”Ação cancelada.”
fi

# 9) Testando joystick (não consegui colocar saída em um information dialog box)
sleep 1
jstest /dev/input/js0

# 10) Para funcionar o joystick é necessário calibrá-lo
# para calibrar o(s) joystick(s) clique em calibrate, mova para todos os lados.
# Teste todos os botões, se tiver mais de 1 joystick selecione em Joystick Device
# depois no menu Joystick clique em reopen(CTRL + E)
jscalibrator
Checa_Status

# 11) Remove porta de impressora e instala joystick
(
echo “15” ; sleep 1
#        echo “# Removendo módulo joydev” ; sleep 1
modprobe -r joydev >/dev/null 2>/dev/null
echo “30” ; sleep 1
#        echo “# Removendo módulo gamecon” ; sleep 1
modprobe -r gamecon >/dev/null 2>/dev/null
echo “50” ; sleep 1
#        echo “# Removendo módulo lp” ; sleep 1
modprobe -r lp >/dev/null 2>/dev/null
echo “75” ; sleep 1
#        echo “# Atualizando módulo gamecon” ; sleep 1
modprobe gamecon map=$CONF >/dev/null 2>/dev/null
echo “100” ; sleep 1
) |
zenity –progress
–title=”Atualizando configuração”
–text=”Atualizando Módulos…”
–percentage=0

if [ “$?” = -1 ] ; then
zenity –error
–text=”Ação cancelada.”
fi

zenity –question –text=”Deseja tornar essas configurações permanentes?”
Checa_Status

grep -i -v gamecon /etc/modules |grep -i -v lp >/tmp/modules
echo “gamecon map=$CONF” >>/tmp/modules
cp /etc/modules /etc/modules-`date +%s`
cat /tmp/modules >/etc/modules

zenity –info –text=”Configuração concluída.”

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s