Returning which button was pressed.

6 views (last 30 days)
Hi guys, I have been looking for a while but cant seem to find an answer. If i use something like:
waitforbutttonpress
can I return the button which was pressed? for example:
button = waitforbuttonpress
if button == rightMouse
methodOne
elseif button == leftMouse
methodTwo
else
break
end
  1 Comment
Sergey Lopatnikov
Sergey Lopatnikov on 19 Feb 2017
It will not work. You cannot exit from loop this way. You only can start loop as one of the methods, However, if you start loop[ you will not be able to stop evaluation by mouse click because decision is outside the loop.

Sign in to comment.

Accepted Answer

José-Luis
José-Luis on 26 Oct 2012
f = figure(1);
click_type=get(f,'SelectionType');
if strcmp(click_type,'normal') %right click
%Do some stuff
elseif strcmp(click_type,'alt') %left click
%Do some other stuff
end
  4 Comments
Tim Mottram
Tim Mottram on 26 Oct 2012
Answered my own question. if you want it to wait you need waitforbuttonpress.
Tim Mottram
Tim Mottram on 26 Oct 2012
This worked perfectly thanks for all your help :)

Sign in to comment.

More Answers (1)

Sachin Ganjare
Sachin Ganjare on 26 Oct 2012
  1 Comment
Tim Mottram
Tim Mottram on 26 Oct 2012
Thanks for the help, I'm not using a GUI but I'll have a look and see if I can modify something :).

Sign in to comment.

Categories

Find more on Interactive Control and Callbacks in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!