How to use WindowKeyPressFcn while brush tool is active

4 views (last 30 days)
I have built a GUI using GUIDE which allows users to select datapoints with the brush tool, and click a push button to assign a label to the selected data. I want to also allow users to press a key on the keyboard to assign a label to the selected data, but the WindowKeyPressFcn callback only works if the brushing tool is not selected. Is there a workaround for this, or another way to take input from the keyboard while the brush is active? The goal was to speed up the process by not requiring users to move the cursor between the plot and the push buttons as much, so a solution which requires users to click somewhere else (i.e. the command line or the brush icon) before pressing a key wouldn't be very useful. Thanks!

Accepted Answer

Walter Roberson
Walter Roberson on 1 Feb 2020
There is a hack that can permit it. I invented one and posted it a number of years ago, but a different version was required for hg2 in R2014b and later. The adjusted version by Yair is posted at
Eric Snyder
Eric Snyder on 3 Feb 2020
This worked! I used the lines:
hManager = uigetmodemanager(hFig);
[hManager.WindowListenerHandles.Enabled] = deal(false); % HG2 (on 2014b or later)
set(hFig, 'KeyPressFcn', @myKeyPressCallback);
Thank you!

Sign in to comment.

More Answers (0)


Find more on Migrate GUIDE Apps 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!