图片缩略图

getkey

版本2.1 (2.8 KB) 乔斯(10584)
得到一个键盘按键

19.2 k下载

更新2019年2月11日

查看许可协议

编者按:这个文件被选为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中央文件交换。检索

MATLAB版本兼容性
创建R2018b
与任何版本兼容
平台的兼容性
窗户 macOS Linux

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始狩猎!