File Exchange

image thumbnail


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


Updated 01 Sep 2016

View Version History

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 (2021). 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

Gautam Vallabha

@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

kakani young

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?

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

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!