J'ai à peu près le même problème. Lorsque vous faites défiler la roue très très lentement, cela fonctionne bien, exactement cinq lignes à la fois dans gedit. Lorsque vous roulez plus rapidement, il saute en avant en arrière au hasard avec l'effet que vous êtes souvent à peu près au même endroit après avoir fait défiler la roue d'un tour. Sous Windows, cela fonctionne parfaitement sans pilote. Il s'agit d'une souris Thrust mobile BT.
J'ai une idée folle quel est le problème.
Tout d'abord, il s'agit d'une roue avec des positions discrètes sur la roue. Cela signifie que la roue ira plus vite, plus vite, plus vite et plus vite lors d'un défilement rapide, car les positions discrètes fonctionnent comme une pause.
Je suggère que le matériel à l'intérieur de la souris n'est pas assez bon pour faire la distinction entre les va-et-vient et rapidement plus vite plus vite. Je connais le fonctionnement interne d'une souris électronique et elle supporte une telle explication.
Lorsque deux lumières brillent à travers les rayons d'un récepteur photo-optique et que ce dernier ne peut que connaître plus ou moins de lumière et que cela doit décider dans quelle direction la roue va, il peut être assez difficile d'écrire un logiciel pour ce travail lorsque la roue tourne à la même vitesse. L'explication pourquoi ce n'est pas un problème même dans le pilote générique Windows est que MS a eu le même problème avec leurs propres souris de mauvaise qualité.
Solution
Écrivez un mode dans le pilote dans lequel il se transformera lors de la détection de changements rapides entre les deux sens sur la molette de la souris. Dans ce mode, le conducteur distinguera la direction opposée de la dernière, disons, dans un tampon en anneau avec cinq derniers éléments.