How to make MATLAB detect keyboard stroke?
583 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
M Min
am 16 Apr. 2017
Beantwortet: Amir Azadeh Ranjbar
am 19 Okt. 2023
Hi,
I want to write a code which detect left and right arrow stroke in keyboard.
I tried to use below kind of code but it shows crosshair and also interrupts the working of other line. (Making crosshair invisible is somewhat important in this case)
[~,~,button]=ginput(1);
switch button
case 28 %left
case 29 %right
end
Is there any better way to do it? Thanks!
0 Kommentare
Akzeptierte Antwort
Nirav Sharda
am 18 Apr. 2017
There are a couple of ways to achieve this. You can use the KeyPressFcn callback on the figure window. Here is an example.
h_fig = figure;
set(h_fig,'KeyPressFcn',@myfun);
The myfun here could have something like this.
function myfun(src,event)
disp(event.Key);
end
k = waitforbuttonpress;
% 28 leftarrow
% 29 rightarrow
% 30 uparrow
% 31 downarrow
value = double(get(gcf,'CurrentCharacter'))
I hope this helps.
6 Kommentare
Caden Scharpf
am 21 Apr. 2020
The numbers for the keys are their corresponding ASCII Charactershttps://www.petefreitag.com/cheatsheets/ascii-codes/
Weitere Antworten (2)
Siehe auch
Kategorien
Mehr zu GUIDE 앱 마이그레이션하기 finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!