Я просто пытаюсь сгенерировать нажатие клавиши в активном окне с помощью XCB. У меня есть код, который, я думаю, должен работать. Похоже, что когда я запускаю его, вероятность того, что клавиша w будет удерживаться, пока я не нажму и не отпущу клавишу w, составляет около 1/10, а в остальных 9/10 ничего не происходит. Вот код:
#include <stdio.h>
#include <xcb/xcb.h>
#include <xcb/xtest.h>
int main() {
xcb_connection_t *conn;
conn = xcb_connect(NULL, NULL);
if (xcb_connection_has_error(conn))
puts("failed to connect\n");
xcb_test_fake_input(conn, XCB_KEY_PRESS, 25, XCB_CURRENT_TIME, XCB_NONE, 0, 0, 0);
xcb_flush(conn);
xcb_disconnect(conn);
}
compile:
gcc c.c -lxcb -lxcb-xtest
Это работает для вас? Что я делаю не так?