• Viernes 8 de Noviembre de 2024, 16:00

Autor Tema:  Mouse C++  (Leído 1463 veces)

FordFarlaine

  • Nuevo Miembro
  • *
  • Mensajes: 23
    • Ver Perfil
Mouse C++
« en: Miércoles 13 de Junio de 2007, 12:25 »
0
Estoy intentado capturar los movimientos del raton con c++.
Se que las coordenadas de pantalla es cosa facil, pero querria poder capturar este movimieto aunque el puntero saliera de la pantalla. Vamos, que lo que quiero es poder detectar movimento en 'mickeys' y no en pixeles de pantalla.
He leido que en WindowsXP hay problemas para acceder a las interrupciones del sistema y no se si existe alguna funcion de la API de Windows que me devolviera estos valores.
Alguien me puede ayudar?
Muchas gracias de antemano.
El MenosMola

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Mouse C++
« Respuesta #1 en: Miércoles 13 de Junio de 2007, 13:15 »
0
La gama NT de Windows trabaja en modo protegido como todo S.O. moderno y no podes acceder a las interrupciones de la BIOS ni acceder al hardware directamente. No es que haya problemas sino que esta hecho expresamente asi.

Si te fijas en la ejecucion normal del S.O. no podes sacar el puntero de la pantalla.

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

FordFarlaine

  • Nuevo Miembro
  • *
  • Mensajes: 23
    • Ver Perfil
Re: Mouse C++
« Respuesta #2 en: Miércoles 13 de Junio de 2007, 16:33 »
0
Bien, luego el problemilla sobre interrupciones es tal problema que no puedo hacerlo por interrupciones, pero entonces ¿Sabeis como lo podria solucionar?,
Alguna forma tendria que haber porque hay juegos tipo 'primera persona' en la que el puntero del raton no lo ves en pantalla pero utilizas el raton para moverte sin la limitacion de que un supuesto puntero de raton llegara al borde de la pantalla. Vamos que lo que el juego esta capturando es el movimiento del raton directamente y no el movimiento del puntero en la pantalla.
Api de Windows quiza?
Gracias de nuevo
El MenosMola

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Mouse C++
« Respuesta #3 en: Miércoles 13 de Junio de 2007, 16:44 »
0
Los juegos usan DirectX y mas especificamente DirectInput.

Esto es lo que provee normalmente la API de Windows pero no creo que te sirva, igual leelo bien yo solo le di una ojeada:

http://msdn2.microsoft.com/en-us/library/ms645533.aspx

Por otro lado hay un nuevo tipo de entrada raw ("crudo") que esta disponible desde XP, tal vez eso si te sirva:

http://msdn2.microsoft.com/en-us/library/ms645536.aspx

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.