Mam prawie ten sam problem. Kiedy bardzo powoli przewijam koło, działa dobrze, dokładnie pięć linii w tym samym czasie w gedit. Gdy toczy się szybciej, odskakuje losowo w przód iw tył z efektem, że często jesteś w tym samym miejscu po przewinięciu koła o jeden obrót. W systemie Windows działa idealnie bez sterownika. To mobilna mysz BT Thrust.
Mam dzikie przypuszczenie, w czym problem.
Po pierwsze, jest to koło z dyskretnymi pozycjami na kole. Oznacza to, że koło będzie jechać szybciej, szybciej, szybciej, szybciej podczas przewijania, ponieważ pozycje dyskretne działają jak przerwa.
Sugeruję, że sprzęt wewnątrz myszy nie jest wystarczająco dobry, aby rozróżnić pomiędzy nimi do przodu i do tyłu, szybko, szybciej, szybciej. Znam wewnętrzne działanie myszy elektronicznej i obsługuje ona takie wyjaśnienie.
Gdy dwa światła prześwitują przez szprychy w odbiorniku fotooptycznym, a ten ostatni może tylko wiedzieć więcej lub mniej światła i na tej podstawie musi zdecydować, w którym kierunku idzie koło, napisanie oprogramowania do tego zadania może być trudne, gdy koło się obraca ta sama prędkość. Wyjaśnienie, dlaczego nie jest to problemem nawet w ogólnym sterowniku systemu Windows, polega na tym, że stwardnienie rozsiane miało ten sam problem z własnymi źle wykonanymi myszami.
Rozwiązanie
Napisz w sterowniku tryb, w którym zmieni się on po wykryciu szybkich zmian między nimi w kółko myszy. W tym trybie sterownik rozróżnia kierunek przeciwny od ostatniego, powiedzmy, w buforze pierścieniowym z pięcioma ostatnimi elementami.