目标我想根据按键将键盘输入重定向到不同的窗口。不是所有的键都会被重定向到同一个窗口,我不能使用XSetInputFocus。第一次尝试:XGrabKey我发现我可以抓取某些键,然后将事件发送到正确的窗口。我用了XGrabKey像这样XGrabKey(mDisplay(),XKeysymToKeycode(mDisplay(),XK_F1),AnyModifier,RootWindow(mDisplay(),mScreenNum),false,//Eventsaren'tsenttothefocusedwindowGrabModeAsync,GrabModeAsync);它不适用于F1到
调用XGrabKeyboard()后,我的应用程序捕获并显示所有按键/释放,包括GUI和PrintScreen键。但是,用户不再能够移动应用程序的窗口。到目前为止,这发生在Fedora17和Ubuntu12.04上。在XGrabKeyboard()的影响下,我如何允许用户移动应用程序??下面是我的Qt应用程序的示例代码:boolKeyboardStatus::x11Event(XEvent*event){switch(event->type){caseFocusIn:XGrabKeyboard(x11Info().display(),winId(),false,GrabModeAsyn