Estoy creando una aplicación integrada que aloja un mouse USB. Estoy tratando de hacerlo genérico para cualquier mouse USB HID / trackball / lo que sea. Descubrí que los ratones informan de manera diferente ... mientras que en su mayoría todos reportan + -127 coordenadas X / Y relativas, la 'sensación' de la aplicación cambia drásticamente entre diferentes modelos, en 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.
Si bien los descriptores HID tienen campos específicos para esto, los ratones nunca los usan ... al menos, para el modo de arranque que estoy usando (¡no hay controladores aquí!) (Editar: los ratones no comienzan en modo de arranque, mi error) . En este punto, estoy reducido a crear tablas con clave en VID / PID; Esto significa que tendré que probar cada mouse y crear ajustes para él, algo de lo que ya estoy cansado (¡y el cliente también está cansado!).
Puede 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 genérico 2006 de MS.
Mi pregunta principal: ¿cómo se maneja esto en los sistemas operativos típicos? ¿Me estoy perdiendo algo, como quizás que los ratones que se mueven más rápido tienen un intervalo de informe más corto (no he leído el descriptor de punto final)? ¿O alguien tuvo que pasar y hacer una tabla de DPI para todas las combinaciones de VID / PID? Si simplemente pusieran lo físico frente a lo lógico en el descriptor del informe, ¡esto funcionaría como debería! Por favor ayuda...