Sto creando un'applicazione incorporata che ospita un mouse USB. Sto cercando di renderlo generico per qualsiasi mouse / trackball USB HID / qualunque cosa. Ho scoperto che i topi riportano in modo diverso ... mentre per lo più riportano tutti + -127 coordinate X / Y relative, la 'sensazione' dell'applicazione cambia drasticamente tra i diversi modelli, in quanto alcuni si muovono molto lentamente e altri si muovono molto rapidamente. Suppongo che ciò si riferisca alla dimensione fisica dello spazio logico riportato dal mouse.
Mentre i descrittori HID hanno campi specifici per questo, i mouse non li usano mai ... almeno, per la modalità di avvio che sto usando (nessun driver qui!) (Modifica: i mouse non si avviano in modalità di avvio, errore mio) . A questo punto sono ridotto a creare tabelle codificate su VID / PID; questo significa che dovrò testare ogni mouse e creare accordature per questo, qualcosa di cui sono già stanco (e anche il cliente è stanco!).
Puoi prendere questi mouse e collegarli a Windows e ottenere da loro un movimento abbastanza equivalente. Sto cercando driver speciali e il driver normale che vedo è il generico HID 2006 da MS.
La mia domanda principale: come viene gestita nei tipici sistemi operativi? Mi sto perdendo qualcosa, come forse quei topi che si muovono più rapidamente hanno un intervallo di segnalazione più breve (non ho letto il descrittore dell'endpoint)? O qualcuno ha dovuto passare e creare una tabella di DPI per tutte le combinazioni VID / PID? Se avessero semplicemente inserito il descrittore del rapporto fisico rispetto a quello logico, ciò avrebbe funzionato come dovrebbe! Per favore aiuto...