我需要檢測控制檯應用程序中的按鍵,而不會提示用戶。基本上,我的應用程序通常是一個監聽特殊輸入設備的守護進程,但我需要在交互模式下使用鍵盤在開發箱上進行仿真。我怎樣才能做到這一點? - 我在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) –