MATLAB Answers

how to detect a keyboard key in a while loop using a figure

6 views (last 30 days)
Ahsan Ayyaz
Ahsan Ayyaz on 7 Jul 2020
Commented: Tommy on 10 Jul 2020
I am using arduino nano and checking push buttons in a while loop. I want to detect a keyboard key, say 'spacebar' and simulate a push button. A figure with a push button is the desired output. Everytime the figure is in focus and the 'spacebar' is pressed on the keyboard, it should turn on and off a digital output of arduino board.

  0 Comments

Sign in to comment.

Answers (1)

Tommy
Tommy on 8 Jul 2020
You could use the figure's KeyPressFcn, possibly combined with some of the ideas below:
myFig = figure('KeyPressFcn', @myKeyPressFcn,...
'UserData', false);
a = 0;
while true
a = a + rand;
if myFig.UserData
close(myFig)
break
end
drawnow % <- important so that myKeyPressFcn() gets called when a key is pressed
end
disp(a)
function myKeyPressFcn(src, evt)
if strcmp(evt.Key, 'space')
src.UserData = true;
end
end

Community Treasure Hunt

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

Start Hunting!

Translated by