Haciendo funcionar el Gamepad en Linux (y dos)

Estaba aburrido esta tarde y me he animado a echar algunas partidas a algún jueguecillo de esos que ya no se hacen, con el emulador adecuado. Ya que me pongo, mejor tener una experiencia completa y usar el gamepad, que para eso lo tengo :).

Mi gamepad
Mi gamepad económico ;)

Pues no ha sido tan fácil, porque mis cacharreos con estos dispositivos fueron hace tiempo y con el kernel de Linux de la rama 2.4, y no hay mucha documentación sobre el tema :(. Ahora se trabaja con la rama 2.6 y hay algunos cambios, siendo el más significativo la entrada de los drivers ALSA para el sonido, mucho más modernos que los que se usaban antes.

Este cambio es importante, porque recordemos que mi joystick es un gamepad (3 ejes y 4 botones), que funciona a través de mi tarjeta Sound Blaster PCI, que tiene gameport, así que el cambio en el driver nos afecta directamente.

Todo lo que describía en el documento anterior tiene validez, solo cambia qué ficheros de configuración hay que tocar y qué parámetros hay que pasar al driver de ALSA.

Los módulos que hay que cargar con modprobe no cambian, aunque en la página de ALSA nos puede despistar que digan que sus drivers no dan soporte para los joysticks. En realidad esto ya ocurría antes, por lo que hay que indicar en /etc/modules que se carguen los siguientes módulos para que trabajen con el de la tarjeta de sonido (que se carga automáticamente por udev):

# soporte para el gamepad vía gameport
gameport
joydev
analog

El siguiente paso sí es diferente, y puede variar dependiendo de la distribución (no lo sé). En Ubuntu editamos /etc/modprobe.d/alsa-base:

options snd_ens1371 joystick_port=1

En los drivers de ALSA, los nombres de los módulos tienen la forma snd_*, donde he marcado en negrita el nombre de mi tarjeta, o más bien el nombre del módulo que la gestiona. Esto puede cambiar en otros dispositivos, para eso recomiendo leer la documentación que vienen con el fuente del kernel (joystick.txt). Una vez indicamos que active el soporte para el joystick, todo funcionará perfectamente.

Reiniciamos, porque el módulo de ALSA está en memoria y puede ser complicado descargarlo porque estará en uso, y comprobamos el soporte:

$ dmesg | grep -i joy
[17179594.976000] input: Analog 3-axis 4-button joystick as /class/input/input3
ZSNES con FIFA 97
El emulador detecta el dispositivo correctamente, ¡a por el FIFA '97!

Ahora solo queda jugar :). En el caso de zsnes los joysticks se gestionan como el teclado, y tendremos que configurar qué hace cada botón, incluyendo el pad.



Publicidad

Aviso: Los siguientes comentarios pertenecen a las personas que los han enviado.
El administrador de este sitio web no es responsable de los mismos.

[comentarios] Hay 8 comentarios:

Gravatar
27/08/2006 21:50:38
Paso a paso...
por r0sk (IP: 213.60.85.*)
Comentario de r0sk
Ahora solo te falta un emulador de GameCube, el juego de fútbol del Mario y mucha, mucha práctica. Para el próximo torneo seguro que vienes más entrenado ;).
Gravatar
27/08/2006 22:01:57
Juas!
por Ed (IP: 82.159.48.*)
Comentario de Ed
Curiosa coincidencia... tengo la misma marca de gamepad aunque creo que mi modelo es un poco anterior (o inferior) :D Casi me entran ganas de desempolvarlo y a ver si lo hago funcionar en linux (aunque mi conex es por la placa base)

Salu2! y enhorabuena por tu blog
Gravatar
27/08/2006 22:32:07
Gamepads USB
por Moises (IP: 83.59.209.*)
Comentario de Moises
He probado varios gamepads USB de distintas marcas y todos funcionan a la primera en Linux, sin hacer nada. Una maravilla!
Gravatar
27/08/2006 22:50:01
USB != gameport
por Juanjo (IP: 192.168.0.*)
Comentario de Juanjo
Los dispositivos USB son más fáciles de utilizar, no requieren de la intervención del usuario como los gameport de las tarjetas de sonido :(

Hombre, el gamepad vía gameport también es más barato, que no todo iba a ser malo :D
Gravatar
28/08/2006 09:28:54
sabeis que no teneis nada que hacer...
por smash football master (IP: 80.28.27.*)
Comentario de smash football master
Ahora solo te falta un emulador de GameCube, el juego de fútbol del Mario y mucha, mucha práctica. Para el próximo torneo seguro que vienes más entrenado ;).

http://gcube.exemu.net <- ese rula en sistemas unix, pero hace falta un maquinon.

De todas formas, no teneis nada que hacer... pobres mortales... :D
Gravatar
28/08/2006 10:44:00
Soporte en red
por Juanjo (IP: 192.168.0.*)
Comentario de Juanjo
Uhm, zsnes tiene multijugador en red. No sé cómo estarán las cosas si tus contrincantes pueden practicar en casa :P

Yo no había jugado nunca y, claro, así es muy difícil ser mastah! ;)
Gravatar
28/08/2006 20:58:35
Gamepad
por RIVE (IP: 200.38.226.*)
Comentario de RIVE
Tengo un pad marca MS olvidado y sin uso en casa, lo probaré en la computadora de mi hijo -es el que más juega-, gracias por la explicación.

Saludos.
Gravatar
29/08/2006 23:09:12
Netplay
por Surgeon (IP: 84.120.85.*)
Comentario de Surgeon
Ahora porque estoy estudiando, pero ese multijugador por Internet hay que probarlo :D

Algún día montaremos un pique improvisado...

! Esta entrada no permite nuevos comentarios.

Los comentarios se bloquean automáticamente tras 15 días desde la publicación del artículo.

Si deseas comentar algo relacionado con el texto, puedes enviarme un e-mail.