How to determine if enter(return) was pressed ?
    4 visualizzazioni (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
Hi,
in one part of my code I need to determine if enter(return) was pressed. I am useing simple part of code:
kkey = get(gcf,'CurrentCharacter');
if strcmp(kkey, %comparing parameter)
    % my code
end
which works very well for every key imaginable except return key...when I try to examine it step by step I found that if I press for example number 1:
kkey = '1'
but when I press return field is suddenly 1x1char and blank...why is that ? shouldnt kkey variable be '13' like in the ascii that coresponds to return ??
From my point of view it's wierd...How can I than compare it ??
Thanks, Peter
0 Commenti
Risposta accettata
Più risposte (1)
  Sven
      
 il 6 Nov 2012
        
      Modificato: Sven
      
 il 6 Nov 2012
  
      Hi Peter,
I've found that it's often easier to supply an onKeyPress function like follows:
function testme()
figure('KeyPressFcn', @(src,evnt)onKeyPressRelease(evnt,'press'),...
    'KeyReleaseFcn',@(obj,evnt)onKeyPressRelease(evnt,'release')...
    );
end
function onKeyPressRelease(evnt, pressRelease)
disp(evnt)
disp(pressRelease)
end
If you test this, you'll see that you can capture "return" in the event.Key property:
      Character: '
  '
       Modifier: {1x0 cell}
            Key: 'return'
And you will know whether it was just pressed or released.
Thanks, Sven.
0 Commenti
Vedere anche
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

