Foros - Stratos

Programadores => General Programadores => Mensaje iniciado por: zupervaca en 20 de Abril de 2006, 06:35:15 PM

Título: X11 Duda Con El Raton
Publicado por: zupervaca en 20 de Abril de 2006, 06:35:15 PM
 Hola, ¿sabeis alguna manera de obtener las coordenadas globales del raton o por lo menos el valor de los ejes? La funcion indicando una ventana la se, pero el problema es que las quiero sin tener que indicar una ventana, como en windows por ejemplo que existe la getcursorpos.

Gracias de antemano.
Título: X11 Duda Con El Raton
Publicado por: janio en 26 de Abril de 2006, 01:47:18 AM
 XQueryPointer
Título: X11 Duda Con El Raton
Publicado por: zupervaca en 26 de Abril de 2006, 04:28:37 PM
 Gracias, hacia tanto tiempo de este post que se me habia olvidado poner que habia encontrado la solucion, no obstante he estado buscando una funcion que me de el valor del eje en vez de la coordenada en pantalla, pero no la he encontrado, la unica solucion que le veo es memorizar las coordenadas anteriores y restarlas para darme su incremento en los ejes, pero esto falla cuando llega a los limites del escritorio, lo unico para solucionar esto es dejar el raton en medio de la ventana, pero esto no me acaba de gustar
Título: X11 Duda Con El Raton
Publicado por: vicho en 26 de Abril de 2006, 05:05:23 PM
 preguntale a la ventana su posicion y le restas a la cordenada del mouse esas cordenadas
Título: X11 Duda Con El Raton
Publicado por: fiero en 26 de Abril de 2006, 06:15:12 PM
 Hola zupervaca, ¿Existe alguna función en windows para saber los incrementos del ratón? Yo nunca la he encontrado.

un saludo
Título: X11 Duda Con El Raton
Publicado por: _Grey en 26 de Abril de 2006, 08:19:03 PM
 Por mi poco experiencia en el Win32 API... no la hay, deberás contrastar la nueva posición con la anterior, para que los topes no sean un problema puedes reposicionar el cursor en el centro de tu ventana o pantalla, para que no quede feo mejor su lo ocultas, y si usas una ventana piensa en ClipCursor() para que no salga de la ventana con los problemas que puede ocasionar.


Saludos.
Título: X11 Duda Con El Raton
Publicado por: fiero en 26 de Abril de 2006, 08:25:43 PM
 Ah, ok _Grey. Yo en mi plugin hago eso para calcular incrementos, en la opción de mover la cámara manualmente. zupervaca, ¿a qué te refieres con "valor de los ejes"?
Título: X11 Duda Con El Raton
Publicado por: zupervaca en 26 de Abril de 2006, 11:18:53 PM
 Existe pero usando el api de directinput, el valor de los ejes es la velocidad con la que desplazas el raton, como decia antes se puede calcular memorizando las coordenadas del raton y cada vez que actualizas estas variables restarle su valor anterior y asi tener la velocidad, pero implica tener al puntero del raton en una zona que nunca choque con un borde del escritorio y este es el problema de por que busco una funcion de este estilo
Título: X11 Duda Con El Raton
Publicado por: Zaelsius en 27 de Abril de 2006, 12:31:49 AM
 Me ha picado la curiosidad y me he mirado el código del Quake III, y tambien usan el método de centrar el cursor en la mitad de la pantalla continuamente. Si quieres verlo de cerca busca las llamadas a XWarpPointer() en code/unix/linux_glimp.c
Título: X11 Duda Con El Raton
Publicado por: janio en 02 de Mayo de 2006, 01:36:18 AM
 Otra opcion es con XF86DGADirectVideo (dpy, scr, XF86DGADirectMouse), esto realmente congela el raton y pasa directamente los eventos a la ventana que tenga capturado el raton con XGrabPointer, no necesita "warp" pero necesita DGA que es una extension. Lo mas probable es que esta extension este presente en una instalacion medianamente moderna