File Exchange

image thumbnail


version (3.92 KB) by Matthew Kelly
Logs each key press and time, and saves to a data file.


Updated 26 Jan 2016

View License

% logKeyPress(logFileName)
% Logs each key press using a figure call-back. The key name and press time
% are both recorded, with the most recent data being displayed on the
% figure.
% logFileName = string = save file name (optional)
% A .mat file with a data structure: KEY_PRESS_DATA
% KEY_PRESS_DATA.time = vector of the times when keys were pressed, in
% units of seconds, with 0.0 corresponding to the time when this function
% was called.
% KEY_PRESS_DATA.keyName = cell array of the names of the keys that were
% pressed, matching one to one with the time data.
% Calling this function will start a timer (with tic) and then write the
% name of each key that is pressed, along with the time to a data
% structure.
% The most recent data is copied to the figure, for user feedback
% Data logging is stopped by pressing the excape key or by
% closing the figure window. Once this occurs, a dialogue box will pop up
% to confirm the file save operation (to prevent accidentally overwriting
% old data), and change the save name if desired.
% The figure is set to be in "modal" style which forces it to the top of
% all other windows. This is done to prevent missing keystrokes. This
% behavior can be changed by simply finding and removing the line:
% >> KEY_LOG_FIG.WindowStyle = 'modal';

Cite As

Matthew Kelly (2020). logKeyPress (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (0)


changed name

Fixed a memory leak.

MATLAB Release Compatibility
Created with R2015a
Compatible with any release
Platform Compatibility
Windows macOS Linux