2010-08-14 100 views
2

我正在研究一個基於Linux的I/O驗證工具,在一個遊戲項目中。它是用C++編寫的,由於使用了與我們的遊戲相同的I/O模塊,因此它基於OIS 1.2。因此,儘管我只需要在控制檯上打印用戶的輸入,但我仍然需要爲OIS創建一個窗口。如何使用XLib創建映射但不可見的窗口?

因此,我的問題是:我怎樣才能創建一個映射窗口,而它仍然是不可見的,並處理鍵盤事件?

我無法取消映射窗口,因爲它不會再處理任何鍵盤事件。我也找不到顯示/隱藏窗口的功能(也許我通過錯誤的方向搜索...)

我的小工具現在工作正常,除了有一個愚蠢的頂級空窗口需要專注於處理鍵盤事件...

歡迎任何意見。

謝謝!

+2

show/hide = map/unmap in X11 – 2011-08-29 22:51:34

回答

2

看完這篇文章後:Linux/X11 input library without creating a window, 我意識到我的問題是我誤解了X11的哲學。我需要做的只是將根窗口句柄傳遞給OIS,並將x11_grabkeyboard標誌設置爲true。唯一的缺點是,也許我很難用gdb調試我的程序,因爲鍵盤被卡住了...

雖然我的情況已經解決,但還剩一件事。

的每一篇文章我看書上說的InputOnly窗口將是不可見的,並且能夠用於處理輸入事件,而我的InputOnly窗口映射後絕對可見......

也許這是我的Linux,或者再等誤會...