File Exchange

image thumbnail


version (2.4 KB) by Gautam Vallabha
Captures continuous mouse movements with timeout

1 Download

Updated 01 Sep 2016

View License

MOUSEINPUT_TIMEOUT returns continuous mouse locations with timeout
OUT = MOUSEINPUT_TIMEOUT returns the sequence of mouse locations between a button press and a button release in the current axes. It does not timeout. OUT is an Nx2 matrix, where OUT(1,:) is the location at button press and OUT(END,:) is the location at button release.

OUT = MOUSEINPUT_TIMEOUT(T) times out after a period of T seconds. T can be a fractional value (T=inf indicates no timeout). If the mouse-button has not been pressed during that time, OUT is []. If the timeout occurs during a mouse movement, OUT contains the mouse locations before the timeout.

OUT = MOUSEINPUT_TIMEOUT(T,AH) records the mouse movement from the axes specified by axes handle AH.

Note: MOUSEINPUT_TIMEOUT differs from GINPUT in two ways.
(1) It does not return information about which mouse button was pressed,
(2) It ignores key presses.

-- Example:
% record movements from current axes
% (with timeout after 4.5 sec), and
% plot the final movement.
out = mouseinput_timeout(4.5, gca);
hold on;
out(1,:) % location at button-press
out(end,:) % location at button-release

Cite As

Gautam Vallabha (2020). MOUSEINPUT_TIMEOUT (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (5)


Thank you Vallabha ,
I'm also working on online handwriting recognition as UTM ali.. and I could get x,y and time values .
I'm not familiar with matlab and I just want to draw the character on the figure and to be shown simultaneously as I move the mouse..I added a plot command at the end of "buttonMotionCallback" function :
but the figure dimensions was changing as I'm continuing drawing, any help please?
Thank you in advance

@UTM ali:

It is not possible to get the pressure value of the pen (since the code uses the mouse interface).

You can get the time for every point by a small tweak to the code. At the start of the function get the current time:
startTime = tic;
and change lines 89 and 99 to:
selectedPts(end+1,:) = [pt(1,1:2) toc(startTime)];

UTM ali

hi Vallabha
im working in online handwriting recognition.
that code is good. i can get (x,y)pts from pen online but the presure of the pen and time for every point i coudnt
can u adviceme

this code works perfectly! it allows me to use a pen tablet to extract curves directly from image files.

Cem Canciger

Dear Vallabha,

Code is excellent, thanks. But I'd like to ask something:

How can we acquire the mouse movements in real time by embedding your function to Simulink, or equivalently, is it possible to get real time mouse data?


Updated license

* Minor change to description

Updated a minor typo that caused an error in R2009b. The function should now work from R2006a through R2009b.

Updated summary & keywords.

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