How to determine if enter(return) was pressed ?
27 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
更多回答(1 个)
Sven
2012-11-6
编辑:Sven
2012-11-6
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 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!