Ich habe so ziemlich das gleiche Problem. Wenn Sie das Rad sehr, sehr langsam bewegen, funktioniert es in Ordnung, genau fünf Zeilen zu der Zeit in gedit. Wenn Sie schneller rollen, springt es nach dem Zufallsprinzip vor und zurück, so dass Sie sich oft an der gleichen Stelle befinden, nachdem Sie das Rad eine Umdrehung gedreht haben. In Windows funktioniert es perfekt ohne Treiber. Es ist eine mobile BT-Maus von Thrust.
Ich habe eine wilde Vermutung, was das Problem ist.
Zunächst einmal ist dies ein Rad mit diskreten Positionen auf dem Rad. Dies bedeutet, dass das Rad beim schnellen Scrollen schneller schneller schneller schneller fährt, da die diskreten Positionen als Unterbrechung fungieren.
Ich schlage vor, dass die Hardware in der Maus nicht gut genug ist, um zwischen Hin und Her und Schnell, Schnell, Schnell, Schnell zu unterscheiden. Ich kenne das Innenleben einer elektronischen Maus und es unterstützt eine solche Erklärung.
Wenn zwei Lichter in einem optischen Fotoempfänger durch die Speichen leuchten und dieser nur mehr oder weniger Licht erkennen kann und dann entscheiden muss, in welche Richtung das Rad fährt, kann es schwierig genug sein, Software für diesen Job zu schreiben, wenn sich das Rad dreht die gleiche Geschwindigkeit. Die Erklärung, warum es auch im generischen Windows-Treiber kein Problem ist, ist, dass MS das gleiche Problem mit ihren eigenen schlecht hergestellten Mäusen hatte.
Lösung
Schreiben Sie im Treiber einen Modus, in den er sich verwandelt, wenn Sie am Mausrad schnelle Wechsel zwischen Hin- und Herbewegungen feststellen. In diesem Modus unterscheidet der Treiber die entgegengesetzte Richtung von der letzten, beispielsweise in einem Ringpuffer mit fünf letzten Elementen.