【发布时间】:2016-03-17 21:07:06
【问题描述】:
我正在 Firefox 中制作插件,所以我有一个 ChromeWorker - 这是一个特权 WebWorker。这只是主线程之外的一个线程。
在这里我没有代码,但这个(修改使其看起来不像 js-ctypes [这是插件的语言])
在启动时我运行这段代码,conn 是一个全局变量:
conn = xcb_connect(null, null);
然后我每隔 200 毫秒运行一次:
evt = xcb_poll_for_event(conn);
console.log('evt:', evt);
if (!evt.isNull()) {
console.log('good got an event!!');
ostypes.API('free')(evt);
}
但是evt 始终是null,我从来没有收到任何事件。我的目标是获取系统上的所有事件。
有谁知道是什么导致如此简单的事情无法工作?
我试过了
xcb_change_window_attributes (conn, screens.data->root, XCB_CW_EVENT_MASK, values);
但这并没有解决问题:(
我可以让它工作的唯一方法是通过 xcb_create_window xcb_map_window 但我只得到在这个创建的窗口中发生的事件。
【问题讨论】: