c++ - 如何使用 XCB 将按键事件发送到应用程序?

标签 c++ c x11 xcb

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

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

我想我必须调用 xcb_send_event,但是我不知道将它作为参数传递什么。

最佳答案

您应该能够使用 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一个工作示例。

关于c++ - 如何使用 XCB 将按键事件发送到应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8794089/

相关文章:

c++ - Opencv:使用运算符<<将数据保存为原始数据时,将数据从文件读取到矩阵

c++ - Qt查询Top Number记录选择

x11 - 获取新创建窗口的 "parent"窗口

c - 如何在 linux、X 下以合法和编程方式捕获第二个鼠标或轨迹球?

x11 - 如何知道哪个窗口具有焦点以及如何更改它?

c++ - !(variable) 和 (!variable) 之间的区别

c++ - 传入引用与指针

c - C 中的 i++ 和++i 之间有性能差异吗?

C:在 while 循环中超过时间限制?

c - setbuf 只影响 stdio 调用,而不影响系统调用?