Is it possible to display all events that are generated in Xorg? Such as keyboard pressed, mouse events...?
1 Answers
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
- 4,732
- 10
- 33
- 41
-
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 of `xev` each monitoring one window so that you end up monitoring all of them? – Celada Jul 24 '14 at 08:02
-
xev and xinput test don't show you touch events while xinput test-xi2 does. – u149796 May 07 '15 at 09:01
-
1@dkreuter, I have added your qualification inline. – HalosGhost May 07 '15 at 13:16
-
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. – Fritz Nov 17 '15 at 13:07