问题
How can I send a key press or key release event to a window (the currently active window) from another program using XCB
?
I found some tutorials using XLib
, however I would like to use XCB
.
I guess I will have to call xcb_send_event
, however I have no idea what to pass it as parameters.
回答1:
You should be able to use the XTEST extension to fake input to the active window, using the xcb_test_fake_input() function.
#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);
See the xte program in xcb/demos for a working example.
来源:https://stackoverflow.com/questions/8794089/how-to-send-key-event-to-application-using-xcb