获取键盘使用代码,如何从read()发送触发器

时间:2015-04-23 13:34:44

标签: c++ linux qt qt4 raspberry-pi

我在Qt中编写了一个测试来获取键盘USB使用代码,基本上是“扫描码”,但更加原始。

我正在使用 showkey.c 的修改版本,我将其转换为C ++,并将其归类。作为参考,它的核心是

n = read(fd, &buf, sizeof(buf));
if (n == -1) { cout << "ERROR READING USAGE CODE"; clean_up(fd); return n; }
clean_up(fd);
close(fd);
return buf[0];  

此时 read()正在侦听USB端口,发回所有使用代码和所有好处。它在buf [0]中发回一个64位整数和整个使用代码列表,但我解码它,并放入一个向量(好的或坏的,这确实有效) 这个漫无边际的帖子的问题和重点是,GUI在等待按键时卡住了。那么需要一个触发器INSIDE read()?如果我正在阅读文本文件,可以在每行之后触发。

供参考 GUI是整个键盘形状的小按钮,操作员按顺序按下每个按键,按钮颜色随着时间的推移变为绿色。因此,GUI并未完全冻结,只是无法单击中止测试或其他内容,直到当前测试通过失败。

这可能不像我希望的那样清晰,但可以阅读以某种方式扩展?

测试站使用Raspberry机器,Qt C ++代码和Rasbian Linux。有10个覆盆子,最终将是机器人。

1 个答案:

答案 0 :(得分:0)

谢谢大家的投入。我对线程和触发器有一些基本的误解。解决它