Вам нужно прервать цикл запуска скрипта, чтобы Matlab обрабатывал другие события, по сути, ваше нажатие клавиши.Вы можете сделать это, добавив drawnow внутри вашего цикла while, приведенный ниже код должен дать вам достаточно для включения в ваш собственный:
fig = figure;
set(fig,'WindowKeyPressFcn',@(hFig,hEvent)fprintf('pressed key %s\n',hFig.CurrentKey) );
drawnow();
while true
if ~ishandle(fig); break; end
drawnow();
end