Tworzę aplikację osadzoną obsługującą mysz USB. Staram się, aby był ogólny dla każdej myszy USB HID / trackball / cokolwiek innego. Odkryłem, że myszy zgłaszają inaczej ... podczas gdy większość z nich zgłasza względne + -127 współrzędne X / Y, odczucia drastycznych zmian aplikacji pomiędzy różnymi modelami, ponieważ niektóre poruszają się bardzo wolno, a inne bardzo szybko. Zakładam, że odnosi się to do fizycznego rozmiaru logicznej przestrzeni zgłaszanej przez mysz.
Podczas gdy deskryptory HID mają do tego określone pola, myszy nigdy ich nie używają ... przynajmniej w trybie rozruchowym, którego używam (tutaj nie ma sterowników!) (Edycja: myszy nie zaczynają w trybie rozruchowym, mój błąd) . W tym momencie jestem zredukowany do tworzenia tabel z kluczami na VID / PID; oznacza to, że będę musiał przetestować każdą mysz i stworzyć dla niej strojenie, coś, czego już jestem zmęczony (i klient też jest zmęczony!).
Możesz wziąć te myszy i podłączyć je do systemu Windows i uzyskać od nich przyzwoicie równoważny ruch. Czekam na specjalne sterowniki, a normalny sterownik, jaki widzę, to ogólny HID 2006 z MS.
Moje główne pytanie: jak sobie z tym radzić w typowych systemach operacyjnych? Czy czegoś brakuje, na przykład, że myszy, które poruszają się szybciej, mają krótszy interwał raportowania (nie przeczytałem deskryptora punktu końcowego)? A może ktoś musiał przejść przez tabelę DPI dla wszystkich kombinacji VID / PID? Gdyby po prostu wprowadzili fizyczny vs. logiczny do deskryptora raportu, działałoby to tak, jak powinno! Proszę pomóż...
Odpowiedzi:
Wypróbuj słowo MICKEY http://www.webopedia.com/TERM/M/mickey.html
Uwaga: niektóre systemy operacyjne (uważam, że Windows i Mac też to robią) automatycznie zmieniają różne „kropki na cal” w zależności od prędkości ruchu użytkownika. jeśli użytkownik porusza myszką szybko, zwiększa „kropkę na cal”. Gdy użytkownik porusza myszką powoli, na przykład robiąc dobre malowanie w Photoshopie, zmniejsza się, aby użytkownik mógł kontrolować / przesuwać jeden lub kilka pikseli.
źródło