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

23 visualizaciones (últimos 30 días)
Ahsan Ayyaz
Ahsan Ayyaz el 7 de Jul. de 2020
Comentada: Matt el 27 de Oct. de 2023
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.

Respuestas (1)

Tommy
Tommy el 8 de Jul. de 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
  3 comentarios
Tommy
Tommy el 10 de Jul. de 2020
Glad to hear you got it working!
Matt
Matt el 27 de Oct. de 2023
I am trying to implement something similar for a spacebar clicker replica. I want to add a time interval to your code so that spacebar press is emulated after a set interval. can you please help me out here? thanks in advance.

Iniciar sesión para comentar.

Categorías

Más información sobre Timing and presenting 2D and 3D stimuli en Help Center y File Exchange.

Productos


Versión

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by