Переводить необработанные данные мыши / указателя во что-то значимое? - PullRequest
0 голосов
/ 30 декабря 2011

Я использую hexdump -C для отображения данных в реальном времени с указательного устройства на коробке linux. Информация, которую он возвращает, составляет 16 байтов в шестнадцатеричной строке Как это:

000001b0  a9 1c fd 4e f1 2c 0f 00  01 00 3e 00 01 00 00 00  |...N.,....>.....|
000001c0  a9 1c fd 4e 0e 2d 0f 00  01 00 3e 00 00 00 00 00  |...N.-....>.....|
000001d0  a9 1c fd 4e 16 2d 0f 00  00 00 00 00 00 00 00 00  |...N.-..........|
000001e0  aa 1c fd 4e b1 9a 05 00  01 00 3d 00 01 00 00 00  |...N......=.....|
000001f0  aa 1c fd 4e ce 9a 05 00  01 00 3d 00 00 00 00 00  |...N......=.....|
00000200  aa 1c fd 4e d5 9a 05 00  00 00 00 00 00 00 00 00  |...N............|

Мой вопрос: как мне узнать, как перевести эту строку в данные координат из указателя мыши?

Ответы [ 3 ]

1 голос
/ 30 декабря 2011

Большинство USB-устройств ввода соответствуют спецификации USB HID . Драйвер Xorg evdev(4) должен просто использовать практически любое указывающее устройство.

Если вы пишете свой собственный драйвер, libusb может быть хорошей отправной точкой.

0 голосов
/ 30 декабря 2011

Проб и ошибок может быть?Вы знаете разрешение экрана, так что это может помочь.Вы можете попробовать поместить указатель мыши в верхний левый угол (0, 0) и записать, какие данные вы получите.Надеюсь, это не должно измениться, если вы попытаетесь прокрутить дальше экран (или данные повторяются).Затем переместите его в правый нижний угол и запишите, какие данные вы там получите.Опять же, вы надеетесь, что значения не изменятся, если вы попытаетесь прокрутить экран.Затем вы можете просмотреть данные, поиграть с порядком байтов до тех пор, пока значения не будут выглядеть правильно и выяснить, происходит ли какое-либо масштабирование.

Возможно

0 голосов
/ 30 декабря 2011

вам нужно найти, что такое периодичность и размер (в байтах) координат x и y

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...