如何使用XCB将按键或释放事件从另一个程序发送到窗口(当前 Activity 的窗口)?

我找到了一些使用XLib的教程,但是我想使用XCB

我想我将不得不调用xcb_send_event,但是我不知道该如何将其作为参数传递。

最佳答案

您应该能够使用XTEST扩展,通过xcb_test_fake_input()函数来伪造到 Activity 窗口的输入。

#include <xcb/xtest.h>
...
xcb_test_fake_input(c, XCB_KEY_PRESS, keycode, XCB_CURRENT_TIME, XCB_NONE, 0, 0, 0);
xcb_test_fake_input(c, XCB_KEY_RELEASE, keycode, XCB_CURRENT_TIME, XCB_NONE, 0, 0, 0);

有关工作示例,请参见xte program in xcb/demos

08-16 14:17