Previous: Input Modes, Up: Terminal Input

38.13.2 Recording Input

— Function: recent-keys

This function returns a vector containing the last 300 input events from the keyboard or mouse. All input events are included, whether or not they were used as parts of key sequences. Thus, you always get the last 300 input events, not counting events generated by keyboard macros. (These are excluded because they are less interesting for debugging; it should be enough to see the events that invoked the macros.)

A call to clear-this-command-keys (see Command Loop Info) causes this function to return an empty vector immediately afterward.

— Command: open-dribble-file filename

This function opens a dribble file named filename. When a dribble file is open, each input event from the keyboard or mouse (but not those from keyboard macros) is written in that file. A non-character event is expressed using its printed representation surrounded by ‘<...>’. Be aware that sensitive information (such as passwords) may end up recorded in the dribble file.

You close the dribble file by calling this function with an argument of nil.

See also the open-termscript function (see Terminal Output).