Liczba kropek na cal myszy ... jak to powiedzieć?

11

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óż...

użytkownik16719
źródło
Czy zaimplementowałeś „przyspieszenie” myszy?
pjc50,
2
Myszy mają swoje nieodłączne rozdzielczości, ale system operacyjny hosta może również sondować w różnym tempie. Z tego powodu systemy operacyjne zwykle pozwalają precyzyjnie dostroić prędkość myszy i przyspieszenie myszy. Jestem prawie pewien, że nie ma standardu dotyczącego tego, co mysz musi raportować pod względem konwersji jednostek ... i chętnie się założę, że utkniesz w tych niestandardowych mapowaniach tabel, jeśli chcesz znormalizować reakcję myszy.
Toby Lawrence,
1
@TobyLawrence - Rozdzielczość myszy i wskaźniki ankiet nie są takie same! Jeśli częściej sondujesz mysz, raportuje ona mniejsze wartości pozycji delta na sondę. Jednak podstawowe DPI nie ulegnie zmianie . Aby zasymulować niższe DPI, należy podzielić wartości pozycji delta przez stosunek sprzętowego DPI do pożądanego DPI.
Connor Wolf,
1
@TobyLawrence - Szybkość odpytywania w ogóle nie powinna wpływać na ruch myszy. Wpływa tylko na czas reakcji. Właśnie do tego chciałem dojść.
Connor Wolf,
1
ΔXΔY

Odpowiedzi:

1

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.

EEd
źródło