Como conectar el Wiimote en Linux

jueves, junio 19, 2014 Publicado por: Oscar Meza


Si eres amante de los video juegos y tienes un Nintendo Wii, talvez quieras darle a sus controles un uso adicional en Linux. En este post muestro como conectar el control Wiimote de Nintendo Wii a tu PC Linux

¿Para que servirá esto?

Pues para conectarlo como control de juegos y utilizarlo por ejemplo para nuestros juegos retro como con algún emulador de Nintendo.


Para esto necesitamos tener una interfaz bluetooth, si tu pc es nueva muy probablemente ya tenga incluida una interfaz Bluetooth, de lo contrario puedes comprar una tarjeta Bluetooth USB que son relativamente baratas ($10.00 aproximadamente).

Lo primero que hacemos es escanear el entorno y ver que detectamos correctamente nuestro Wiimote.

# hcitool scan

Si obtienes el mensaje "Device is not available: No such device" quiere decir que la interfaz bluetooth aún no esta habilitada, para habilitarla ejecutamos el siguiente comando.

# hciconfig hci0 up

Ahora si volvemos a ejecutar el comando "hcitool scan" veremos un mensaje como el siguiente.

Scanning...

En este momento debemos presionar los botones "1" y "2" del Wiimote al mismo tiempo para que nuestro escaneo lo descubra, cuando este sea correctamente detectado aparecerá un mensaje como el siguiente.

00:19:1D:2A:3C:AA       Nintendo RVL-CNT-01

Como puede ver ya detecto el Wiimote correctamente, ahora para utilizarlo necetimos instalar el driver y una interfaz para configurarlo y usarlo, para esto vamos a la siguiente url.


Podrás ver que hay paquetes para ArchLinux, Debian y Gentoo, si usas Slackware como tu servidor puedes bajar el paquete en Slackbuilds.

Despues de instalarlo hay que configurar los botones, los archivos de configuración de Cwiid estan en "/etc/cwiid/wminput", en este caso, el archivo que nos interesa es el archivo "buttons", para hacerte la vida más facil te comparto la configuración del que tengo funcionando actualmente.

#buttons

Wiimote.A               = KEY_S
Wiimote.B               = KEY_A
Wiimote.Up              = KEY_UP
Wiimote.Down    = KEY_DOWN
Wiimote.Left    = KEY_LEFT
Wiimote.Right   = KEY_RIGHT
Wiimote.Minus   = KEY_BACK
Wiimote.Plus    = KEY_FORWARD
Wiimote.Home    = KEY_HOME
Wiimote.1               = KEY_Z
Wiimote.2               = KEY_X

Nunchuk.C               = BTN_LEFT
Nunchuk.Z               = BTN_RIGHT

Classic.Up              = KEY_UP
Classic.Down    = KEY_DOWN
Classic.Left    = KEY_LEFT
Classic.Right   = KEY_RIGHT
Classic.Minus   = KEY_BACK
Classic.Plus    = KEY_FORWARD
Classic.Home    = KEY_HOME
Classic.A               = BTN_LEFT
Classic.B               = BTN_RIGHT
#Classic.X              =
#Classic.Y              =
#Classic.ZL             =
#Classic.ZR             =
#Classic.L              =
#Classic.R              =


La columna de la izquierada muestra los botones del Wiimote y a su derecha estan las teclas de nuestro teclado con el que lo queremos asociar, por ejemplo: el boton "A" del Wiimote lo estoy aociando con la tecla "S" del teclado de mi PC, puede ser cualquier tecla, esto al final lo configuraremos en nuestro emulador como siempre lo hacemos como si el Wiimote fuera el teclado, es decir presionaremos el boton "A" y el emulador lo reconocerá como si estuvieramos presioando en este caso la tecla "S" de nuestro teclado.

Si ya modificaste el archivo "buttons" ahora solo resta conectar el Wiimote, para esto utilizamos el siguiente comando que carga la configuración de los botones del archivo que acabamos de modificar.

# wminput -c /etc/cwiid/wminput/buttons
Put Wiimote in discoverable mode now (press 1+2)...

Inmediatamente presionamos los botenos "1" y "2" del Wiimote para que lo descubra  y se conecte, luego de hacerlo debemos ver el siguiente mensaje que nos informa que el control esta correctamente conectado.

Ready.

Dejamos la pantalla de terminal con esta conexión abierta, y ahora podemos abrir nuestro emulador favorito y jugar utilizando nuestro Wiimote como control!

0 comentarios: