Ich erstelle eine eingebettete Anwendung, die eine USB-Maus hostet. Ich versuche es generisch für jede USB HID Maus / Trackball / was auch immer zu machen. Ich habe festgestellt, dass Mäuse unterschiedlich berichten ... während sie meistens alle + -127 relative X / Y-Koordinaten melden, ändert sich das "Gefühl" der Anwendung drastisch zwischen verschiedenen Modellen, da sich einige sehr langsam und andere sehr schnell bewegen. Ich gehe davon aus, dass dies mit der physischen Größe des logischen Bereichs zusammenhängt, den die Maus meldet.
Während HID-Deskriptoren spezielle Felder dafür haben, verwenden Mäuse diese nie ... zumindest für den Boot-Modus, den ich verwende (hier keine Treiber!) (Bearbeiten: Mäuse starten nicht im Boot-Modus, mein Fehler) . An diesem Punkt beschränke ich mich darauf, Tabellen zu erstellen, die auf VID / PID verschlüsselt sind. Das bedeutet, dass ich jede Maus testen und Einstellungen dafür erstellen muss, was ich bereits satt habe (und der Kunde auch!).
Sie können diese Mäuse nehmen und an Windows anschließen und von ihnen eine anständig gleichwertige Bewegung erhalten. Ich suche nach speziellen Treibern und der normale Treiber, den ich sehe, ist der generische 2006 HID von MS.
Meine Hauptfrage: Wie wird das in typischen Betriebssystemen gehandhabt? Vermisse ich etwas, wie vielleicht, dass Mäuse, die sich schneller bewegen, ein kürzeres Berichtsintervall haben (ich habe den Endpunktdeskriptor nicht gelesen)? Oder musste jemand eine DPI-Tabelle für alle VID / PID-Kombinationen erstellen? Wenn sie nur physisch oder logisch in den Berichtsdeskriptor einfügen würden, würde dies so funktionieren, wie es sollte! Bitte helfen Sie ...
Antworten:
Versuchen Sie das Wort MICKEY http://www.webopedia.com/TERM/M/mickey.html
Beachten Sie, dass einige Betriebssysteme (ich glaube, Windows und Mac tun dies auch) automatisch unterschiedliche "Punkte pro Zoll" ändern, abhängig von der Geschwindigkeit der Bewegung des menschlichen Benutzers. Wenn der Benutzer die Maus schnell bewegt, erhöht sich der "Punkt pro Zoll". Wenn der Benutzer die Maus langsam bewegt, wie beim Feinmalen in Photoshop, nimmt sie ab, sodass der Benutzer ein oder mehrere Pixel steuern / verschieben kann.
quelle