Перейти к содержанию
    

Тестируем колесо _горизонтальной_ прокрутки у мышей

Предлагаю провести тестирование кривизны работы колеса горизонтальной прокрутки у современных мышей. На это действо меня сподвигли лютые баги в реализации горизонтального колеса мышей Logitech: их драйвер мыши использует корявую логику переключения в режим эмуляции горизонтальной прокрутки через управление полосами прокрутки (scroll bar), вместо отправки сообщений WM_MOUSEHWHEEL.

Для участия надо иметь мышь с горизонтальной прокруткой и нормальную винду (эмулятор не годится) с установленным драйвером для этой мыши (т.е. горизонтальная прокрутка вашей мышью должна, как будто бы, работать в программах САПР).

Качаем, распаковываем, запускаем тестирующую утилиту:

https://drive.google.com/uc?export=download&id=1ugtJ1dqx1tDI-ufqZ9RGszmgwom4dhCQ

При запуске появится окно выбора режима теста с такими опциями:

  • return 0 from WM_MOUSE*WHEEL handler - возвращать 0 из обработчика событий колёс.
  • Add 200ms pause into WM_MOUSE*WHEEL handler - тормозить обработчик событий колёс.

Надо выполнить три теста:

  1. с выключенными обеими опциями;
  2. с включенной первой;
  3. с включенной второй.

Т.о. для первого теста не включаем опции, а просто кликаем Start. Должно появиться большое окно с нарисованной вертикальной и горизонтальной полосами градиента.

Крутим сначала вертикальное, потом горизонтальное колесо на мыши: соответствующий градиент (а не окно) должен прокручиваться, а в строке состояния окна должна появиться строка Good: WM_MOUSEWHEEL - тест пройден. Ожидаю, что вертикальное колесо у всех мышей всегда нормально работает.

Если же вместо прокрутки градиента не происходит ничего, или же сдвигается полоса прокрутки окна (Scroll Bar), и в строке состояния окна появляется строка Bad: WM_HSCROLL - это означает, что драйвер мыши пытается управлять окном напрямую и т.о. тест считается проваленным.

Проведя тест, закрываем окно, и вернувшись в изначальное окно выбора режима включаем первую галочку и повторяем тест. Затем повторяем тест со второй галочкой. Одновременно обе галочки включать не нужно 🙂

Пишем отчёт, где сообщаем название модели мыши и номер проваленных тестов. Например, для моей мыши:

Logitech MX Master 3S

в тестах 2 и 3 (т.е. с любой включенной опцией) горизонтальное колесо глючит.

 

Исходники утилиты (Delphi7):

https://drive.google.com/uc?export=download&id=1vCnvtbDcgH9oxAZ1zb2-tk-5BSXzWIdH

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 часа назад, Arci0m сказал:

пользуюсь треколбами уже лет 10. горя не знаю.

 

Не использовал трекбол, но не могу поверить, что все они могут переключаться в режим горизонтальной прокрутки окна...

Или я сильно отстал от жизни?

ЗЫ На всякий случай изменил тему т.к. подозреваю, что был неправильно понят...

Изменено пользователем starter48

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Во многих программах горизонтальная прокрутка происходит при нажатой клавише shift на клавиатуре.

Мыши со вторым колесом и винды нет, но есть старый трекбол. На нём режим прокрутки во все стороны включается при зажатой средней кнопке.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

32 минуты назад, vov4ick сказал:

Во многих программах горизонтальная прокрутка происходит при нажатой клавише shift на клавиатуре.

Мыши со вторым колесом и винды нет, но есть старый трекбол. На нём режим прокрутки во все стороны включается при зажатой средней кнопке.

Я думаю, что это функция операционки, а не трекбола.

Мне же интересно исследовать реализацию горизонтального колеса прокрутки именно в винде т.к. у меня на данный момент складывается впечатление, что написать программу под винду с нормальной поддержкой горизонтального колеса невозможно из-за разной [и кривой] реализации драйверов производителями мышей.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Есть у меня старенькая сенсорная бескнопочная мышка Logitech T620, так её верхняя поверхность используется в том числе и как прокрутка в любые стороны, хоть по диагонали.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

6 часов назад, EdgeAligned сказал:

Есть у меня старенькая сенсорная бескнопочная мышка Logitech T620, так её верхняя поверхность используется в том числе и как прокрутка в любые стороны, хоть по диагонали.

У меня тоже есть такая концепт-мышь, только называется T630 - прикольная, но пользоваться ей неудобно из-за наличия всего одной аппаратной кнопки.

Результат тестирования такой же, как у MX Master 3S. Я уверен, что все мыши Logitech будут глючить одинаково т.к. используют унифицированный драйвер.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На данный момент нарыл следующие фирмы, делающие мыши с гор. колесом:

  • Logitech - кривая поддрежка гор. колеса в их драйвере (драйвер LogiOptionsMgr.exe уже пропатчил на предмет пресечения попыток эмуляции через scroll bar);
  • MadCatz - оптимизировано, скорее, для игр; глючный драйвер (утечка памяти);
  • Rapoo - MT760L (закос под MX Master) сам не использовал, но судя по обзорам, создаётся впечатление китайского ширпотреба;
  • Razer - у них есть мыши с отклоняемым в стороны для горизонтального скроллинга колесом вертикальной прокрутки, но это не то;
  • DeLUX - M618XSD (вертикальная беспроводная) или M618XSU (вертикальная проводная), M913DB (очередной закос под MX Master) - китайские ширпотребные мыши;
  • Cimetech - TM-015 - ещё китайский ширпотреб.

Здесь, под словом "драйвер" понимаю управляющий софт вообще.

На распродаже 11.11 приобрел вертикальную DeLUX M618XSU за 133CNY, которая оказалась очередным китайским ширпотребом: 

  1. Драйвера убогие: настроек мало, нет инверсии гор. колеса, самообновление софта через протокол HTTP (без проверки подлинности сайта), причём качает какой-то левый софт от "Fire Legend".
  2. Гор. колесо (в виде шарика) скользкое - приходится слегка напрягаться (и т.о. отвлекаться) для прокрутки.
  3. Верт. колесо неудобно крутить указательным пальцем из-за вертикальности мыши т.к. остальные пальцы на правой кнопке мешаются. Более того, если пальцы толстые, то пользоваться такой мышью будет совсем неудобно.
  4. Браузерные кнопки "вперёд"/"назад" - громкие (основные кнопки - тихие).
  5. Из-за вертикальной компоновки, мышь трудно перенести не отвлекаясь от работы (когда долго ведёшь в одну сторону и место на столе заканчивается), не нажав случайно какую-нибудь кнопку.
  6. Реакция быстрее, чем у MX Master. Думаю, это из-за того, что она проводная.

Т.е. пока ей пользуюсь - привыкаю к моей первой вертикальной мыши, но покупать не советую, прежде всего из-за убогости родного софта. В будущем, думаю, останусь на Logitech т.к. "железо" хорошее, а с драйвером научился бороться.

Rapoo MT760L за 174CNY на распродаже покупать не стал т.к. в наличии были только розовые модели.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...