моніторинг подій (клавіатура, миша) в X


26

Чи можливо відобразити всі події, що генеруються в Xorg? Такі як натискання клавіатури, події миші ...?

Відповіді:


34

Досить швидкий пошук, ймовірно, отримає xevрезультат. Він не покаже вам усе, що натискається або набирається в X коли-небудь. Але, скоріше, дозволить побачити інформацію про клавіші та рухи миші.

Однак за допомогою цієї -rootопції ви можете отримати xevможливість контролювати весь X сеанс. Зауважте, якщо ви це зробите, вам буде досить важко реально взаємодіяти з будь-якою програмою, оскільки xevбуде зафіксовано весь вхід.

xev -rootпоставляється із мається на увазі "YMMV". Іншим можливим рішенням є використання, xinputщоб виконати роботу (хоча вам потрібна остання версія (1.6.1 або вище)):

$ xinput test-xi2 --root

Хоча вищезазначене має бути в змозі фіксувати всі події, якщо xinputвони не підтримують test-xi2або --root, ви можете використовувати xinput testна певній клавіатурі чи мишачому пристрої.

Дивіться також це інше питання: Запишіть кожне натискання клавіш і збережіть у файлі


1
Насправді, xevповинен показувати вам усі події ... це просто те, що воно стежить лише за одним вікном. Можливо, можна зламати сценарій, щоб запустити кілька копій xevкожного моніторингу одного вікна, щоб ви в кінцевому підсумку стежили за всіма ними?
Селада

xev і xinput test не показують, що ви торкаєтесь подій, тоді як xinput test-xi2 робить.
u149796

1
@dkreuter, я додав вашу кваліфікаційну характеристику.
HalosGhost

5
"Однак, за допомогою параметра -root, ви можете отримати xev для моніторингу всього X сеансу." <= Це неправильно. Таким чином, xevбуде відображатися лише подія в "кореневому вікні", тобто зазвичай фон робочого столу. xinputє правильним рішенням для фіксації всіх подій незалежно від поточного активного вікна.
Фріц
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.