Мышь точек на дюйм ... как сказать?


11

Я создаю встроенное приложение с USB-мышью. Я пытаюсь сделать его универсальным для любой USB HID мыши / трекбола / что угодно. Я обнаружил, что мыши сообщают по-разному ... в то время как все они в основном сообщают о + -127 относительных координатах X / Y, «ощущение» приложения резко меняется между различными моделями, в том числе одни движутся очень медленно, а другие - очень быстро. Я предполагаю, что это связано с физическим размером логического пространства, которое сообщает мышь.

В то время как дескрипторы HID имеют специальные поля для этого, мыши никогда не используют их ... по крайней мере, для используемого мной режима загрузки (здесь нет драйверов!) (Правка: мыши не запускаются в режиме загрузки, моя ошибка) , На данный момент я ограничен созданием таблиц на основе VID / PID; это означает, что мне придется протестировать каждую мышь и создать для нее настройки, что я уже устал (и клиент тоже устал!).

Вы можете взять этих мышей и подключить их к Windows и получить приличное движение от них. Я слежу за специальными драйверами, и нормальный драйвер, который я вижу, это стандартный HID 2006 от MS.

Мой главный вопрос: как это обрабатывается в типичных ОС? Я что-то упускаю, например, что мыши, которые двигаются быстрее, имеют более короткий интервал между отчетами (я не читал дескриптор конечной точки)? Или кто-то должен был пройти и составить таблицу DPI для всех комбинаций VID / PID? Если бы они просто поместили физическое и логическое в дескриптор отчета, то это сработало бы так, как должно! Пожалуйста помоги...


Вы реализовали "ускорение" мыши?
pjc50

2
Мыши имеют свое собственное разрешение (я), но хост-операционная система также может опрашивать с различной скоростью. По этой причине операционные системы обычно позволяют настроить скорость мыши и ускорение мыши. Я почти уверен, что не существует стандарта в отношении того, что мышь сообщает о преобразовании единиц ... и я готов поспорить, что вы застряли при выполнении этих пользовательских сопоставлений таблиц, если хотите нормализовать реакцию мыши.
Тоби Лоуренс

1
@TobyLawrence - Разрешение мыши и частота опроса не совпадают! Если вы будете опрашивать мышь чаще, она сообщит о меньших значениях дельта-позиции для каждого опроса. Однако базовый DPI не изменится . Чтобы имитировать более низкое значение DPI, вам придется разделить значения дельта-положения на отношение аппаратного DPI к требуемому DPI.
Коннор Вольф

1
@TobyLawrence - скорость опроса вообще не должна влиять на движение мыши. Это просто влияет на отзывчивость. Вот к чему я стремился.
Коннор Вольф

1
По сути, мышь объединяет и и возвращает значения каждый раз, когда компьютер запрашивает их. Если вы будете опрашивать чаще, сообщаемые дельты будут меньше, но если вы суммируете их с течением времени (как при рисовании курсора), общий результат будет таким же. Δ YΔИксΔY
Коннор Вольф

Ответы:


1

Попробуйте слово МИККИ http://www.webopedia.com/TERM/M/mickey.html

Обратите внимание, что некоторые ОС (я полагаю, что Windows и Mac тоже это делают) автоматически меняют различные «точки на дюйм» в зависимости от скорости движения человека-пользователя. если пользователь быстро перемещает мышь, это увеличивает «точка на дюйм». Когда пользователь медленно перемещает мышь, как при рисовании в фотошопе, она уменьшается, так что пользователь может контролировать / перемещать один или несколько пикселей.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.