2011-12-17 1 views
1

xlib을 C++로 사용하면 비동기식으로 이벤트를 처리 할 수 ​​있습니까? XNextEvent은 이벤트가 도착할 때까지 차단됩니다. 다른 스레드에서이 호출을 수행하는 유일한 방법은 XNextEvent입니까? 나는 XCB가 개발 중이고 병행 성을 지원할 것이라는 것을 알고있다. (필자는 생각하니?)하지만 xlib만으로이 일을 할 필요가있다. 감사합니다 :) XPending와 이벤트에 대한XLib 비동기 이벤트 처리 (XBC 제외)

답변

6

확인합니다. 차단되지 않습니다.

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

감사합니다! 이것은 내 질문에 대답 :) – Ell