Arch Linux C ++ читает данные позиционирования USB-мыши

0

Я запускаю Arch Linux на малине и мне нужно получить данные о местоположении для 4 USB-мышей из приложения C++, как и для каждой отдельной мыши. Мне нужно знать, сколько пикселей оно перемещало, когда оно перемещалось. У меня нет x-сервера в моей системе, и я предпочел бы оставить его таким образом, если это необходимо, потому что это для встроенного проекта, для которого не требуется графический интерфейс, и я бы предпочел не тратить лишнее пространство или накладные расходы на x-сервере.

Самое полезное, что я нашел, это ссылка https://www.kernel.org/doc/Documentation/input/input.txt, но я не могу понять, как заставить ее работать для моей цели. Как можно, очевидно, определить, что я НЕ испытываю в разработке Linux, не делайте мне тяжело.

  • 0
    Прежде всего, поскольку у вас нет дисплея, у вас нет пикселей. Во-вторых, вы должны помнить, что мышь сообщает только о том, что она сместила единицы X в некотором направлении, и вы должны использовать эти относительные движения, чтобы самостоятельно рассчитать положение «курсора».
  • 0
    @JoachimPileborg извините за терминологию, но я на самом деле имею в виду, что я хочу знать, на сколько единиц переместилась мышь, я просто использовал слово pixel, но я явно не обращаюсь к ним. Я хочу эти данные о движении, потому что это не для пользовательского интерфейса.
Теги:
usb
archlinux
mouse

1 ответ

0

Вы открываете eg /dev/input/mouse0 для чтения (используя open), затем read структуру, определенную в документе, который вы связываете (внизу документа), а также указывается, какой заголовочный файл должен включать.

Я предполагаю, что вы получите событие типа EV_REL для перемещения мыши, с кодом REL_X или REL_Y для направления движения, а значение - количество единиц перемещения мыши. Сравните метку времени с меткой времени предыдущего события, чтобы узнать, как быстро она перемещается.

  • 0
    Теперь я реализовал это с помощью event3, потому что mouse0 не работает, но по какой-то причине он дает одинаковые числа для движений X и Y и, кажется, никогда не дает отрицательного значения.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню