编者按:这个文件被选为MATLAB中心本周精选
CH = getkey等待一个按键并返回ASCII码。它
接受所有ASCII字符,包括退格(8)、空格(32)、
输入(13)等,可以在键盘上输入。
非ascii键(ctrl, alt, ..)返回NaN。CH是双键。
CH = getkey(N)等待N个按键并返回它们的ASCII码。
Getkey(1)与不带参数的Getkey相同。
getkey('non-ascii')或getkey(N, 'non-ascii')使用non-documented . getkey('non-ascii')
Matlab的功能是返回一个描述按键按下的字符串。
这样,ctrl、alt、tab等键也可以区分。
返回是一个字符串(当N = 1时)或一个字符串单元格数组。
[CH, T] = getkey(…
功能和每个按键。然而,这不是很准确。
这个函数是c语言中“get”的一种变通方法,它使用一个模态,
但非可见窗口,它会显示在任务栏上。
c语言关键字:KBHIT, KEYPRESS, getkey, GETCH
例1 -获取一个ascii键
fprintf('\nPress any key: ');
Ch = getkey;
流(% c \ n, ch);
例2 -等待一个特定的密钥
fprintf('\nPress ctrl键内3按:');
ch = getkey(3 '非ascii ')
如果ismember('control', ch), fprintf('OK\n');
其他流('……错误的钥匙……结束
例3 -打字游戏
S = 'abcdefghjiklm';
fprintf('Type "%s" as fast as possible…,年代\ n);
[C, T] = getkey(numel(S));
C = char(C);T = T(end)-T(1);
if ~isequal(S, C), fprintf('OOPS!!”);结束
fprintf('您在%中输入了“%s”。2 f秒。\n', C, T);
参见input, uiwait
getkeywait(文件交换)
作者注:14年之后依然强劲;-)
引用作为
乔斯(10584)(2021)。getkey(//www.tianjin-qmedu.com/matlabcentral/fileexchange/7465-getkey), MATLAB中央文件交换。检索.