elisp: Recording 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’ (SeeCommand 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 (SeeTerminal Output).