Version (888 Bytes) by Marc Jakobi
Locks the cursor horizontally or vertically
Updated 6 Feb 2017

View License

LOCKPOINTER: Add this to a listener for a figure's 'WindowMouseMotion'
event to lock the cursor horizontally or vertically.
Syntax: setPointer(xp, axis)
xp: pointer pixel position of format [x, y]
axis: 'x' to lock to vertical line (locks x position)
'y' to lock to horizontal line (locks y position)

Usage example:

fig = figure;
ax = axes;
[xx(2), yy(2)] = ginput(1);
x_p = get(0, 'PointerLocation');
% other code here
hL = addlistener(fig,'WindowMouseMotion', @(x, y) lockPointer(x_p, 'x'));
[xx(1), yy(1)] = ginput(1);

Author: Marc Jakobi, 07. February 2017

Note: If somebody has a tip for a significant performance improvement to make the above example less jittery, please let me know. Leaving out the strcmp(axes) check does not make a noticeable difference on my machine.

Cite As

Marc Jakobi (2024). lockPointer (https://www.mathworks.com/matlabcentral/fileexchange/61469-lockpointer), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2016b
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!
Version Published Release Notes