Script ligar/desligar xbox gamepad
Uma pesquisa pela net deparai-me com a informação, que o xbox gamepad (modelo com bluetooth) só funciona no Ubuntu 20.04LTS com o comando:
O problema e que os outros dispositivos bluetooth deixam de funcionar enquanto essa opção está habilitada. E para reverter uso o mesmo comando mas com "echo 0". mas causa sempre problemas que só resolvem com o restart do serviço bluetooth etc...
Por isso resolvi criar este script para agilizar o processo. tenho na pasta bin dentro de home/USER assim executa em qualquer parte do terminal.
#!/bin/bash
#Este script ativa e desativa o ertm para xbox gamepad funcionar.
#O ertm causa instabilidade com outros dispositivos com bluetooth. Por isso ligar o ertm apenas quando precisar do xbox gamepad.
#Para este script funcionar primeiro deve emparelhar o xbox gamepad no ubuntu.
#Testado no ubuntu 18.04.3LTS
#tuxmind.blogspot.com
#João Sousa 2019
get_status()
{
ERTM=`cat /sys/module/bluetooth/parameters/disable_ertm`
if [ "$ERTM" = "Y" ]; then
echo "[ ON ] ertm ativado para xbox gamepad"
elif [ "$ERTM" = "N" ]; then
echo "[ OFF ] ertm desativado para xbox gamepad"
fi
}
liga_gamepad()
{
sudo rfkill block bluetooth &&
echo "[ OK ] a desligar bluetooth..." &&
echo 1 | sudo tee /sys/module/bluetooth/parameters/disable_ertm &&
echo "[ OK ] a ativar ertm..." &&
sudo systemctl stop bluetooth.service &&
echo "[ OK ] desativando serviço o bluetooth..." &&
sudo modprobe -r btusb &&
echo "[ OK ] removendo o modulo bluetooth btusb..." &&
sudo modprobe btusb &&
echo "[ OK ] adicionando o modulo bluetooth btusb..." &&
sudo systemctl start bluetooth.service &&
echo "[ OK ] ativando serviço o bluetooth..." &&
sudo rfkill unblock bluetooth &&
echo "[ OK ] a ligar bluetooth..." &&
echo "[ OK ] xbox game pad on!" ||
echo "[ ERRO ] script falhou"
}
desliga_gamepad()
{
sudo rfkill block bluetooth &&
echo "[ OK ] a desligar bluetooth..." &&
echo 0 | sudo tee /sys/module/bluetooth/parameters/disable_ertm &&
echo "[ OK ] a remover ertm..." &&
sudo systemctl stop bluetooth.service &&
echo "[ OK ] desativando serviço o bluetooth..." &&
sudo modprobe -r btusb &&
echo "[ OK ] removendo o modulo bluetooth btusb..." &&
sudo modprobe btusb &&
echo "[ OK ] adicionando o modulo bluetooth btusb..." &&
sudo systemctl start bluetooth.service &&
echo "[ OK ] ativando serviço o bluetooth..." &&
echo "[ OK ] xbox game pad off!" ||
echo "[ ERRO ] script falhou a desligar xbox gamepad"
}
case "$1" in
"on")
echo "a ligar gamepad..."
liga_gamepad
;;
"off")
echo "a desligar gamepad..."
desliga_gamepad
;;
"status")
get_status
;;
*)
echo "Erro. Parametros possíveis: <on> <off> <status>"
;;
esac
exit
A utilização é muito simples, e só tem 3 parâmetros possiveis
status on off
Tags:
Nenhum comentário:
Postar um comentário