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.251 ]
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
Filtrando trabalhos de impressão...
Converter arquivos .tif para .pdf
Correção Bug Kurumin/Som on-boad
Compilando o apache2.2 com php5 e mysql5.1 no slackware
Detecta e bloqueia tentativa de acesso ao SSH
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
Warcraft II Remastered no Linux? (7)
O programa assinador digital (5)









