MATLAB: Key press in MATLAB

keyactionkeypress

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.

Best Answer

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.