views:

14

answers:

1

Hi. I'm working on a I/O verification tool based on Linux in a game project. It is written in C++, and,since using the same I/O module as our game, it's based on OIS 1.2. Thus, though all I need is to print users' inputs on the console, I still need to create a window for OIS.

So here comes my question: How can I create a mapped window while it is still invisible and processes keyboard events?

I can't unmapped the window in that it won't process any keyboard event anymore. I also can't find function for show/hide a window.(maybe I search through a wrong diretion...)

My little tool works fine now except there is a stupid top-level empty window which needs to be focused for processing keyboard events...

Any advise is welcomed.

Thanks!!!

A: 

After reading this post: Linux/X11 input library without creating a window, I realized my problem was that I misunderstood the philosophy of X11. All I need to do is simply pass the root window handle to OIS, and set the x11_grabkeyboard flag as true. The only drawback is maybe I can hardly debug my program with gdb since the keyboard is grabbed...

Though my situation is solved, there is one thing left.

Every article I read said an InputOnly window won't be visible and is capable for handling input events, while my InputOnly window is absolutely visible after mapped...

Maybe it's my Linux, or again, a misunderstanding...

southp