检测控制台应用程序中的按键?

时间:2012-09-03 09:20:12

标签: c++ c linux keyboard keypress

我需要在控制台应用程序中检测到按键,而不会提示用户。基本上,我的应用程序通常是一个监听特殊输入设备的守护进程,但我需要在交互模式下使用键盘在开发框上模拟它。我怎样才能做到这一点? - 我在Linux系统上。

3 个答案:

答案 0 :(得分:2)

如果您在等待输入时无法阻止,则可以使用例如select检查STDIN_FILENO文件描述符是否已准备好进行阅读,如果是,则可以使用普通输入函数(scanffgets std::getline,等)。

答案 1 :(得分:0)

您检查answer这解释了如何从输入事件中读取(通常是/dev/input/event0

或直接查看答案的来源:

  

积分不给我,这段代码取自Ventriloctrl hack来获取击键。   http://public.callutheran.edu/~abarker/ventriloctrl-0.4.tar.gz

答案 2 :(得分:-1)

本文解释了如何做这样的事情。 http://thc.org/papers/writing-linux-kernel-keylogger.txt