Я нашел и отвечаю, используя как минимум код, а не заданную утилиту. В моем объектном деструкторе (я работаю с c ++) я сделал al oop, который передает сигнал отпускания клавиши на тестовую клавиатуру, например так:
xcb_setup_t const *xcbSetup = xcb_get_setup(this->xcbConnection);
for(size_t keyCode = xcbSetup->min_keycode;
keyCode <= xcbSetup->max_keycode;
keyCode++) {
xcb_test_fake_input(this->xcbConnection,
XCB_KEY_RELEASE, keyCode,
XCB_CURRENT_TIME, XCB_NONE,
0, 0, 0);
}
xcb_flush(this->xcbConnection);
Выше предполагается, что у вас открытое соединение, Сначала я не хотел этого делать, чтобы избежать хаоса, но, поскольку это все ключевые релизы, это не вызывает никаких проблем. Убедитесь, что вы используете минимальные и максимальные коды настройки, иначе вы получите ошибку неправильного значения.