2011-12-17 78 views
1

在C++中使用xlib是否有一种异步处理事件的方法? XNextEvent阻塞,直到事件到达。唯一的方法是从不同的线程调用XNextEvent?我知道XCB正在开发并支持并发(我认为?),但我需要用xlib进行教育。谢谢:)XLib异步事件处理(没有XBC)

回答

6

检查与XPending事件。 它不会阻止。

while (XPending(dpy)) 
{ 
    XEvent ev; 
    XNextEvent(dpy, &ev); 
    .... 
    if (ev.type == KeyPress) 
    { 
     .... 
    } 
} 
+0

谢谢!这回答了我的问题:) – Ell 2011-12-17 19:05:11