У мене майже однакова проблема. Коли прокручувати колесо дуже повільно, воно працює нормально, рівно п’ять рядків в gedit. Коли швидше котиться, він стрибає вперед назад назад назад навмання, з тим ефектом, що ви часто знаходитесь майже в одному місці після прокрутки колеса на один оборот. У Windows він ідеально працює без драйвера. Це рухлива миша BT.
У мене є дика здогадка, в чому проблема.
По-перше, це колесо з дискретними положеннями на колесі. Це означає, що колесо буде рухатися швидше, швидше, швидше, швидше, коли швидко прокручується, тому що дискретні позиції функціонують як перерва.
Я вважаю, що апаратне забезпечення всередині миші недостатньо добре, щоб розрізняти назад і вперед і швидше, швидше, швидше. Я знаю внутрішню роботу електронної миші, і вона підтримує таке пояснення.
Коли два світла світяться крізь спиці в фотооптичному приймачі, і останній може знати лише більше або менше світла, і з цього доведеться вирішити, в якому напрямку рухається колесо, може бути досить важко написати програмне забезпечення для цієї роботи, коли колесо повертається на однакова швидкість. Пояснення, чому це не є проблемою навіть у загальному драйвері Windows, полягає в тому, що у MS виникають ті ж проблеми з власними мишами, які роблять погано.
Рішення
Напишіть у драйвері режим, в який він перетвориться при виявленні швидких змін між спиною і назад на колесі миші. У цьому режимі драйвер розмежовуватиме протилежний напрям від останнього, скажімо, у буферному кільці з п'ятьма останніми елементами.