我需要检测控制台应用程序中的按键,而不会提示用户。基本上,我的应用程序通常是一个监听特殊输入设备的守护进程,但我需要在交互模式下使用键盘在开发箱上进行仿真。我怎样才能做到这一点? - 我在Linux系统上。检测控制台应用程序中的按键?
回答
你检查这answer这也解释了如何从输入事件(通常为/dev/input/event0
)
或者直接读取检查答案的来源:
现金不要去对我来说,这个代码是从取Ventriloctrl破解得到击键。 http://public.callutheran.edu/~abarker/ventriloctrl-0.4.tar.gz
如果您在等待输入时无法阻止,则可以使用例如select
检查STDIN_FILENO
文件描述符是否准备好读取,如果是,则可以使用正常输入功能(scanf
,fgets
等)。
这实际上工作吗?在我的测试中(使用选择手册页中的示例),选择不报告stdin准备好读取,直到看到一个CR。 –
@JoeStrout您可能必须使用['tcsetattr'](http://pubs.opengroup.org/onlinepubs/009695399/functions/tcsetattr.html)更新终端标志。 –
是的,至少我的测试机器上似乎是这种情况(一个OS X,一个Ubuntu)。 –
本文解释hw做这样的事情。 http://thc.org/papers/writing-linux-kernel-keylogger.txt
- 1. 在控制台应用程序中运行时按键检测
- 2. 检测按键在控制台
- 3. 在Linux C控制台应用程序中模拟按键
- 4. 如何检查控制台应用程序中是否按下CTRL键c#
- 5. 如何将按键发送到控制台应用程序
- 6. 如何处理在控制台应用程序按键事件
- 7. 从控制台应用程序读取同步按键
- 8. 控制台应用程序不打印“按任意键继续......”
- 9. C#控制台应用程序按键捕捉
- 10. c#控制台应用程序重复键盘按?
- 11. 如何检测控制台或Windows应用程序?
- 12. 如何检测“>”和“<”在.NET控制台应用程序
- 13. 控制台应用程序关闭/终止时检测?
- 14. 检测Ctrl + S键在控制台
- 15. 如何检测控制台上的按键?
- 16. 如何检测vb控制台模式下的按键?
- 17. 基于测试控制台的应用程序/程序 - Java
- 18. 控制台应用程序中的HttpContext
- 19. 控制台应用程序中的System.Drawing.Color
- 20. C++应用程序中的控制台
- 21. 控制台应用程序中的iframe
- 22. 控制台应用程序中的WriteableBitmapEx?
- 23. 控制台应用程序中的ConfigurationErrorsException
- 24. 使用多线程的控制台应用程序中的键列表程序
- 25. 在Powershell中检测应用程序中的按键
- 26. 键值对作为控制台应用程序中的参数
- 27. 控制台应用程序中的右键菜单
- 28. 在C#控制台应用程序中测试课程
- 29. 如何处理Qt控制台应用程序中的按键事件?
- 30. 使用箭头键在控制台应用程序中导航
你知道 - linux,键盘输入,curses –
可能重复[在C中捕获在GNU/Linux中的击键](http://stackoverflow.com/questions/1485116/capturing-keystrokes-in-gnu-linux -in-c) –