loading...

Tuxmind

Script ligar/desligar xbox gamepad

quarta-feira, 11 de novembro de 2020
Tuxmind

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:

echo 1 | sudo tee /sys/module/bluetooth/parameters/disable_ertm

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:

bluetooth

Nenhum comentário: