在 Wayland 和 X11 上模拟鼠标和键盘输入

vin*_*nux 5 linux wayland

我正在为我用 C 编写的 OpenGL 应用程序进行一个小型验收测试。到目前为止,我只能截取屏幕截图,还没有找到一种在 Wayland 和 X11 上模拟鼠标和键盘输入的方法。

关于如何在 Wayland/X11 中操作特定窗口的事件流的任何建议?

Ser*_*dev 8

要模拟X11鼠标事件,您有多种选择:

  1. 如果您X server支持XTEST扩展(通常支持),则XTEST Extension Library与函数XTestFakeKeyEventXTestFakeMotionEvent等一起使用。一个示例
  2. 您可以使用、等XLib函数。示例XSendEventXWarpPointer
  3. 如果您在并且Linux您的测试可以访问命令 shell,那么您可以使用命令行工具xdotool(内部使用XTEST extension。一个示例

因为Wayland您可以使用uinput内核模块。文档和示例是here