Linux
GUI 應用程序如何接收鍵盤輸入?
我通過輸入命令“firefox”從 bash 視窗啟動 Firefox,
它在使用者界面中啟動了 Firefox 瀏覽器。
當我通過輸入“ps”命令檢查 Firefox 程序時,我發現 Firefox 程序附加了一個控制終端(pts12 / 從上面的螢幕截圖中可以明顯看出),並且 Firefox 程序將 bash 作為父程序。
現在,我如何能夠將鍵盤輸入直接提供給 Firefox 瀏覽器視窗?(我在瀏覽器中輸入了“Hello world”)
由於 tty 附加到程序,Firefox 的輸入應該是通過終端視窗對嗎?
我知道這裡涉及到一種叫做 X-11 的東西,但無法了解全貌
這個問題被問到保持以下作為基礎,它沒有提供關於上述查詢的足夠資訊, 鍵盤輸入和文本輸出如何工作?
X11 應用程序的輸入不通過 tty 設備,它作為 X11 事件提供。X11伺服器接收輸入事件,判斷目前哪個應用程序有焦點,並將輸入事件翻譯成對應的X11事件。
X11 伺服器為系統中的硬體提供抽象。X11 應用程序作為伺服器的客戶端執行,並從伺服器接收事件。甚至可以遠端接收事件,即您可以在本地系統上執行 X11 伺服器並使用它與執行在另一個系統上的 X11 應用程序進行互動。
xev
正如鍵盤輸入和文本輸出如何工作?