viernes, 16 de abril de 2010

Joystick no funciona com mouse

Hace tiempo que deseo hacer funcionar el joystic como mouse pero nada, ayer instale arch y probe el paquete input-joystic para xorg pero nada >(

de momento aqui dicen que es un bug pero recuerdo haber leido esto hace aNos y no creo que no lo hayan corregido:
http://www.linuxquestions.org/questions/linux-hardware-18/adding-usb-joystick-as-2nd-x11-pointer-449434/

u esto en la doc de xorg
http://www.x.org/archive/X11R7.5/doc/man/man4/joystick.4.html

y esto en el wiki de arch:
http://wiki.archlinux.org/index.php/Joystick_Support

Leyendo mas:
http://ubuntuforums.org/showthread.php?t=453664

Section "InputDevice"
Driver "joystick"
Identifier "joystick"
Option "Device" "/dev/input/js0"
EndSection


InputDevice "joystick" "SendCoreEvents"


-------------------
Listo, ya funciona a medias, lo que hice fue generar el archivo xorg.con usando
Xorg --config
o algo asi y luego en el campo input del mouse puse el joystick pero esta descalibrado :( estoy investigando como calibrarlo, parece que hay que usar programas jstest y jscalc:
http://www.ibiblio.org/pub/Linux/docs/LuCaS/NuLies/web/2.2/Documentation/joystick.txt
http://linux.die.net/man/1/jscal

y aqui me dicen como compilar los programas para arch:
http://bbs.archlinux.org/viewtopic.php?id=24831


PD:Interesante articulo sobre joystick
http://www.epanorama.net/documents/joystick/pc_joystick.html

finalmente he compilado usando:

gcc -o jstest jstest.c

y he probado y efectivamente esta descalibrado, ahora voy por el programa de calibrarlo

jscal puso mas problema finalmente lo pude compilar agregandole un -lm al final:

gcc -o jscal jscal.c -lm

Haaa y tambien le agregue esta linea a los include del codigo:

#include

////////////////////////////////////////////////////////////////////////////

Finalmente lo he conseguido, para calibrar el joystick primero calibracion del hardware:
el
me di cuenta que si se dejaba la calibracion en maximo o minimo el rango era entre -32767 y 9458 por lo cual hice:
32767 + 9458 =42225 // este es el total de unidades
42225 / 2 = 21112.5 // esta es la mitad
-32767 + 21112.5 = -11654.5
9458 + 21112.5 = -11654.5

Luego busque la calibruacion por hardware mas cercana a -11654.5 en el eje X y Y (usando las palancas en la parte inferior del joystick para este fin)

Para terminar use jscal para la calibracion por software y justo como dice en el README cree joystick.cal en /etc y puse la linea
source /etc/joystik.cal en el script de arranque del equipo.