Is it possible to display all events that are generated in Xorg? Such as keyboard pressed, mouse events...?
1 Answer
A pretty quick search would likely yield xev
as a result. It will not show you everything that is pressed or typed in X ever. But rather, will allow you to see information about keycodes and mouse movements.
However, with the -root
option, you might be able to get xev
to monitor the whole X session. Note, if you do this, you'll make it pretty difficult to actually interact with any program since xev
will be capturing all input.
xev -root
comes with an implied "YMMV". Another possible solution is to use xinput
to get the job done (though you need a recent version (1.6.1 or above)):
$ xinput test-xi2 --root
While the above should be able to capture all events, if your xinput
doesn't support test-xi2
or --root
, you can use xinput test
on a particular keyboard or mouse device.
See also this other question: Record every keystroke and store in a file
-
1Actually,
xev
should show you all events... it's just that it only monitors one window at a time. Perhaps one could hack a script to launch multiple copies ofxev
each monitoring one window so that you end up monitoring all of them?– CeladaCommented Jul 24, 2014 at 8:02 -
xev and xinput test don't show you touch events while xinput test-xi2 does.– u149796Commented May 7, 2015 at 9:01
-
1
-
10"However, with the -root option, you might be able to get xev to monitor the whole X session." <= This is wrong. This way,
xev
will only capture events on the "root window", i.e. normally your desktop background.xinput
is the correct solution for capturing all events regardless of the currently active window.– FritzCommented Nov 17, 2015 at 13:07