Usando Wiimote como mouse sem fio no Ubuntu
O Nintendo wiimote é realmente uma peça única para interagir com o desktop: você pode usar ele como um mouse sem fio para apresentações, como um gamepad clássico para videogames ou ainda como uma pistola (também conhecida como lightgun ou zapper) para emuladores 8-bits
(como o retroarch
).
Vamos então instalar umas bibliotecas e fazer algumas configurações adicionais para fazê-lo funcionar como um mouse sem fio.
Instalando do Repositório (Ubuntu 16.04, Retropie, Debian)
Se você está usando o Retropie, Debian ou Ubuntu 16.04 (primeira versão, isto é, não está usando HWE), basta instalar o pacote xserver-xorg-input-xwiimote
padrão:
sudo apt install xserver-xorg-input-xwiimote
Instalando via PPA (Ubuntu 16.04.1 ou superior)
Se você está usando o Ubuntu 16.04.1 ou superior (ou seja, usando HWE), o pacote padrão do sistema não vai funcionar, e ao tentar instalá-lo você vai ver o seguinte erro:
The following packages have unmet dependencies:
xserver-xorg-input-xwiimote : Depends: xorg-input-abi-22
Depends: xserver-xorg-core (>= 2:1.17.99.902)
Eu reportei um bug e também criei uma versão atualizada do pacote.
Instale desse modo:
sudo apt-add-repository -y ppa:rael-gc/utils
sudo apt update
sudo apt install xserver-xorg-input-xwiimote
Alternativa: Build manual
Não é necessário seguir estes passos para o build manual se você está usando o pacote do sistema ou do PPA. Nesse caso, vá direto para Configurações adicionais.
Requisitos para o Build
Instale estes pacotes no Retropie, Debian ou Ubuntu 16.04:
sudo apt install xutils-dev xserver-xorg-dev libxwiimote-dev
Se você estiver usando Ubuntu 16.04.1 (ou superior), instale com:
sudo apt install xutils-dev xserver-xorg-dev-hwe-16.0 libxwiimote-dev
Então abra um novo terminal ou faça logout/login.
Baixando os fontes
Faça um git clone
ou baixe manualmente (e extraia) daqui: https://github.com/dvdhrm/xf86-input-xwiimote
Build
cd xf86-input-xwiimote
./autogen.sh
./configure
make
Install
sudo make install
sudo cp 60-xorg-xwiimote.conf /usr/share/X11/xorg.conf.d/
Configurações adicionais
O arquivo de configuração para o xf86-input-xwiimote
é o arquivo /usr/share/X11/xorg.conf.d/60-xorg-xwiimote.conf
.
Se você está usando o pacote do sistema ou do PPA (ou seja, não gerou manualmente o programa), esse arquivo vai ser sobreescrito toda vez que o pacote for atualizado. Uma idéia é criar uma cópia do arquivo em /usr/share/X11/xorg.conf.d/61-xorg-xwiimote.conf
e usar ela para evitar a sobreescrita pelo sistema.
Habilitando IR
Claro, habilite o IR somente se você tiver uma sensor bar USB.
Edite o arquivo de configuração e adicione na seção “Nintendo Wii Remote”:
Option "MotionSource" "ir"
Habilitando clicks do mouse
Por padrão, ao usar o botão A
do wiimote, ele irá reproduzir a tecla Enter
pressionada.
Para mudar isso, edite o arquivo de configuração e adicione na seção “Nintendo Wii Remote”:
Option "MapIRA" "left-button"
Option "MapIRB" "right-button"
Imitando um controle 8bitdo Zero no modo teclado
Edite o arquivo de configuração e adicione na seção “Nintendo Wii Remote”:
Option "MapOne" "KEY_G"
Option "MapRight" "KEY_J"
Option "MapLeft" "KEY_D"
Option "MapRight" "KEY_C"
Option "MapUp" "KEY_E"
Option "MapDown" "KEY_F"
Option "MapPlus" "KEY_O"
Option "MapMinus" "KEY_N"
Option "MapHome" "KEY_ESC"
Reinicie o X.org
Você precisa reiniciar o X.org para que todas as configurações tenham efeito. Geralmente, no Ubuntu, reiniciar a sessão (fazer logout e login novamente) resolve.
Pareie o wiimote
Claro, se você ainda não fez o pareamento com o wiimote, faça usando o botão de sincronia vermelho (que fica no compartimento de pilhas).
Leia o manual
Sério, o manual do xf86-input-xwiimote
é muito bom! Dê uma olhada se você precisa de alguma configuração diferente:
man xf86-input-xwiimote