monitoraggio degli eventi (tastiera, mouse) in X


26

È possibile visualizzare tutti gli eventi generati in Xorg? Come tastiera premuta, eventi del mouse ...?

Risposte:


34

Una ricerca piuttosto rapida probabilmente produrrebbe xevdi conseguenza. Non ti mostrerà mai tutto ciò che viene premuto o digitato in X. Ma piuttosto, ti permetterà di vedere informazioni su codici chiave e movimenti del mouse.

Tuttavia, con l' -rootopzione, potresti essere in grado xevdi monitorare l'intera sessione X. Nota, se lo fai, renderai piuttosto difficile interagire effettivamente con qualsiasi programma poiché xevcatturerà tutti gli input.

xev -rootviene fornito con un "YMMV" implicito. Un'altra possibile soluzione è utilizzare xinputper completare il lavoro (sebbene sia necessaria una versione recente (1.6.1 o successiva)):

$ xinput test-xi2 --root

Mentre quanto sopra dovrebbe essere in grado di acquisire tutti gli eventi, se il tuo xinputnon supporta test-xi2o --root, è possibile utilizzare xinput testsu un determinato dispositivo tastiera o mouse .

Vedi anche questa altra domanda: registra ogni sequenza di tasti e memorizza in un file


1
In realtà, xevdovrebbe mostrarti tutti gli eventi ... è solo che controlla solo una finestra alla volta. Forse uno potrebbe hackerare uno script per lanciare più copie di xevogni monitoraggio di una finestra in modo da finire per monitorarle tutte?
Celada,

xev e xinput test non mostrano eventi touch mentre xinput test-xi2 lo fa.
u149796,

1
@dkreuter, ho aggiunto la tua qualifica in linea.
HalosGhost

5
"Tuttavia, con l'opzione -root, potresti essere in grado di ottenere xev per monitorare l'intera sessione X." <= Questo è sbagliato. In questo modo, xevacquisirà solo eventi nella "finestra principale", ovvero normalmente sullo sfondo del desktop. xinputè la soluzione corretta per acquisire tutti gli eventi indipendentemente dalla finestra attualmente attiva.
Fritz,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.