Ayer me encontraba bastante aburrido (las vacaciones misteriosamente siempre arrancan asi...) sin nada que hacer por la tarde (mi ISP estaba en hora pico asi que ni modo de entrar
Flyff). Por esas cosas locas del destino terminé en Ubuntu. Buscando que hacer me acordé que hace poco había instalado el Zsnes y estaba jugando Actraiser. Me dispuse a jugar y vi mi control de Ps2 al lado y pense
"...que bueno sería poder jugar con mi control. Mmm, ¡que hijuemadres! montemoslo...". Tarde de desparche productiva diría yo...
En fin lo primero que hice fue buscar el driver correspondiente. Para aquellos que no lo saben un driver es, citando la definición de
wikipedia, "
un tipo específico de software, desarrollado para permitir la interacción con dispositivos físicos". Cual es mi sorpresa cuando me doy cuenta que no necesito bajar nada... EL SISTEMA OPERATIVO YA LO TRAE!!! d(o.0)b ZOMG.
Algunos dirán
"viejo eso no tiene nada de raro... windows también incluye colección de drivers para gamepads y joysticks...", y pues tienen razón: windows incluye una colección de drivers de gamepads y joysticks
suministrados por el fabricante. El driver que necesitamos en este caso es uno que permita interactuar con un dispositivo que, en nuestro caso, no esta diseñado para el PC (llámese control de Snes, N64, Psx, ...).
En fin lo primero se hace es crear el nodo del dispositivo, asi que nos vamos al directorio dev y creamos un directorio nuevo, input; luego el dispositivo; y finalmente el enlance a él:
cd /dev
mkdir input
mknod input/js0 c 13 0
ln -s input/js0 js0
Ahora instalamos el módulo (driver). Antes de hacerlo hay que revisar que el módulo
lp no se encuentre instalado; y que los módulos
parport y
parport_pc si. Utilizamos el comando
lsmod para listar los módulos que se encuentran instalados en el sistema.
En caso de que
lp se encuentre instalado procedemos a desinstalarlo utilizando el comando
rmmod nombredelmodulo, es decir
rmmod lp. Una vez verificado lo anterior procedemos a intalar el módulo
gamecon.
Gamecon es un módulo que requiere de ciertos parámetros, parámetros que hay que entregarle en el momento de la instalación. Estos paŕametros son el puerto paralelo en donde se encuentra conectado el control (debe de estar conectado antes de realizar la instalación del módulo), y el tipo de control conectado a la interfaz. Los tipos son nulo (o ninguno), Snes, Nes, Joystick multiplataforma de un botón, Joystick multiplataforma de dos botones, N64 y Psx(autoconfigurado para análogo o digital); y sus identificadores son 0, 1 ,2, 3, 4, 5, 6 y 7 respectivamente.
La sintáxis es la siguiente (utilizando el comando
insmod o
modprobe):
insmod gamecon map = PuertoParalelo, tipoDeControl. En mi caso nuestro caso sería algo como
modprobe gamecon map=0,7. 0 porque es el primer puerto paralelo, y 7 porque es un control de Psx. Para probar que el control esta conectado se pueden utilizar aplicaciones como
jstest (para probar que el gamepad quedo bien montado) y
jscal para calibar el gamepad.
En fin si esto no es suficientemente ilustrativo o tienen dudas al respecto pueden consultar
aquí. Si lo que pasa es su distribución no dispone del módulo, pueden bajarse el fuente de
aquí (para kernels mayores a la versión 2.16.x, y fijense la arquitectura para la cual lo van a bajar).
Lo que soy yo tengo un
Batman Returns que jugar y el control me esta llamando... nos vemos luego
tan bonito ver mknod c 13 0 y saber que significa :D