Setting KeyPressFcn on current figure

8 views (last 30 days)
Jaap
Jaap on 10 Feb 2012
Hi all,
I have defined a KeyPressFcn (or WindowKeyPressFcn) for a figure. Now I want to keep that callback active while another figure has focus. Is this possible? Figure callbacks seem not to work on current figures but on focused figures. Can I change that, or is there some other solution?
Thanks!
Jaap

Answers (2)

Sean de Wolski
Sean de Wolski on 10 Feb 2012
No, the figure with the callback has to have focus. You could have a new figure take over with the keypressfcn while it's active perhaps. We'd need more detail to help you with a solution.

Jaap
Jaap on 13 Feb 2012
Thank you. This spares me from continuing that search.
My main window is a scatterplot. The user can select a point, and create a plot showing characteristics of that point. On the main window, arrow keys can move a selected point. I want that behaviour being reflected in both (figure) windows.
Could you reflect a bit on "having a new figure take over with the keypressfcn while it's active"?
  1 Comment
Sean de Wolski
Sean de Wolski on 13 Feb 2012
So the callback (keypressfcn) on the scatterplot that opens the new figure should pass it information with the handle to that point, the figure/axes handles and any other information it might need. Then it sets the keypressfcn of the new figure to do what you want (I would keep this callback in a standalone *.m file). The behavior that you want is completely feasible.
I hope this helps. Post more information if you want more detail.

Sign in to comment.

Categories

Find more on Environment and Settings 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!