мониторинг событий (клавиатура, мышь) в X

26

Можно ли отобразить все события, сгенерированные в Xorg? Такие как нажатие клавиатуры, события мыши ...?

Fstab
источник

Ответы:

34

Довольно быстрый поиск, вероятно , дает xevв результате. Он не покажет вам все, что когда-либо нажималось или печаталось на X. Скорее, позволит вам увидеть информацию о кодах клавиш и движениях мыши.

Однако, с помощью этой -rootопции, вы можете получить xevвозможность отслеживать весь сеанс X. Обратите внимание, что если вы сделаете это, вам будет довольно сложно взаимодействовать с любой программой, поскольку xevона будет захватывать весь ввод.

xev -rootпоставляется с подразумеваемым "YMMV". Другое возможное решение - использовать, xinputчтобы выполнить работу (хотя вам нужна последняя версия (1.6.1 или выше)):

$ xinput test-xi2 --root

Хотя вышеперечисленное должно быть в состоянии захватить все события, если вы xinputне поддерживаете test-xi2или --root, вы можете использовать xinput testна определенном устройстве клавиатуры или мыши .

Смотрите также этот другой вопрос: записывать каждое нажатие клавиши и сохранять в файл

HalosGhost
источник
1
На самом деле, xevдолжен показывать вам все события ... просто он отслеживает только одно окно за раз. Возможно, кто-то может взломать сценарий для запуска нескольких копий xevкаждого окна мониторинга, чтобы в итоге вы могли контролировать все из них?
Селада,
Тесты xev и xinput не показывают события касания, в то время как xinput test-xi2 показывает.
u149796
1
@dkreuter, я добавил вашу квалификацию inline.
HalosGhost
5
«Однако, с опцией -root вы могли бы заставить xev контролировать весь сеанс X». <= Это неправильно. Таким образом, xevбудут записываться только события в «корневом окне», то есть, как правило, фон вашего рабочего стола. xinputявляется правильным решением для захвата всех событий независимо от текущего активного окна.
Фриц