Manual Reference Pages - XRESPONSE (1)


xresponse - a simple tool for measuring UI response times to a full mouse click event and synthesizing key events.


See Also


xresponse [OPTION]...


This manual page documents briefly the xresponse command. This manual page was written for the Debian GNU/Linux distribution because the original program does not have a manual page.

xresponse is a simple tool for measuring UI response times to a full mouse click event. It requires the Xtest, to 'fake' the mouse and key events, and XDamage, to report areas of the display that have changed.


Commands are any combination of;

-c, --click XxY
  Send click to given coordinates and wait for damage response.
-d, --drag XxY, XxY, XxY, XxY, ...
  Simulate mouse drag and collect damage.
-k, --key keysym[,delay]
  Simulate pressing and releasing a key. The optional delay is in milliseconds. If not specified, a default of 100 ms is used.
-m, --monitor WIDTHxHEIGHT+X+Y
  Watch area for damage (default fullscreen)
-w, --wait seconds
  Max time to wait for damage, set to 0 to monitor for ever (default 5 secs). This affects the duration of damage monitoring after every subsequent command (unless later reset again with another invocation(s) of -w).
-o, --logfile file
  Use file as the logfile. When used, it should be the first option.
-s, --stamp string
  Write string to logfile.
-t, --type string
  Simulate typing a string by synthesizing key events.
-i, --inspect
  Just display damage events.
-v, --verbose
  Output response to all command line options


Click mouse at 100,100 and collect max 5 seconds of damage events;

        xresponse -c 100x100

Click and hold mouse at 100,100, then move to 101,100, then 105,100, then 110,100 and finally release mouse. Damage is collected between each point with max 5 seconds.

        xresponse -d 100x100,101x100,105x100,110x100

Click the mouse at 100x100, 100x150 and 200x200 collecting a max one second of damage for each only in 240x320+0+0;

        xresponse -w 1 -m 240x320+0+0 -c 100x100 -c 100x150 -c 200x200

Monitor all damage for ever;

        xresponse -w 0 -i

Monitor only top corner of screen for 10 seconds, then send a click collecting 5 seconds of damage

        xresponse -w 10 -m 240x320+0+0 -i -w 5 -c 100x100

Simulate pressing the F4 key with half a second between the keypress and -release;

        xresponse -k F4,500

Simulate pressing keys 'q', 'w' and 'e' with default press/release delay. Additionally, duration of damage collection after first two keypresses has been adjusted to ten seconds. After this, the damage collection period is readjusted to one second prior to simulating the rest of the keypresses.

        xresponse -w 10 -k q -w 1 -k w -k e

Simulate typing the string 'Testing';

        xresponse -t Testing


You can use xmag(1) to figure out screen coordinates for window clicks.

You can use xev(1) to figure out what keysym is needed to simulate a press of certain key (note that for most alphanumeric characters, the keysym is just the same one-character symbol, e.g. 'a' key without modifiers has keysym of 'a').


Xresponse is authored by Matthew Allum and Ross Burton.


xmag(1) xev(1)

Improve this page