Non-wait检测键盘输入(包括墨西哥人实现)

返回最后一个键按下命令窗口,而无需显式地等待输入。m文件&墨西哥人

2 k下载

更新2011年3月3

查看许可协议

这些函数检索中最后一个键按下命令窗口,而无需显式地等待输入。有用的代码的情况下执行你想调查键盘输入,但你不想隐藏的数据。例如,mexKbhit可以用来中断一个墨西哥人函数的执行。

利用命令窗口的代码的关键按回调函数。每次一个键被按下时,一小块m代码运行保存关键事件。调用kbhit(或mexKbhit墨西哥人代码)将返回信息的关键事件,如ascii代码和相关的字符,以及是否控制、Alt和/或转变也进入了。

警告:mexKbhit kbhit调用matlab函数。CTRL + C不中断墨西哥人函数时,它会中断由墨西哥人函数调用matlab函数。因此,关键组合CTRL + C可能造成问题当你的墨西哥人mexKbhit执行的函数。

大确认Yair奥特曼在MATLAB新闻阅读器线程“java: keyListener添加到命令窗口”,提供所需的确切代码设置按键回调。

文件:
kbhit。m - matlab函数
mexKbhit。h -墨西哥人c文件头
mexKBhit。c -墨西哥人c文件,包括指令用于构建图书馆
mexKbhitDemo。c -演示代码使用墨西哥人库。

示例使用Matlab的函数:

kbhit (“init”);
流(1、5秒类型的东西…);
暂停(5);
关键= kbhit;流(“性格:% c \ n”键);
关键= kbhit(“结构”);流(“关键结构:\ n”);disp(关键)
[关键,ctrlc] = kbhit(“事件”);流(“关键事件:\ n”);disp(关键)
流(1,' Ctrl + c压?% d \ n ', ctrlc);
kbhit(停止)

墨西哥人库的使用例子:

clock_t t;
struct key k;
init_mexKbhit ();
t =时钟();
/ /轮询5秒
mexPrintf(“等待5秒……”);
mexEvalString (“drawnow”);
在((时钟()- t) / CLOCKS_PER_SEC < 5) {
k = mexKbhit ();
如果(k。特点= = ' C ' & & k。ctrl = = 1) {
mexPrintf (“Ctrl + c打断了!”);
打破;
}
}

引用作为

阿曼达(2023)。Non-wait检测键盘输入(包括墨西哥人实现)(//www.tatmou.com/matlabcentral/fileexchange/30622-non-wait-detection-of-keyboard-input-including-mex-implementation), MATLAB中央文件交换。检索

MATLAB版本兼容性
创建R2008b
兼容任何释放
平台的兼容性
窗户 macOS Linux
类别
找到更多的在参数定义帮助中心MATLAB的答案

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!

mexKbhit /

版本 发表 发布说明
1.0.0.0