Как я могу получить абсолютную позицию мыши в Linux в C

Насколько я знаю, два способа получить положение мыши используют libgpm или чтение /dev/input/mice файл. Но последний просто возвращает относительное положение с последней позиции. Итак, мой вопрос, как я могу получить абсолютная позиция мыши хоть читаю /dev/input/mice или другим способом.

И я хочу реализовать эту функцию путем C или же C++, Любая информация будет оценена.

0

Решение

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

И почти все графические среды Linux выше X11, так что это сервер X11 (обычно Xorg процесс), который имеет дело с мышью (это единственный процесс, на самом деле чтение /dev/input/mice)

Затем вам нужно будет создать клиентское приложение X11. Увидеть этот & тот вопрос. Но вы будете намного лучше в использовании некоторой существующей библиотеки инструментария, такой как Qt или GTK; см. например QMouseEvent & QWidget :: mouseMoveEvent в Qt и GtkWidget сигнал «движение-уведомление-событие» в Gtk (и многие другие функции).

Смотрите также этот вопрос

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]