реклама на сайте
подробности

 
 
> USB мышь, Как парсить репорты?
mantech
сообщение Aug 17 2015, 12:47
Сообщение #1


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Собственно вопрос, есть несколько усб мышей, репорт первой - 4 байта, кнопки, X,Y,колесо.
Вторая, тоже самое но еще 5 байт - кнопки на колесе, а есть 3я, у нее 8 байт, причем данные кнопок начинаются со второго байта и далее, как в первых случаях, а первый байт всегда =1.
Соотв, все координаты считаются неправильно.

Вопрос, как распознать, что есть что??? По каким критериям, ведь винда-то как-то знает, какие байты куда использовать, причем никаких драйверов не загружаю.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 4)
Сергей Борщ
сообщение Aug 17 2015, 18:38
Сообщение #2


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



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


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
mantech
сообщение Aug 17 2015, 18:57
Сообщение #3


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(Сергей Борщ @ Aug 17 2015, 21:38) *
Если типов больше одного, то первым байтом будет передаваться идентификатор типа этого репорта.

Да, так и есть, причем иногда это 1 а бывает и 3. Вопрос, а можно задавать мыши, чтоб первым был 3й или 2й?
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Aug 18 2015, 05:58
Сообщение #4


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Вероятнее всего мышь посылает репорты по мере готовности новых данных. Точнее сможет сказать только автор ее программы. Возможно она поддерживает отсылку данных и по запросу, но я так глубоко класс HID не копал, попробуйте погуглить на эту тему (HID class) самостоятельно.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
mantech
сообщение Aug 19 2015, 12:57
Сообщение #5


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(Сергей Борщ @ Aug 18 2015, 08:58) *
попробуйте погуглить на эту тему (HID class) самостоятельно.


Гуглить-то гуглил, да только ничего нет даже в близком приближении, все про винду, да как девайсы делать.
Хорошо, пререфразирую вопрос - у кого-нибудь ВООБЩЕ эти мыши работают, в собственной системе, не в винде, линуксе и пр... В САМОПИСНЫХ драйверах?? Или это фантастика...
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd June 2025 - 09:51
Рейтинг@Mail.ru


Страница сгенерированна за 0.01349 секунд с 7
ELECTRONIX ©2004-2016