XLib异步事件处理(没有XBC)

时间:2011-12-17 18:27:17

标签: c++ multithreading xlib

使用c ++中的xlib有一种异步处理事件的方法吗? XNextEvent阻止,直到事件到来。这是从另一个线程调用XNextEvent的唯一方法吗?我知道XCB正在开发中并且将支持并发性(我认为?)但我需要用xlib进行教育。谢谢:))

1 个答案:

答案 0 :(得分:7)

使用XPending检查事件。 它不会阻止。

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