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

Ell*_*Ell 2 c++ multithreading xlib

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

KoK*_*oru 7

检查事件XPending.它不会阻止.

while (XPending(dpy))
{
    XEvent ev;
    XNextEvent(dpy, &ev);
    ....
    if (ev.type == KeyPress)
    {
        ....
    }
}
Run Code Online (Sandbox Code Playgroud)