The following is an example of the wpm.d script.
This script takes the name of a program to trace, and assumes that reads
on file descriptor zero (STDIN) are keystrokes.
When run, a 5 second count down begins before keystrokes are measured,
# wpm.d vim
Measuring will start in : 5 seconds
While running, I retyped the first three sentences of this file a few times
which clocked the following result,
# wpm.d vim
Measuring will start in : 0 seconds
Measuring will stop in : 0 seconds
Characters typed : 509
Words per minute : 84
Minimum keystroke latency : 12 ms
Average keystroke latency : 118 ms
Maximum keystroke latency : 493 ms
Word size distribution (letters),
value ------------- Distribution ------------- count
0 | 0
1 |@@@ 6
2 |@@@@@ 11
3 |@@@@@ 11
4 |@@@@@@ 13
5 |@@@@ 8
6 |@@@@@@ 12
7 |@@@@@ 11
8 | 0
9 |@@ 4
10 |@ 3
11 |@ 2
12 | 0
13 | 0
14 | 1
15 | 0
Keystroke latency distribution (ms),
value ------------- Distribution ------------- count
4 | 0
8 | 1
16 | 5
32 |@@@@@ 66
64 |@@@@@@@@@@@@@@@@@@@@ 247
128 |@@@@@@@@@@@@@ 167
256 |@ 16
512 | 0