Instalador do emulador de joystick Xbox para joystick generico para PC, PS2, PS3 (Debian e Derivados
Publicado por MARX FABYAN CARVALHO DO MONTE (última atualização em 03/06/2025)
[ Hits: 4.416 ]
Homepage: marxfcmonte
Download InstallJoystickXbox360.sh
O arquivo InstallJoystickXbox360.sh pode ser executados no terminal como root, usando o comando sudo ou su.
Ele desenvolve três softwares, um para restabelecer a emulação do joystick Xbox 360, um para encerrar o serviço de emulação do joystick Xbox 360 e, por fim,
um para configurar o joystick. Além disso, permite que o serviço de emulação do joystick Xbox 360 seja iniciado automaticamente com a inicialização do sistema. (SysV)
Cria atalhos para a Área de trabalho e no menu dos aplicativos do sistema.
Dependências
xboxdrv antimicro dialog
Totalmente automatizado.
Ele reconhece o joystick e faz as configurações, apenas solicitando do usuário o perfil do joystick.
Há uma versão em arquivo Deb para instalar via instalador de pacotes no GitHub.
Link no GitHub: https://github.com/marxfcmonte/Instalador-do-emulador-de-joystick-Xbox-em-joystick-generico-de-PC-PS...
#!/bin/bash
if [ "$USER" != "root" ]; then
echo "Use comando 'sudo' ou comando 'su' antes de inicializar o programa."
exit 1
fi
if ! [ -e "/usr/bin/dialog" ]; then
apt install -y dialog
fi
configuracao1="Instalador do emulador de joystick Xbox 360 v 1.8.1 (2025)"
cont="$[${#configuracao1} + 4]"
dialog --title "Desenvolvedor" --infobox "Desenvolvido por Marx F. C. Monte\n
Instalador do emulador de joystick Xbox 360 v 1.8.1 (2025)\n
Para a Distribuição Debian 12 e derivados (antiX 23)" 5 $cont
sleep 3
clear
configuracao1="SETAS PARA ESCOLHER, ESPAÇO PARA MUDAR E ENTER PARA CONFIRMAR"
cont="$[${#configuracao1} + 4]"
opcao=$(dialog --title "MENU" --radiolist "$configuracao1" 10 $cont 3 \
"1" "PARA INSTALAR" ON \
"2" "PARA REMOVER" OFF \
"3" "PARA SAIR" OFF \
--stdout)
clear
case $opcao in
1)
while true; do
xbox=$(dialog --title "MENU" --radiolist "ESCOLHA A CONFIGURAÇÃO DESEJADA\n(SETAS PARA ESCOLHER, ESPAÇO PARA MUDAR\nE ENTER PARA CONFIRMAR\nCTRL + c PARA SAIR)" 15 76 4 \
"1" "PARA CONFIGURAÇÃO PADRÃO" ON \
"2" "PARA CONFIGURAÇÃO COM ANALÓGICO ESQUERDO COM SENTIDO INVERTIDO" OFF \
"3" "PARA CONFIGURAÇÃO COM ANALÓGICO DIREITO COM SENTIDO INVERTIDO" OFF \
"4" "PARA CONFIGURAÇÃO COM 2 ANALÓGICOS COM SENTIDO INVERTIDO" OFF \
--stdout)
clear
case $xbox in
1)
if [ -d "/usr/share/JoystickXbox360" ]; then
echo -e "\nO diretório JoystickXbox360 existe..."
else
echo -e "\nO diretório JoystickXbox360 será criado..."
mkdir /usr/share/JoystickXbox360
fi
cat <<EOF > /usr/share/JoystickXbox360/status.conf
configuração padrão...
EOF
;;
2)
if [ -d "/usr/share/JoystickXbox360" ]; then
echo -e "\nO diretório JoystickXbox360 existe..."
else
echo -e "\nO diretório JoystickXbox360 será criado..."
mkdir /usr/share/JoystickXbox360
fi
cat <<EOF > /usr/share/JoystickXbox360/status.conf
analógico esquerdo com sentido invertido...
EOF
;;
3)
if [ -d "/usr/share/JoystickXbox360" ]; then
echo -e "\nO diretório JoystickXbox360 existe..."
else
echo -e "\nO diretório JoystickXbox360 será criado..."
mkdir /usr/share/JoystickXbox360
fi
cat <<EOF > /usr/share/JoystickXbox360/status.conf
analógico direito com sentido invertido.
EOF
;;
4)
if [ -d "/usr/share/JoystickXbox360" ]; then
configuracao1="O diretório JoystickXbox360 existe..."
cont="$[${#configuracao1} + 4]"
dialog --infobox "$configuracao1" 3 $cont
sleep 3
clear
else
configuracao1="O diretório JoystickXbox360 será criado..."
cont="$[${#configuracao1} + 4]"
dialog --infobox "$configuracao1" 3 $cont
sleep 3
clear
mkdir /usr/share/JoystickXbox360
fi
cat <<EOF > /usr/share/JoystickXbox360/status.conf
2 analógicos com sentido invertido...
EOF
;;
esac
if [[ "$xbox" = "1" || "$xbox" = "2" || "$xbox" = "3" || "$xbox" = "4" ]]; then
configuracao="$(cat /usr/share/JoystickXbox360/status.conf)"
configuracao1="Opção $xbox selecionada: $configuracao"
cont="$[${#configuracao1} + 4]"
dialog --infobox "Instalação sendo iniciada...\n$configuracao1" 4 $cont
sleep 3
clear
if [ -e "/usr/share/JoystickXbox360/install.conf" ]; then
configuracao1="A instalação dos pacotes não será necessária..."
cont="$[${#configuracao1} + 4]"
dialog --infobox "$configuracao1" 3 $cont
sleep 3
clear
else
apt update && apt-get upgrade -y
apt install -y xboxdrv antimicro dialog
fi
if [ -e "/usr/share/JoystickXbox360/install.conf" ]; then
configuracao1="O arquivo install.conf existe..."
cont="$[${#configuracao1} + 4]"
dialog --infobox "$configuracao1" 3 $cont
sleep 3
clear
else
configuracao1="O arquivo install.conf será criado..."
cont="$[${#configuracao1} + 4]"
dialog --infobox "$configuracao1" 3 $cont
sleep 3
clear
echo "Pacotes instalados xboxdrv antimicro" >\
/usr/share/JoystickXbox360/install.conf
fi
pkill xboxdrv &
sleep 5
i=0
while true
do
udevadm info -a -n /dev/input/event$i > /usr/share/JoystickXbox360/joystick.log
if [ ! -s "/usr/share/JoystickXbox360/joystick.log" ]; then
read -p "Porta do joystick não localizada... Aperte Enter para sair." erro
exit 1
fi
udevadm info -a -n /dev/input/event$i | grep -q "Joystick"
if [ "$?" = "0" ]; then
configuracao1="Porta do joystick localizada..."
cont="$[${#configuracao1} + 4]"
dialog --infobox "$configuracao1" 3 $cont
sleep 3
clear
jost=$i
break
fi
i=$[ i + 1 ]
done
chmod 775 /dev/input/event$jost
xboxdrv --evdev /dev/input/event$jost --evdev-absmap ABS_X=x1,ABS_Y=y1,ABS_RZ=y2,\
ABS_Z=x2,ABS_HAT0X=dpad_x,ABS_HAT0Y=dpad_y --axismap -Y1=Y1,-Y2=Y2 --evdev-keymap BTN_TOP=x,\
BTN_TRIGGER=y,BTN_THUMB2=a,BTN_THUMB=b,BTN_BASE3=back,BTN_BASE4=start,BTN_BASE=lt,BTN_BASE2=rt,\
BTN_TOP2=lb,BTN_PINKIE=rb,BTN_BASE5=tl,BTN_BASE6=tr --mimic-xpad --silent > /tmp/joystick.log &
sleep 5
i=0
while true
do
udevadm info -a -n /dev/input/event$i > /usr/share/JoystickXbox360/joystick.log
if [ ! -s "/usr/share/JoystickXbox360/joystick.log" ]; then
read -p "Porta do joystick Xbox 360 emulado não localizada... Aperte Enter para sair." erro
exit 1
fi
udevadm info -a -n /dev/input/event$i | grep -q "Microsoft X-Box 360 pad"
if [ "$?" = "0" ]; then
configuracao1="Porta do joystick Xbox 360 emulado localizada..."
cont="$[${#configuracao1} + 4]"
dialog --infobox "$configuracao1" 3 $cont
sleep 3
clear
jost1=$i
break
fi
i=$[ i + 1 ]
done
chmod 775 /dev/input/event$jost1
sleep 2
cat <<EOF > /etc/X11/xorg.conf.d/51-joystick.conf
Section "InputClass"
Identifier "joystick catchall"
MatchIsJoystick "on"
MatchDevicePath "/dev/input/event$jost"
Driver "joystick"
Option "StartKeysEnabled" "False"
Option "StartMouseEnabled" "False"
EndSection
Section "InputClass"
Identifier "joystick catchall"
MatchIsJoystick "on"
MatchDevicePath "/dev/input/event$jost1"
Driver "joystick"
Option "StartKeysEnabled" "False"
Option "StartMouseEnabled" "False"
EndSection
EOF
fi
case $xbox in
1)
cat <<EOF > /usr/share/JoystickXbox360/xboxdrv.conf
--evdev-absmap ABS_X=x1,ABS_Y=y1,ABS_RZ=y2,ABS_Z=x2,\
ABS_HAT0X=dpad_x,ABS_HAT0Y=dpad_y --axismap -Y1=Y1,-Y2=Y2 --evdev-keymap BTN_TOP=x,\
BTN_TRIGGER=y,BTN_THUMB2=a,BTN_THUMB=b,BTN_BASE3=back,BTN_BASE4=start,BTN_BASE=lt,BTN_BASE2=rt,\
BTN_TOP2=lb,BTN_PINKIE=rb,BTN_BASE5=tl,BTN_BASE6=tr --mimic-xpad --silent
EOF
break
;;
2)
cat <<EOF > /usr/share/JoystickXbox360/xboxdrv.conf
--evdev-absmap ABS_X=x1,ABS_Y=y1,ABS_RZ=y2,ABS_Z=x2,\
ABS_HAT0X=dpad_x,ABS_HAT0Y=dpad_y --axismap Y1=Y1,Y2=Y2 --evdev-keymap BTN_TOP=x,BTN_TRIGGER=y,\
BTN_THUMB2=a,BTN_THUMB=b,BTN_BASE3=back,BTN_BASE4=start,BTN_BASE=lt,BTN_BASE2=rt,BTN_TOP2=lb,\
BTN_PINKIE=rb,BTN_BASE5=tl,BTN_BASE6=tr --mimic-xpad --silent
EOF
break
;;
3)
cat <<EOF > /usr/share/JoystickXbox360/xboxdrv.conf
--evdev-absmap ABS_X=x1,ABS_Y=y1,ABS_RZ=x2,ABS_Z=y2,\
ABS_HAT0X=dpad_x,ABS_HAT0Y=dpad_y --axismap -Y1=Y1,-Y2=Y2 --evdev-keymap BTN_TOP=x,BTN_TRIGGER=y,\
BTN_THUMB2=a,BTN_THUMB=b,BTN_BASE3=back,BTN_BASE4=start,BTN_BASE=lt,BTN_BASE2=rt,BTN_TOP2=lb,\
BTN_PINKIE=rb,BTN_BASE5=tl,BTN_BASE6=tr --mimic-xpad --silent
EOF
break
;;
4)
cat <<EOF > /usr/share/JoystickXbox360/xboxdrv.conf
--evdev-absmap ABS_X=x1,ABS_Y=y1,ABS_RZ=x2,ABS_Z=y2,\
ABS_HAT0X=dpad_x,ABS_HAT0Y=dpad_y --axismap Y1=Y1,Y2=Y2 --evdev-keymap BTN_TOP=x,BTN_TRIGGER=y,\
BTN_THUMB2=a,BTN_THUMB=b,BTN_BASE3=back,BTN_BASE4=start,BTN_BASE=lt,BTN_BASE2=rt,BTN_TOP2=lb,\
BTN_PINKIE=rb,BTN_BASE5=tl,BTN_BASE6=tr --mimic-xpad --silent
EOF
break
;;
*)
echo "
Opção $xbox - inválida!
Tente novamente... ou Ctrl + C para sair
"
;;
esac
done
joystickconf="$(cat /usr/share/JoystickXbox360/xboxdrv.conf)"
fim="EOF"
cat <<EOF > /usr/share/JoystickXbox360/MudarControle.sh
#!/bin/bash
senha=\$(dialog --title "AUTORIZAÇÃO" --passwordbox "Digite a senha (SUDO):" 8 40 --stdout)
if [ -z "\$senha" ]; then
dialog --title "ERRO" --infobox "A senha (SUDO) não foi digitada." 3 40
exit 1
fi
clear
echo \$senha|sudo -S -p "" chown $SUDO_USER:$SUDO_USER /usr/share/JoystickXbox360/joystick.log
sudo pkill xboxdrv &
sudo touch /usr/share/JoystickXbox360/joystick1.log
sudo chown $SUDO_USER:$SUDO_USER /usr/share/JoystickXbox360/joystick1.log
sudo chown $SUDO_USER:$SUDO_USER /usr/share/JoystickXbox360/joystickxbox360.conf
sudo chown $SUDO_USER:$SUDO_USER /usr/share/JoystickXbox360/status.conf
sudo chown $SUDO_USER:$SUDO_USER /usr/share/JoystickXbox360/xboxdrv.conf
sleep 5
i=0
while true
do
udevadm info -a -n /dev/input/event\$i > /usr/share/JoystickXbox360/joystick.log
if [ ! -s "/usr/share/JoystickXbox360/joystick.log" ]; then
clear
read -p "Porta do joystick não localizada... Aperte Enter para sair." erro
echo -e "Joystick Xbox 360\e[31;1m falhou\e[0m..." >\
/usr/share/JoystickXbox360/joystickxbox360.conf
exit 1
fi
udevadm info -a -n /dev/input/event\$i | grep -q "Joystick"
if [ "\$?" = "0" ]; then
dialog --infobox "Porta do joystick localizada..." 3 35
echo -e "Joystick Xbox 360\e[32;1m iniciado\e[0m..." >\
/usr/share/JoystickXbox360/joystickxbox360.conf
jost=\$i
break
fi
i=\$[ i + 1 ]
done
sleep 5
clear
xbox=\$(dialog --radiolist "ESCOLHA A CONFIGURAÇÃO DESEJADA\n(SETAS PARA ESCOLHER, \
ESPAÇO PARA MUDAR\nE ENTER PARA CONFIRMAR\nCTRL + C PARA SAIR)" 15 76 4 \
"1" "PARA CONFIGURAÇÃO PADRÃO" ON \
"2" "PARA CONFIGURAÇÃO COM ANALÓGICO ESQUERDO COM SENTIDO INVERTIDO" OFF \
"3" "PARA CONFIGURAÇÃO COM ANALÓGICO DIREITO COM SENTIDO INVERTIDO" OFF \
"4" "PARA CONFIGURAÇÃO COM 2 ANALÓGICOS COM SENTIDO INVERTIDO" OFF \
--stdout)
clear
case \$xbox in
1)
cat <<$fim > /usr/share/JoystickXbox360/status.conf
configuração padrão...
$fim
cat <<$fim > /usr/share/JoystickXbox360/xboxdrv.conf
--evdev-absmap ABS_X=x1,ABS_Y=y1,ABS_RZ=y2,ABS_Z=x2,\
ABS_HAT0X=dpad_x,ABS_HAT0Y=dpad_y --axismap -Y1=Y1,-Y2=Y2 --evdev-keymap BTN_TOP=x,\
BTN_TRIGGER=y,BTN_THUMB2=a,BTN_THUMB=b,BTN_BASE3=back,BTN_BASE4=start,BTN_BASE=lt,BTN_BASE2=rt,\
BTN_TOP2=lb,BTN_PINKIE=rb,BTN_BASE5=tl,BTN_BASE6=tr --mimic-xpad --silent
$fim
;;
2)
cat <<$fim > /usr/share/JoystickXbox360/status.conf
analógico esquerdo com sentido invertido...
$fim
cat <<$fim > /usr/share/JoystickXbox360/xboxdrv.conf
--evdev-absmap ABS_X=x1,ABS_Y=y1,ABS_RZ=y2,ABS_Z=x2,\
ABS_HAT0X=dpad_x,ABS_HAT0Y=dpad_y --axismap Y1=Y1,Y2=Y2 --evdev-keymap BTN_TOP=x,BTN_TRIGGER=y,\
BTN_THUMB2=a,BTN_THUMB=b,BTN_BASE3=back,BTN_BASE4=start,BTN_BASE=lt,BTN_BASE2=rt,BTN_TOP2=lb,\
BTN_PINKIE=rb,BTN_BASE5=tl,BTN_BASE6=tr --mimic-xpad --silent
$fim
;;
3)
cat <<$fim > /usr/share/JoystickXbox360/status.conf
analógico direito com sentido invertido...
$fim
cat <<$fim > /usr/share/JoystickXbox360/xboxdrv.conf
--evdev-absmap ABS_X=x1,ABS_Y=y1,ABS_RZ=x2,ABS_Z=y2,\
ABS_HAT0X=dpad_x,ABS_HAT0Y=dpad_y --axismap -Y1=Y1,-Y2=Y2 --evdev-keymap BTN_TOP=x,BTN_TRIGGER=y,\
BTN_THUMB2=a,BTN_THUMB=b,BTN_BASE3=back,BTN_BASE4=start,BTN_BASE=lt,BTN_BASE2=rt,BTN_TOP2=lb,\
BTN_PINKIE=rb,BTN_BASE5=tl,BTN_BASE6=tr --mimic-xpad --silent
$fim
;;
4)
cat <<$fim > /usr/share/JoystickXbox360/status.conf
2 analógicos com sentido invertido...
$fim
cat <<$fim > /usr/share/JoystickXbox360/xboxdrv.conf
--evdev-absmap ABS_X=x1,ABS_Y=y1,ABS_RZ=x2,ABS_Z=y2,\
ABS_HAT0X=dpad_x,ABS_HAT0Y=dpad_y --axismap Y1=Y1,Y2=Y2 --evdev-keymap BTN_TOP=x,BTN_TRIGGER=y,\
BTN_THUMB2=a,BTN_THUMB=b,BTN_BASE3=back,BTN_BASE4=start,BTN_BASE=lt,BTN_BASE2=rt,BTN_TOP2=lb,\
BTN_PINKIE=rb,BTN_BASE5=tl,BTN_BASE6=tr --mimic-xpad --silent
$fim
;;
esac
configuracao="opção \$xbox selecionada: \$(cat /usr/share/JoystickXbox360/status.conf)"
cont="\$[\${#configuracao} + 4]"
joystickconf="\$(cat /usr/share/JoystickXbox360/xboxdrv.conf)"
clear
dialog --infobox "Configuração sendo iniciada...\n\$configuracao" 4 \$cont
sudo chmod 775 /dev/input/event\$jost
sudo xboxdrv --evdev /dev/input/event\$jost \$joystickconf > /usr/share/JoystickXbox360/joystick1.log &
sudo rm /usr/share/JoystickXbox360/joystick1.log
sleep 5
i=0
while true
do
udevadm info -a -n /dev/input/event\$i > /usr/share/JoystickXbox360/joystick.log
if [ ! -s "/usr/share/JoystickXbox360/joystick.log" ]; then
clear
read -p "Porta do joystick Xbox 360 emulado não localizada... Aperte Enter para sair." erro
echo -e "Joystick Xbox 360\e[31;1m falhou\e[0m..." >\
/usr/share/JoystickXbox360/joystickxbox360.conf
exit 1
fi
udevadm info -a -n /dev/input/event\$i | grep -q "Microsoft X-Box 360 pad"
if [ "\$?" = "0" ]; then
dialog --infobox "Porta do joystick Xbox 360 emulado localizada..." 3 52
echo -e "Joystick Xbox 360\e[32;1m iniciado\e[0m..." >\
/usr/share/JoystickXbox360/joystickxbox360.conf
jost1=\$i
break
fi
i=\$[ i + 1 ]
done
sudo chown root:root /usr/share/JoystickXbox360/joystick.log
sudo chown root:root /usr/share/JoystickXbox360/joystickxbox360.conf
sudo chown root:root /usr/share/JoystickXbox360/status.conf
sudo chown root:root /usr/share/JoystickXbox360/xboxdrv.conf
sudo chmod 775 /dev/input/event\$jost1
sleep 6
clear
sudo service joystickxbox360 status
sleep 6
clear
dialog --infobox "Teste o Joystick Xbox 360 emulado no AntiMicroX caso algum\n
dos analógicos ficar com sentido invertido,\
use o aplicativo 'Muda a configuração do joystick Xbox 360': \n
opção escolhida agora - Opção \$xbox." 6 65
sleep 20
clear
antimicrox
exit 0
EOF
cat <<EOF > /usr/share/JoystickXbox360/StartJoystick.sh
#!/bin/bash
pkill xboxdrv &
sleep 5
i=0
while true
do
udevadm info -a -n /dev/input/event\$i > /usr/share/JoystickXbox360/joystick.log
if [ ! -s "/usr/share/JoystickXbox360/joystick.log" ]; then
read -p "Porta do joystick não localizada... Aperte Enter para sair." erro
echo -e "Joystick Xbox 360\e[31;1m falhou\e[0m..." >\
/usr/share/JoystickXbox360/joystickxbox360.conf
exit 1
fi
udevadm info -a -n /dev/input/event\$i | grep -q "Joystick"
if [ "\$?" = "0" ]; then
echo -e "\nPorta do joystick localizada..."
echo -e "Joystick Xbox 360\e[32;1m reiniciado\e[0m..." >\
/usr/share/JoystickXbox360/joystickxbox360.conf
jost=\$i
break
fi
i=\$[ i + 1 ]
done
joystickconf="\$(cat /usr/share/JoystickXbox360/xboxdrv.conf)"
xboxdrv --evdev /dev/input/event\$jost \$joystickconf > /tmp/joystick.log &
sleep 5
i=0
while true
do
udevadm info -a -n /dev/input/event\$i > /usr/share/JoystickXbox360/joystick.log
if [ ! -s "/usr/share/JoystickXbox360/joystick.log" ]; then
read -p "Porta do joystick Xbox 360 emulado não localizada... Aperte Enter para sair." erro
echo -e "Joystick Xbox 360\e[31;1m falhou\e[0m..." >\
/usr/share/JoystickXbox360/joystickxbox360.conf
exit 1
fi
udevadm info -a -n /dev/input/event\$i | grep -q "Microsoft X-Box 360 pad"
if [ "\$?" = "0" ]; then
echo "Porta do joystick Xbox 360 emulado localizada..."
echo -e "Joystick Xbox 360\e[32;1m iniciado\e[0m..." >\
/usr/share/JoystickXbox360/joystickxbox360.conf
jost1=\$i
break
fi
i=\$[ i + 1 ]
done
chmod 775 /dev/input/event\$jost1
sleep 2
exit 0
EOF
cat <<EOF > /usr/share/JoystickXbox360/RStarJoystick.sh
#!/bin/bash
pkill xboxdrv &
sleep 5
i=0
while true
do
udevadm info -a -n /dev/input/event\$i > /usr/share/JoystickXbox360/joystick.log
if [ ! -s "/usr/share/JoystickXbox360/joystick.log" ]; then
read -p "Porta do joystick não localizada... Aperte Enter para sair." erro
echo -e "Joystick Xbox 360\e[31;1m falhou\e[0m..." >\
/usr/share/JoystickXbox360/joystickxbox360.conf
exit 1
fi
udevadm info -a -n /dev/input/event\$i | grep -q "Joystick"
if [ "\$?" = "0" ]; then
echo -e "\nPorta do joystick localizada..."
echo -e "Joystick Xbox 360\e[32;1m reiniciado\e[0m..." >\
/usr/share/JoystickXbox360/joystickxbox360.conf
jost=\$i
break
fi
i=\$[ i + 1 ]
done
joystickconf="\$(cat /usr/share/JoystickXbox360/xboxdrv.conf)"
xboxdrv --evdev /dev/input/event\$jost \$joystickconf > /tmp/joystick.log &
sleep 5
i=0
while true
do
udevadm info -a -n /dev/input/event\$i > /usr/share/JoystickXbox360/joystick.log
if [ ! -s "/usr/share/JoystickXbox360/joystick.log" ]; then
read -p "Porta do joystick Xbox 360 emulado não localizada... Aperte Enter para sair." erro
echo -e "Joystick Xbox 360\e[31;1m falhou\e[0m..." >\
/usr/share/JoystickXbox360/joystickxbox360.conf
exit 1
fi
udevadm info -a -n /dev/input/event\$i | grep -q "Microsoft X-Box 360 pad"
if [ "\$?" = "0" ]; then
echo "Porta do joystick Xbox 360 emulado localizada..."
echo -e "Joystick Xbox 360\e[32;1m reiniciado\e[0m..." >\
/usr/share/JoystickXbox360/joystickxbox360.conf
jost1=\$i
break
fi
i=\$[ i + 1 ]
done
chmod 775 /dev/input/event\$jost1
echo -e "\e[31;1mAGUARDE...\e[0m"
sleep 60
exit 0
EOF
if [ -d "/usr/share/pixmaps/JoystickXbox360" ]; then
configuracao1="O diretório para os icones já existe..."
cont="$[${#configuracao1} + 4]"
dialog --infobox "$configuracao1" 3 $cont
sleep 3
clear
else
configuracao1="O diretório para os icones será criado..."
cont="$[${#configuracao1} + 4]"
dialog --infobox "$configuracao1" 3 $cont
sleep 3
clear
mkdir /usr/share/pixmaps/JoystickXbox360
cat <<EOF > /usr/share/JoystickXbox360/xbox360
https://raw.githubusercontent.com/marxfcmonte/Instalador-do-emulador-de-\
joystick-Xbox-em-joystick-generico-de-PC-PS2-PS3-Debian-e-Derivados-antix-\
/refs/heads/main/Icones/xbox360.png
https://raw.githubusercontent.com/marxfcmonte/Instalador-do-emulador-de-\
joystick-Xbox-em-joystick-generico-de-PC-PS2-PS3-Debian-e-Derivados-antix-\
/refs/heads/main/Icones/xbox360preto.png
EOF
wget -i /usr/share/JoystickXbox360/xbox360 -P /tmp/
mv /tmp/xbox360.png /usr/share/pixmaps/JoystickXbox360
mv /tmp/xbox360preto.png /usr/share/pixmaps/JoystickXbox360
fi
cat <<EOF > /usr/share/JoystickXbox360/StopJoystick.sh
#!/bin/bash
pkill xboxdrv &
sleep 2
exit 0
EOF
cat <<EOF > /usr/share/applications/MudarControle.desktop
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Name=Muda a configuração do joystick Xbox 360
Name[pt_BR]=Muda a configuração do joystick Xbox 360
Exec=roxterm -e "bash -c /usr/share/JoystickXbox360/MudarControle.sh"
Terminal=false
StartupNotify=true
Comment=Muda a configuração do joystick Xbox 360
Comment[pt_BR]=Muda a configuração do joystick Xbox 360
Categories=GTK;System;
Keywords=joystick;calibration;
Keywords[pt_BR]=joystick;calibration;
GenericName=Restart joystick Xbox 360
GenericName[pt_BR]=Restart do joystick Xbox 360
Icon=/usr/share/pixmaps/JoystickXbox360/xbox360.png
EOF
cat <<EOF > /usr/share/applications/RStarJoystick.desktop
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Name=Restart do joystick Xbox 360
Name[pt_BR]=Restart do joystick Xbox 360
Exec=roxterm -e "sudo service joystickxbox360 restart"
Terminal=false
StartupNotify=true
Comment=Reinicia o joystick Xbox 360
Comment[pt_BR]=Reinicia o joystick Xbox 360
Categories=GTK;System;
Keywords=joystick;calibration;
Keywords[pt_BR]=joystick;calibration;
GenericName=Restart joystick Xbox 360
GenericName[pt_BR]=Restart do joystick Xbox 360
Icon=/usr/share/pixmaps/JoystickXbox360/xbox360.png
EOF
cat <<EOF > /usr/share/applications/StopJoystick.desktop
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Name=Finaliza o joystick Xbox 360
Name[pt_BR]=Finaliza o joystick Xbox 360
Exec=roxterm -e "sudo service joystickxbox360 stop"
Terminal=false
StartupNotify=true
Comment=Finaliza o joystick Xbox 360
Comment[pt_BR]=Finaliza o joystick Xbox 360
Categories=GTK;System;
Keywords=joystick;calibration;
Keywords[pt_BR]=joystick;calibration;
GenericName=Restart do joystick Xbox 360
GenericName[pt_BR]=Restart do joystick Xbox 360
Icon=/usr/share/pixmaps/JoystickXbox360/xbox360preto.png
EOF
cp /usr/share/applications/MudarControle.desktop /home/$SUDO_USER/Desktop
cp /usr/share/applications/RStarJoystick.desktop /home/$SUDO_USER/Desktop
cp /usr/share/applications/StopJoystick.desktop /home/$SUDO_USER/Desktop
configuracao1="Os atalhos na Àrea de trabalho foram criados..."
cont="$[${#configuracao1} + 4]"
dialog --infobox "$configuracao1" 3 $cont
sleep 3
clear
chmod +x /usr/share/JoystickXbox360/*.sh /usr/share/applications/*.desktop
chmod 775 /home/$SUDO_USER/Desktop/*.desktop
chown $SUDO_USER:$SUDO_USER /home/$SUDO_USER/Desktop/*.desktop
cat <<EOF > /etc/init.d/joystickxbox360
#!/bin/sh
### BEGIN INIT INFO
# Provides: joystickxbox360
# Required-Start: $null
# Required-Stop: $null
# Should-Start: $null
# Should-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Emulação de joystick Xbox 360
# Description: Emulação de joystick Xbox 360
#
### END INIT INFO
. /lib/lsb/init-functions
case "\$1" in
start)
sleep 3
/usr/share/JoystickXbox360/StartJoystick.sh
;;
stop)
/usr/share/JoystickXbox360/StopJoystick.sh
;;
restart)
/usr/share/JoystickXbox360/RStarJoystick.sh
;;
status)
cat /usr/share/JoystickXbox360/joystickxbox360.conf
;;
esac
exit 0
EOF
chmod +x /etc/init.d/joystickxbox360
update-rc.d joystickxbox360 defaults
cat /etc/sudoers | grep -q "$SUDO_USER ALL=NOPASSWD: /etc/init.d/joystickxbox360"
if [ "$?" = "1" ]; then
configuracao1="As configurações serão atualizadas..."
cont="$[${#configuracao1} + 4]"
dialog --infobox "$configuracao1" 3 $cont
sleep 3
clear
sed '/^$/d' /etc/sudoers > /tmp/temp.conf && mv /tmp/temp.conf /etc/sudoers
echo "$SUDO_USER ALL=NOPASSWD: /etc/init.d/joystickxbox360" >> /etc/sudoers
else
configuracao1="As configurações estão atualizadas..."
cont="$[${#configuracao1} + 4]"
dialog --infobox "$configuracao1" 3 $cont
sleep 3
clear
fi
desktop-menu --write-out-global
configuracao1="Testanto o serviço Joystickxbox360"
cont="$[${#configuracao1} + 4]"
dialog --infobox "$configuracao1" 3 $cont
sleep 3
clear
service joystickxbox360 start
service joystickxbox360 status
sleep 6
clear
dialog --infobox "Teste o Joystick Xbox 360 emulado no AntiMicroX caso algum\n
dos analógicos ficar com sentido invertido,\
use o aplicativo 'Muda a configuração do joystick Xbox 360': \n
opção escolhida agora - Opção $xbox." 6 65
sleep 6
clear
antimicrox
;;
2)
if [ -d "/usr/share/JoystickXbox360" ]; then
configuracao1="O diretório JoystickXbox360 será removido..."
cont="$[${#configuracao1} + 4]"
dialog --infobox "$configuracao1" 3 $cont
sleep 3
clear
service joystickxbox360 stop
update-rc.d joystickxbox360 remove
rm -rf /usr/share/JoystickXbox360
rm /etc/init.d/joystickxbox360
else
configuracao1="O diretório JoystickXbox360 não encontrado..."
cont="$[${#configuracao1} + 4]"
dialog --infobox "$configuracao1" 3 $cont
sleep 3
clear
fi
if [ -d "/usr/share/pixmaps/JoystickXbox360" ]; then
configuracao1="O diretório ../pixmaps/JoystickXbox360 será removido..."
cont="$[${#configuracao1} + 4]"
dialog --infobox "$configuracao1" 3 $cont
sleep 3
clear
rm -rf /usr/share/pixmaps/JoystickXbox360
else
configuracao1="O diretório ../pixmaps/JoystickXbox360 não encontrado..."
cont="$[${#configuracao1} + 4]"
dialog --infobox "$configuracao1" 3 $cont
sleep 3
clear
fi
if [ -e "/etc/X11/xorg.conf.d/51-joystick.conf" ]; then
configuracao1="O arquivo 51-joystick.conf será removido..."
cont="$[${#configuracao1} + 4]"
dialog --infobox "$configuracao1" 3 $cont
sleep 3
clear
rm /etc/X11/xorg.conf.d/51-joystick.conf
else
configuracao1="O arquivo 51-joystick.conf não encontrado..."
cont="$[${#configuracao1} + 4]"
dialog --infobox "$configuracao1" 3 $cont
sleep 3
clear
fi
if [ -e "/usr/share/applications/RStarJoystick.desktop" ]; then
configuracao1="O arquivo ../applications/RStarJoystick.desktop será removido..."
cont="$[${#configuracao1} + 4]"
dialog --infobox "$configuracao1" 3 $cont
sleep 3
clear
rm /usr/share/applications/RStarJoystick.desktop
else
configuracao1="O arquivo ../applications/RStarJoystick.desktop não encontrado..."
cont="$[${#configuracao1} + 4]"
dialog --infobox "$configuracao1" 3 $cont
sleep 3
clear
fi
if [ -e "/usr/share/applications/MudarControle.desktop" ]; then
configuracao1="O arquivo ../applications/MudarControle.desktop será removido..."
cont="$[${#configuracao1} + 4]"
dialog --infobox "$configuracao1" 3 $cont
sleep 3
clear
rm /usr/share/applications/MudarControle.desktop
else
configuracao1="O arquivo ../applications/MudarControle.desktop não encontrado..."
cont="$[${#configuracao1} + 4]"
dialog --infobox "$configuracao1" 3 $cont
sleep 3
clear
fi
if [ -e "/usr/share/applications/StopJoystick.desktop" ]; then
configuracao1="O arquivo ../applications/StopJoystick.desktop será removido..."
cont="$[${#configuracao1} + 4]"
dialog --infobox "$configuracao1" 3 $cont
sleep 3
clear
rm /usr/share/applications/StopJoystick.desktop
else
configuracao1="O arquivo ../applications/StopJoystick.desktop não encontrado..."
cont="$[${#configuracao1} + 4]"
dialog --infobox "$configuracao1" 3 $cont
sleep 3
clear
fi
if [ -e "/home/$SUDO_USER/Desktop/RStarJoystick.desktop" ]; then
configuracao1="O arquivo ../Desktop/RStarJoystick.desktop será removido..."
cont="$[${#configuracao1} + 4]"
dialog --infobox "$configuracao1" 3 $cont
sleep 3
clear
rm /home/$SUDO_USER/Desktop/RStarJoystick.desktop
else
configuracao1="O arquivo ../Desktop/RStarJoystick.desktop não encontrado..."
cont="$[${#configuracao1} + 4]"
dialog --infobox "$configuracao1" 3 $cont
sleep 3
clear
fi
if [ -e "/home/$SUDO_USER/Desktop/StopJoystick.desktop" ]; then
configuracao1="O arquivo ../Desktop/StopJoystick.desktop será removido..."
cont="$[${#configuracao1} + 4]"
dialog --infobox "$configuracao1" 3 $cont
sleep 3
clear
rm /home/$SUDO_USER/Desktop/StopJoystick.desktop
else
configuracao1="O arquivo ../Desktop/StopJoystick.desktop não encontrado..."
cont="$[${#configuracao1} + 4]"
dialog --infobox "$configuracao1" 3 $cont
sleep 3
clear
fi
if [ -e "/home/$SUDO_USER/Desktop/MudarControle.desktop" ]; then
configuracao1="O arquivo ../Desktop/MudarControle.desktop será removido..."
cont="$[${#configuracao1} + 4]"
dialog --infobox "$configuracao1" 3 $cont
sleep 3
clear
rm /home/$SUDO_USER/Desktop/MudarControle.desktop
else
configuracao1="O arquivo ../Desktop/MudarControle.desktop não encontrado..."
cont="$[${#configuracao1} + 4]"
dialog --infobox "$configuracao1" 3 $cont
sleep 3
clear
fi
cat /etc/sudoers | grep -q "$SUDO_USER ALL=NOPASSWD: /etc/init.d/joystickxbox360"
if [ "$?" = "1" ]; then
configuracao1="Configuração não encontrada.."
cont="$[${#configuracao1} + 4]"
dialog --infobox "$configuracao1" 3 $cont
sleep 3
clear
else
configuracao1="A configuração será deletada..."
cont="$[${#configuracao1} + 4]"
dialog --infobox "$configuracao1" 3 $cont
sleep 3
clear
awk -F "$SUDO_USER ALL=NOPASSWD: /etc/init.d/joystickxbox360" '{print $1}' /etc/sudoers > /tmp/temp.conf
mv /tmp/temp.conf /etc/sudoers
configuracao1="Os arquivos foram removidos..."
cont="$[${#configuracao1} + 4]"
dialog --infobox "$configuracao1" 3 $cont
sleep 3
clear
apt remove -y xboxdrv antimicro
apt autoremove -y
fi
;;
3)
configuracao1="Saindo do instalador..."
cont="$[${#configuracao1} + 4]"
dialog --infobox "$configuracao1" 3 $cont
sleep 3
clear
;;
esac
exit 0
Criação de servidores de arquivos simples com Samba
Realizar backup automático no HD externo
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Script de montagem de chroot automatica
Atualizar Linux Mint 22.2 para 22.3 beta
Jogar games da Battle.net no Linux com Faugus Launcher
Como fazer a Instalação de aplicativos para acesso remoto ao Linux









