1

私は Firefox でアドオンを作成しているので、特権 WebWorker である ChromeWorker があります。これは、メインスレッド以外の単なるスレッドです。

ここにはコードはありませんが、これです(js-ctypes [アドオンの言語]ではないように見えるように変更されています)

起動時にこのコードを実行します。これconnはグローバル変数です。

conn = xcb_connect(null, null);

次に、これを 200ms 間隔で実行します。

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 、この作成されたウィンドウで発生するイベントのみを取得します。

4

1 に答える 1