Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





X11 Duda Con El Raton

Iniciado por zupervaca, 20 de Abril de 2006, 06:35:15 PM

« anterior - próximo »

zupervaca

 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.

janio


zupervaca

 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

vicho

 preguntale a la ventana su posicion y le restas a la cordenada del mouse esas cordenadas

fiero

 Hola zupervaca, ¿Existe alguna función en windows para saber los incrementos del ratón? Yo nunca la he encontrado.

un saludo
www.videopanoramas.com Videopanoramas 3D player

_Grey

 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.

fiero

 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"?
www.videopanoramas.com Videopanoramas 3D player

zupervaca

 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

Zaelsius

 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

janio

 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






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.