Eu tenho praticamente o mesmo problema. Ao rolar a roda muito devagar, funciona bem, exatamente cinco linhas no momento em gedit. Ao rolar mais rápido, ele salta para frente e para trás aleatoriamente, com o efeito de que você está quase sempre no mesmo lugar depois de rolar a roda um turno. No Windows, funciona perfeitamente sem um driver. É um rato BT móvel da Thrust.
Eu tenho um palpite sobre qual é o problema.
Primeiramente, esta é uma roda com posições discretas na roda. Isso significa que a roda girará rápido mais rápido, rápido e rápido, mais rápido, quando a rolagem for rápida, porque as posições discretas funcionam como uma pausa.
Eu sugiro que o hardware dentro do mouse não seja bom o suficiente para distinguir entre as versões de trás e para frente e rapidamente mais rápido e mais rápido. Eu conheço o funcionamento interno de um mouse eletrônico e ele suporta essa explicação.
Quando duas luzes brilham através de raios em um receptor óptico de foto e este só pode saber mais ou menos luz e a partir disso tem que decidir a direção da roda, pode ser difícil o suficiente escrever software para este trabalho quando a roda está girando na mesma velocidade. A explicação por que não é um problema, mesmo no driver genérico do Windows, é que o MS teve o mesmo problema com seus próprios mouses mal feitos.
Solução
Escreva um modo no driver no qual ele será transformado ao detectar mudanças rápidas entre as teclas de roda para frente e para trás. Neste modo, o driver discriminará a direção oposta à última, digamos, em um buffer de anel com cinco últimos elementos.