GUI Keyboard Commands HELP

2 views (last 30 days)
John
John on 11 Dec 2012
Hi,
I have a complex GUI, but I have what I think is a fairly simple problem.
I have keyboard commands set to various commands including button presses (This is because eventually the GUI needs to operate as keyboard only). The problem I have is that I have to manually click the figure window before it allows the GUI to recognise that I'm pressing keyboard buttons.
Is there a way to set the current figure to be the focus so that I don't need to use the mouse?
Thanks in advance!
JD

Accepted Answer

Sean de Wolski
Sean de Wolski on 11 Dec 2012
Yes!
You need to steal focu back to the figure from whatever uicontrol/uipanel/axes/etc. has stolen it.
To do this, at the end of a callback function for one of these widgets:
set(H, 'Enable', 'off');
drawnow;
set(H, 'Enable', 'on');
Where H is the handle to that widget.
  4 Comments
Jan
Jan on 12 Dec 2012
@John: In Sean's example, H is the handle of the uicontrol or axes object, not the handle of the figure.
John
John on 19 Feb 2013
Thanks Saun and Jan. Much appreciated. I've been working on other stuff until now so sorry for the delay in my thanks!

Sign in to comment.

More Answers (0)

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!