Key press in MATLAB

12 visualizaciones (últimos 30 días)
Nick Matin
Nick Matin el 11 de En. de 2017
Comentada: Walter Roberson el 5 de Sept. de 2019
I have a main script in MATLAB in which I am calling four different functions each has been defined in a separate script.
function[] = main()
[par_1] =function_1(inp_1);
[par_2] = function_2(inp_2);
[par_3] = function_3(inp_3);
end
Now I want to define here that while for example function_1 is being called and is running, by pressing a key, for example 'esc', function_1 stops and return and function_2 starts running and so on. I don't know how to do this in MATLAB.

Respuesta aceptada

Walter Roberson
Walter Roberson el 11 de En. de 2017
In MATLAB, you can only do that with the cooperation of the function itself. You would define a callback such as a figure WindowKeyPressFcn callback, that would set a "key was pressed!" flag in a common space, and the functions being run would have to periodically check whether the flag was set and voluntarily exit if it found the flag set.
  5 comentarios
Thomas
Thomas el 4 de Sept. de 2019
Need a comma after that first line's 'UserData'
Walter Roberson
Walter Roberson el 5 de Sept. de 2019
You are correct, Thomas, it should have been
set(gcf, 'Windowkeypressfcn', @(src, event) set(src, 'UserData', true) )

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Desktop en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by