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...
Respuestas:
Pruebe la palabra MICKEY http://www.webopedia.com/TERM/M/mickey.html
Tenga en cuenta que algunos sistemas operativos (creo que Windows y Mac también hacen esto) cambian automáticamente diferentes "puntos por pulgada" dependiendo de la velocidad del movimiento del usuario humano. si el usuario mueve el mouse rápidamente, aumenta "punto por pulgada". Cuando el usuario mueve el mouse lentamente, como pintar bien en Photoshop, disminuye para que el usuario pueda controlar / mover uno o unos pocos píxeles.
fuente