Disabling Cntrl+Left Click = Right Click

3 views (last 30 days)
Stephen
Stephen on 28 Jul 2014
Commented: Robert Cumming on 28 Jul 2014
Apparently Matlab evaluates the following events as identical (within a callback function designed to handle mouse buttondown events):
Control + Left click => 'alt'
Right click => 'alt'
They are indistinguishable. Is there any way to have the following operation instead:
Control + Left click = 'normal', just with a control modifier on the figure
Right click = 'alt'?
Thank you!

Answers (1)

Robert Cumming
Robert Cumming on 28 Jul 2014
You can use the keypressfcn to register if ctrl is pressed and modify your call back in. I'd mouse button
  2 Comments
Stephen
Stephen on 28 Jul 2014
Either I don't understand your answer, or that doesn't quite work out for me. What I'm seeing is this:
When clicking:
control + Right Mouse Button
I see SelectionType as 'alt', modifier 'control', within the callback; exactly what I would expect.
When clicking:
Control + Left Mouse Button
I again see SelectionType as 'alt' (even though left mousebutton was used), and modifier of 'control'. In other words, I don't understand any way to distinguish between the two events and modify the callback in. I am trying to do one action on Control+RightClick and a completely different action on Control+LeftClick
Based on the docs, this operation seems to be a feature (somehow...): http://www.mathworks.com/help/matlab/ref/figure_props.html (under SelectionType).
Robert Cumming
Robert Cumming on 28 Jul 2014
I'm not near a copy of Matlab just now, but you should be able to use the keypressfcn to register if a key is pressed. Link that with your mouse call back to distinguish the difference between the two modes.

Sign in to comment.

Categories

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

Community Treasure Hunt

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

Start Hunting!