Usando un Wiimote para controlar ubuntu…

En mi caso uso Linux Mint, que es un Ubuntu chuleado, eso por que soy un huevón a la hora de instalar codecs de audio y video.

El caso es que compré un Wii y el otro día se me ocurrió utilizar el wiimote (el control del wii) para controlar la máquina usando el bluetooth. Me dí a la tarea de buscar las herramientas necesarias y logré utilizar el wiimote para controlar el mouse y algunos botones de la pc para controlar la computadora, simplemente vinculando los botones del wii a una tecla.

Lo que hice fué lo siguiente:

Descargué CWiiD que es un proyecto que sirve como interfaz para controlar el Wiimote usando Ubuntu

https://help.ubuntu.com/community/CWiiD

Solamente basta una línea para agregar el soporte para el wiimote (apartir de Karmic 9.10)

$ sudo apt-get install libcwiid1 lswm wmgui wminput

Cuando la instalación finalizó, solamente probé que el control fuera reconocido correctamente usando wmgui que es una interfaz gráfica que nos muestra que botones estamos utilizando:

$ wmgui

Si se lee bien la documentación de CWiiD en la documentación de ubuntu verán que existen archivos de configuraciones que se pueden modificar para vincular los botones del wiimote a las teclas del mouse o del teclado. Inclusive pueden usar el wiimote como mouse con el siguiente comando:

$ lswm

Lo siguiente que se me ocurrió es utilizar el wiimote para controlar el VLC, que es el reproductor que yo normalmente utilizo, así que buscando un poco me encontré con un proyecto llamado WiiCan, este proyecto es realmente (como ellos lo describen) un ícono en la barra de tareas para manipular configuraciones para el wiimote. Agregamos el repositorio a nuestros sources e instalamos el paquete. Una vez instalado wiican, podemos iniciar el programa desde la terminal con

$ wiican

o desde el menú principal, (Menu -> Accesorios -> Wiican), por defecto veremos dos configuraciones (haciendo click derecho sobre el ícono y dando click en el menú Preferences) Mouse y Nerveball, lo que estas configuraciones hacen es vincular un botón del Wiimote con una tecla o un botón del mouse, así que podemos copiar cualquiera de estas, en una nueva configuración, posteriormente podemos vincular los botones. Por ejemplo, tomando la configuración del mouse, haciendo click en el botón “Edit” veremos algo como esto:

Wiimote.A        = BTN_LEFT
Wiimote.B        = BTN_RIGHT

El botón A del wiimote está vinculado al botón izquierdo del mouse, es decir que cuando se de click al botón del wiimote se recibirá como un botonazo izquierdo del mouse. A partir de esto nosotros podemos definir que botón se interpretará tomando como guía esta página, que nos muestra los botones definidos en el kernel. Entonces, si nosotros quisieramos vincular el botón A del wiimote para que en lugar del botón izquierdo del mouse se recibiera como la tecla ENTER, cambiaría lo siguiente (línea 136 de input.h):

Wiimote.A        = KEY_ENTER
Wiimote.B        = BTN_RIGHT

Así podemos definir la cantidad de teclas como botones del wiimote o del nunchuk tengamos, si queremos saber que botones tenemos disponibles para vincular ya sea en el wiimote o en el nunchuk podemos hacer click sobre cualquier configuración, posteriormente EDIT y allí se encuentra una liga (wminput help) que nos muestra los botones de los cuales disponemos. Una vez que definamos un perfil a nuestro gusto, simplemente guardamos y lo seleccionamos en la aplicación haciendo click sobre el ícono del wiimote y posteriormente seleccionando la configuración que acabamos de crear, con esto el programa nos indicará que debemos presionar las teclas 1 y 2 del wiimote simultaneamente para conectar el wiimote con la máquina. Si todo sale bien podemos comenzar a apretar los botones del wiimote a lo loco y veremos reflejados los cambios que definimos inmediatamente en la PC, si el programa se queda congelado esto quiere decir que algún nombre de variable en nuestro archivo está mal escrito así que debemos revisar cuidadosamente la configuración que escribimos.