如何使用XCB将关键事件发送到应用程序?

时间:2012-01-09 19:34:53

标签: c++ c x11 xcb

如何使用XCB从其他程序向窗口(当前活动窗口)发送按键按键或按键释放事件?

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

我想我必须拨打xcb_send_event,但我不知道将其作为参数传递给我。

1 个答案:

答案 0 :(得分:9)

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

#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