2

我正在一个游戏项目中开发基于 Linux 的 I/O 验证工具。它是用 C++ 编写的,并且由于使用与我们的游戏相同的 I/O 模块,它基于 OIS 1.2。因此,尽管我只需要在控制台上打印用户的输入,我仍然需要为 OIS 创建一个窗口。

所以我的问题来了:如何在仍然不可见并处理键盘事件的情况下创建映射窗口?

我无法取消映射窗口,因为它不再处理任何键盘事件。我也找不到显示/隐藏窗口的功能。(也许我搜索了错误的方向......)

我的小工具现在工作正常,除了有一个愚蠢的顶级空窗口需要集中处理键盘事件......

欢迎任何建议。

谢谢!!!

4

1 回答 1

2

看完这篇文章:Linux/X11 input library without creating a window后,我意识到我的问题是我误解了 X11 的理念。我需要做的只是将根窗口句柄传递给 OIS,并将 x11_grabkeyboard 标志设置为 true。唯一的缺点是我可能很难用 gdb 调试我的程序,因为键盘被抓住了......

虽然我的情况解决了,但还剩下一件事。

我读过的每一篇文章都说 InputOnly 窗口将不可见并且能够处理输入事件,而我的 InputOnly 窗口在映射后绝对可见......

也许这是我的 Linux,或者再次,一个误解......

于 2010-08-15T17:56:53.313 回答