我試圖將鋼琴鍵解釋爲鍵盤輸入。我正在通過Raspberry Pi上的UART接收鋼琴鍵號。我有一個使用GTK在C中製作的GUI,當我檢測到某些鋼琴鍵時,我需要將它們作爲鍵盤輸入或箭頭鍵發送以導航GUI。任何人有任何想法如何做到這一點?GTK非標準輸入
Q
GTK非標準輸入
-1
A
回答
1
從我收集你不希望鋼琴鍵被解釋爲鍵盤輸入;相反,您希望按照與鍵盤輸入相同的方式處理鋼琴鍵。在收到指定的鋼琴鍵盤事件時,讓它調用與相應的鍵盤鍵相同的功能。
1
在Linux中,最簡單的方法是使用X11的XTest擴展,特別是函數XTestFakeKeyEvent
。
但是別忘了打電話給XTestQueryExtension
初始化擴展!這是一個常見的錯誤:如果你不打電話給這個功能,其他的XTest*
功能根本不起作用!
你也可以讓你的鋼琴真實的鍵盤編寫用戶空間的驅動程序:您可以創建輸入設備,通過使用uinput
內核驅動程序發送輸入事件到內核:基本上它創建了一個/dev/uinput
的設備,可以與操縱ioctl
s可以做任何你需要的。
相關問題
- 1. Ember.js:非標準路由,需要輸入
- 2. 非阻塞從標準輸入讀取
- 3. 非緩衝標準輸入讀取
- 4. 非標準輸入的神經網絡
- 5. 標準輸入Java輸入
- 6. Linux的標準輸入,標準輸出,標準錯誤
- 7. NCURSES標準輸入
- 8. 從標準輸入
- 9. 從標準輸入
- 10. Python標準輸入
- 11. boost ::精神與非標準(非字符串)輸入流
- 12. 標準輸入/輸出流
- 13. 寫入標準輸出並從標準輸入讀取C
- 14. csh標準輸入到Python標準輸入?
- 15. bash:沖洗標準輸入(標準輸入)
- 16. 回波標準輸入或標準輸入
- 17. C中的標準輸入和輸出標準輸入和輸出
- 18. Python的多標準輸入輸入
- 19. 標準輸入/文件輸入
- 20. 打開Windows控制檯的標準輸入/標準輸出/標準輸入/輸出爲win32和win64在C
- 21. 的Gtk ::按鍵採用標準圖標
- 22. 從標準輸入讀取
- 23. FILE指針:標準輸入
- 24. socat阻斷標準輸入
- 25. C#程序標準輸入
- 26. 重定向標準輸入
- 27. 蟒蛇標準輸入EOF
- 28. 標準輸入堆積
- 29. 重定向標準輸入
- 30. Maven寫入標準輸出