Bien, me tope con un leve problema con mi joystick.
Resulta que al enchufarlo, el sistema crea el dispositivo /dev/js0 y los links correspondientes en /dev/input
Pero el joystick en sí, no funciona hasta que:
- Se calibra en el centro de control de KDE o …
- Al hacer el comando: jstest /dev/input/js0
Esto significa, enchufar, correr el comando y luego jugar.
Para evitar el paso intermedio, es decir, solo enchufar y jugar, es necesario entonces disparar el comando jstest cuando el joystick se enchufe.
Existe un demonio llamado udev que se encarga de este tipo de tareas.
Bien, me tope con un leve problema con mi joystick.
Resulta que al enchufarlo, el sistema crea el dispositivo /dev/js0 y los links correspondientes en /dev/input
Pero el joystick en sí, no funciona hasta que:
- Se calibra en el centro de control de KDE o …
- Al hacer el comando: jstest /dev/input/js0
Esto significa, enchufar, correr el comando y luego jugar.
Para evitar el paso intermedio, es decir, solo enchufar y jugar, es necesario entonces disparar el comando jstest cuando el joystick se enchufe.
Existe un demonio llamado udev que se encarga de este tipo de tareas.
Para tener disponible el comando jstest es necesario instalar el paquete joystick:
# apt-get install joystick
Además, solo por comodidad en la consola, instale otro paquete sirve para manejar los demonios con un comando un poco más corto:
# apt-get install sysvconfig
Luego se debe modificar una regla de udev para disparar el comando jstest cuando se creen los links al dispositivo nuevo. Como root, abrimos un editor de texto al archivo /etc/udev/rules.d/udev.rules
# nano /etc/udev/rules.d/udev.rules
O si queremos usar un editor por entorno gráfico:
$ kdesu kate /etc/udev/rules.d/udev.rules
$ kdesu gedit /etc/udev/rules.d/udev.rules
Actualización: En Ubuntu, el archivo que se debe editar es /etc/udev/rules.d/20-names.rules
Bien, ubicamos la linea que tiene este texto:
KERNEL==»js[0-9]*», NAME=»input/%k»
Y la reemplazamos por esto:
KERNEL==»js[0-9]*», NAME=»input/%k», MODE=»0644″, SYMLINK+=»%k», RUN+=»/usr/bin/jstest /dev/input/%k»
Finalmente, se debe reiniciar el demonio de udev, lo reiniciamos por todos lados para asegurarnos:
# service udev force-reload && service udev restart
Ahora enchufamos nuestro joystick y comprobamos que está encendido …. A JUGAR!!!
Si quiere probar, desenchúfalo y vuelve a enchufarlo (me acorde de benni).
—
Agradecimientos a Kropotkinix (por la idea de usar udev) y Janitux (por descubrir que udev no toma las opciones del entorno).
Fuente: Foro Powers
PS: Buscando en google encontré como primer link, un hilo en el foro esDebian con el mismo problema. Ahora al buscar «debian usb joystick» sale el hilo de Foro Powers :P. Espero que sea de ayuda. Me dí cuenta que varias otras cosas se pueden hacer gracias a udev.
Para tener disponible el comando jstest es necesario instalar el paquete joystick:
# apt-get install joystick
Además, solo por comodidad en la consola, instale otro paquete sirve para manejar los demonios con un comando un poco más corto:
# apt-get install sysvconfig
Luego se debe modificar una regla de udev para disparar el comando jstest cuando se creen los links al dispositivo nuevo. Como root, abrimos un editor de texto al archivo /etc/udev/rules.d/udev.rules
# nano /etc/udev/rules.d/udev.rules
O si queremos usar un editor por entorno gráfico:
$ kdesu kate /etc/udev/rules.d/udev.rules
$ kdesu gedit /etc/udev/rules.d/udev.rules
Actualización: En Ubuntu, el archivo que se debe editar es /etc/udev/rules.d/20-names.rules
Bien, ubicamos la linea que tiene este texto:
KERNEL==»js[0-9]*», NAME=»input/%k»
Y la reemplazamos por esto:
KERNEL==»js[0-9]*», NAME=»input/%k», MODE=»0644″, SYMLINK+=»%k», RUN+=»/usr/bin/jstest /dev/input/%k»
Finalmente, se debe reiniciar el demonio de udev, lo reiniciamos por todos lados para asegurarnos:
# service udev force-reload && service udev restart
Ahora enchufamos nuestro joystick y comprobamos que está encendido …. A JUGAR!!!
Si quiere probar, desenchúfalo y vuelve a enchufarlo (me acorde de benni).
—
Agradecimientos a Kropotkinix (por la idea de usar udev) y Janitux (por descubrir que udev no toma las opciones del entorno).
Fuente: Foro Powers
PS: Buscando en google encontré como primer link, un hilo en el foro esDebian con el mismo problema. Ahora al buscar «debian usb joystick» sale el hilo de Foro Powers :P. Espero que sea de ayuda. Me dí cuenta que varias otras cosas se pueden hacer gracias a udev.
¿Y si es un gamepad?
mientras el link sea creado por udev como /dev/input/jsX se puede usar la misma regla.