Matlab 'get' function and detecting user mouse click

106 views (last 30 days)
I am using the get function to retrieve the mouse position like this:
get(0,'PointerLocation');
I also need to detect when a mouse button has been clicked. I've tried searching everywhere I know to search for this and cannot find how to do it. I also can't really find everything the get function can do (such as PointerLocation or ScreenSize, etc).
I'm using the java robot in other places in my code to move the mouse and get screen pixel colors. Is there any java functionality that will detect mouse clicks? Is there good documentation on what other java functionality there is for matlab and how to use it (syntax)?
Thanks in advance
  1 Comment
Doli Swey
Doli Swey on 5 Mar 2021
Hi Brandon, did you find the answer? I am looking exactly same thing ...

Sign in to comment.

Answers (1)

Dasharath Gulvady
Dasharath Gulvady on 5 Aug 2014
Edited: Dasharath Gulvady on 5 Aug 2014
Brandon, This can be achieved using 'WindowButtonDownFcn' property of the figure object.
Here is a demo code for the same:
function demo()
figure('WindowButtonDownFcn',@callBack)
function callBack(hObject,~)
mousePos=get(hObject,'CurrentPoint');
disp(['You clicked X:',num2str(mousePos(1)),', Y:',num2str(mousePos(2))]);
Hope this helps!
  2 Comments
Brandon
Brandon on 7 Aug 2014
That works nicely, but I need this to work in another window outside of Matlab. Can this work like that with a modification or is there any other way to do it?
Dasharath Gulvady
Dasharath Gulvady on 7 Aug 2014
what exactly do you mean by "another window outside of Matlab"?

Sign in to comment.

Categories

Find more on Startup and Shutdown in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!