删除问题以抗议 StackOverflow 的 OpenAI 合作伙伴关系:https://stackoverflow.co/company/press/archive/openai-partnership
您需要同时使用
xcb_input_event_mask_t
和 xcb_input_xi_event_mask_t
,如下所示:
struct {
xcb_input_event_mask_t head; // describes the subsequent xcb_input_xi_event_mask_t (or an array thereof)
xcb_input_xi_event_mask_t mask;
} mask;
mask.head.deviceid = XCB_INPUT_DEVICE_ALL;
mask.head.mask_len = sizeof(mask.mask) / sizeof(uint32_t);
mask.mask = XCB_INPUT_XI_EVENT_MASK_TOUCH_BEGIN
| XCB_INPUT_XI_EVENT_MASK_TOUCH_END
| XCB_INPUT_XI_EVENT_MASK_TOUCH_UPDATE
| XCB_INPUT_XI_EVENT_MASK_TOUCH_OWNERSHIP;
xcb_input_xi_select_events(dpy, root, 1, &mask.head);
免责声明:我从未使用过这个。我在网上here找到了一个单一的使用示例。我试图根据
xcb_input_xi_select_events
here 的来源验证此用法,但其代码是 脏话删除 不可读。我完全不知道人们应该如何使用这个库。