Estoy creando una aplicación incrustada que aloja un mouse USB. Estoy tratando de hacer que sea genérico para cualquier mouse / trackball HID USB / lo que sea. Descubrí que los ratones informan de manera diferente ... mientras que en su mayoría todos reportan +127 relativos X / Y coordina la 'sensación' de que la aplicación cambia drásticamente entre diferentes modelos, ya que algunos se mueven muy lentamente y otros se mueven muy rápidamente. Supongo que esto se relaciona con el tamaño físico del espacio lógico que informa el mouse.
Mientras que los descriptores HID tienen campos específicos para esto, los ratones nunca los usan ... al menos, para el modo de inicio que estoy usando (¡no hay controladores aquí!) (edición: los ratones no comienzan en el modo de inicio, mi error). En este punto estoy reducido a crear tablas con clave en VID / PID; esto significa que tendré que probar cada ratón y crear ajustes para ello, algo de lo que ya estoy cansado (¡y el cliente también está cansado!).
Puedes tomar estos ratones y conectarlos a Windows y obtener un movimiento decentemente equivalente de ellos. Estoy buscando controladores especiales y el controlador normal que veo es el HID 2006 genérico de MS.
Mi pregunta principal: ¿cómo se maneja esto en los sistemas operativos típicos? ¿Me estoy perdiendo algo, como quizás los ratones que se mueven más rápidamente tienen un intervalo de informe más corto (no he leído el descriptor del punto final)? ¿O alguien tuvo que pasar y hacer una tabla de DPI para todas las combinaciones de VID / PID? Si solo pusieran el físico en el descriptor de informe físico en comparación con el lógico, ¡esto funcionaría como debería! Por favor ayuda ...