Разбор / dev / input / мышей данных - PullRequest
0 голосов
/ 17 февраля 2019

Я пишу программу на C, которая читает и интерпретирует данные о положении мыши из / dev / input / mice, и записывает их.Однако у меня возникают проблемы с выяснением, как интерпретировать данные, которые я читаю из / dev / input / mice.Когда я распечатываю необработанные данные из чтения / dev / input / mice, я получаю длинный список значений.Например, вот что я получаю:

57, 129, 129

Эти данные были получены при прикосновении к сенсорному экрану в левом нижнем углу.

Кто-нибудь знает, как анализировать эти данные (илиможете указать на какую-то документацию)?Это необработанные данные с самого устройства HID или из ядра?Я прочитал несколько других сообщений о том, что есть только три байта данных: Xpos, Ypos и статус щелчка.Это не может быть правдой.Данные x и y содержат больше разрешения, чем могут поместиться в один байт данных (2 ^ 8), и я получаю намного больше, чем только три байта, когда читаю из файла / dev / input / mice.

ТакжеЯ знаю, что есть библиотеки, которые взаимодействуют с X-сервером, которые вы можете использовать для чтения данных мыши.Мой вопрос конкретно о данных из /dev/input/mice.

В случае, если это имеет значение, я запускаю код на Raspberry Pi с Raspbian.Код для чтения значений:

char mouse_data[num_mouse_bytes];
int mouse_directory = open("/dev/input/mice", O_RDONLY);
int bytes_read = read(mouse_directory, mouse_data, num_mouse_bytes);
int byte_index = 0;
while(byte_index < bytes_read){
    printf("%hhu, " mouse_data[byte_index]);
    byte_index++;
}
...