我正在开发一个基于Linux的I / O验证工具,用于游戏项目。它是用C ++编写的,并且由于我们使用与游戏相同的I / O模块,因此它基于OIS 1.2。因此,虽然我只需要在控制台上打印用户的输入,但我仍然需要为OIS创建一个窗口。
所以这就是我的问题:如何在仍然不可见的情况下创建一个映射窗口并处理键盘事件?
我无法取消映射窗口,因为它不再处理任何键盘事件。我也找不到显示/隐藏窗口的功能。(也许我搜索错误的方向......)
我的小工具现在工作正常,除了有一个愚蠢的顶级空窗口,需要集中处理键盘事件......
欢迎任何建议。
感谢!!!
答案 0 :(得分:2)
阅读此帖后:Linux/X11 input library without creating a window, 我意识到我的问题是我误解了X11的哲学。我需要做的只是将根窗口句柄传递给OIS,并将x11_grabkeyboard标志设置为true。唯一的缺点是,由于键盘被抓住,我很难用gdb调试我的程序......
虽然我的情况已经解决,但还有一件事情要做。
我读过的每篇文章都说InputOnly窗口不可见,能够处理输入事件,而我的InputOnly窗口在映射后绝对可见......
也许这是我的Linux,或者再一次,误解......