check for keyboard press in while loop
    30 views (last 30 days)
  
       Show older comments
    
I'd like to check for a keyboard press and increment a number if the right arrow key is pressed and decrement if the left array key is pressed.
2 Comments
  Geoff Hayes
      
      
 on 11 Mar 2020
				raheem - please provide some context. Do you have a figure or GUI that you can use to listen for key press events? Or are you doing something else?
Answers (2)
  Geoff Hayes
      
      
 on 12 Mar 2020
        raheem - since you have a figure, you could use the WindowKeyPressFcn to listen for a key press event (assuming that the figure has focus). You could then change the contents of the axes given the left or right arrow. Just save the below to a file named MyKeyPressListener.m.
function MyKeyPressListener
hFig = figure;
hAxes = gca;
set(hFig,'WindowKeyPressFcn',@keyPressCallback);
    function keyPressCallback(source,eventdata)
        % determine the key that was pressed
        keyPressed = eventdata.Key;
        if strcmpi(keyPressed,'rightarrow')
            C = [0 2 4; 8 10 12; 16 18 20];
            imagesc(C, 'Parent', hAxes);
        elseif strcmpi(keyPressed,'leftarrow')
            C = [0 2 4 6; 8 10 12 14; 16 18 20 22];
            imagesc(C, 'Parent', hAxes);
        end
    end
end
0 Comments
See Also
Categories
				Find more on Desktop in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

