【发布时间】:2012-08-28 00:38:41
【问题描述】:
我需要在控制台应用程序中检测按键,而不提示用户。基本上,我的应用程序通常是一个监听特殊输入设备的守护进程,但我需要在开发盒上使用键盘以交互模式模拟它。我怎样才能做到这一点? - 我在 Linux 系统上。
【问题讨论】:
-
你知道——linux,键盘输入,curses
标签: c++ c linux keyboard keypress
我需要在控制台应用程序中检测按键,而不提示用户。基本上,我的应用程序通常是一个监听特殊输入设备的守护进程,但我需要在开发盒上使用键盘以交互模式模拟它。我怎样才能做到这一点? - 我在 Linux 系统上。
【问题讨论】:
标签: c++ c linux keyboard keypress
本文解释了如何做这样的事情。 http://thc.org/papers/writing-linux-kernel-keylogger.txt
【讨论】:
如果您在等待输入时无法阻止,那么您可以使用例如select 检查STDIN_FILENO 文件描述符是否准备好读取,如果是,则可以使用普通输入函数(scanf、fgetsstd::getline 等)。
【讨论】:
tcsetattr。
您查看此answer,它解释了如何从输入事件中读取(通常为/dev/input/event0)
或者直接查看答案出处:
学分不归我所有,此代码取自 Ventriloctrl hack 以获取击键。 http://public.callutheran.edu/~abarker/ventriloctrl-0.4.tar.gz
【讨论】: