Estoy intentando implementar un mouse USB HID para mi tarjeta personalizada (para mover el puntero del mouse a mi pantalla). En este momento, soy capaz de leer los descriptores.
Encontré que el mínimo y máximo lógicos son -127 y +127. Después de leer la documentación de HID, me confundí.
- ¿Qué es el mínimo físico y el máximo de un dispositivo?
- ¿Cuál es su papel?
Si quiero calibrar mi mouse para una pantalla determinada, ¿dónde puedo dar las coordenadas? Además, cuando ocurre la acción del mouse, obtengo valores de coordenadas (X e Y y botones) dos o tres veces.
¿Se debe a que los valores devueltos por el mouse son continuos y tengo que implementar un promedio? ¿O es como si las coordenadas del mouse devueltas son relativas y tengo que inicializar mis coordenadas del mouse como (0,0) y desde la posición anterior tengo que calcular la posición actual?
Gracias por la respuesta. Pero desde qué campo del descriptor puedo encontrar la unidad, significa que cada vez que muevo un mouse obtendré la X y la Y, ¿cómo averiguar cuál es la unidad que ha movido? (Pulgada o metro). Debido a que el descriptor de HID que estoy obteniendo consta de los siguientes campos:
Usage Page- 05 01
Usage Mouse- 09 02
Collection(App)-a1 01
Usage(Pointer)-09 01
Collection(Physical)-a1 00
Usage Page(Button)-05 09
Usage Min- 19 01
Usage Max-29 05
Logical Min-15 00
Logical Max-25 01
Report Count-95 05
Report Size-75 01
Input(Data,Variable,Absolute)-81 02
Report Count- 95 00
Input-81 03
Usage Page-05 01
Usage X- 09 30
Usage Y- 09 31
Wheel - 09 38
Logical Min-15 81
Logical Max-25 7f
Report Size -75 08
Report Count-95 03
Input-81 06
05 0c
0a 38
02 95
01 81
06 c0
c0
No sé cuáles son los valores después del campo de entrada.
Esto es lo que estoy obteniendo como descriptor oculto de mi mouse logitech. Entiendo que es relativo (de 81 a 06). Y además, obtengo coordenadas (X e Y) y botones cada vez que me muevo o hago clic. ¿Pero dónde obtener la unidad y la unidad exponente (para encontrar la resolución y cuánto se ha movido el mouse)? Gracias de nuevo