How to get the last character pressed on the keyboard?
10 次查看(过去 30 天)
显示 更早的评论
I dont want to wait to anything, just need to read out the last pressed key. Is it possible?
0 个评论
回答(1 个)
Guillaume
2018-3-14
编辑:Guillaume
2018-3-14
Neither matlab nor the OS keep a record of the key presses. If you don't capture it when it occurs, then it never happened.
If you're using a matlab GUI, you could detect all keypresses (while your GUI has focus) using the WindowKeyPressFcn callback and store the key pressed into a variable. Whatever last value was written in this variable would be the last key pressed.
If you want it to work without a GUI or want to track key pressed even when your GUI is not in focus, then you'll have to hook directly into your OS API most likely via a mex file. An exercice left to the reader... Again you'll have to actively capture the key presses and keep the last one on hand for when you need it.
1 个评论
Walter Roberson
2018-3-14
If a figure is in focus then you can access its CurrentCharacter property.
If you do not have any figures at all then see Guillaume's answer.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Argument Definitions 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!