Как глобально фиксировать каждый щелчок мыши в X11?

Я хочу фиксировать каждое событие щелчка мыши в X11 и передавать их моему приложению C ++ . Я хочу фиксировать не только щелчки, сделанные в верхней части моего главного окна, но и все без исключения, независимо от моего главного окна. Похоже, я мог бы легко сделать это с помощью XGrabPointer. Однако я хочу, чтобы все вело себя так, как будто я никогда не ловил событие. То есть я хочу, чтобы события продолжали свое обычное путешествие к другим клиентам вниз по иерархии, я просто хочу быть первым, кто отслеживает события. Я не хочу, чтобы события были «съедены».

Кажется, есть несколько решений этой проблемы, которые возникают при поиске в Google, но, по всей видимости, все они не работают или устарели. Самым многообещающим из них был Xrecord + Xtest, но он тоже кажется устаревшим.

Похоже, что в настоящее время это нужно делать с помощью Xinput2, но информации о том, как его использовать, действительно мало. Буду признателен за понимание.

РЕДАКТИРОВАТЬ: Я все еще хотел бы получить ответ на этот вопрос!

5
задан svenstaro 27 March 2012 в 20:40
поделиться