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

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

最佳答案

为了模拟X11鼠标事件,您有几种选择:

  • 如果您的X server支持XTEST扩展名(通常是这样),则将XTEST Extension LibraryXTestFakeKeyEventXTestFakeMotionEvent等函数一起使用。example
  • 您可以使用XLib函数,例如XSendEventXWarpPointer等。An example
  • 如果您使用的是Linux,并且您的测试可以访问命令 shell ,则可以使用命令行工具xdotool(内部使用XTEST extensionexample

  • 对于Wayland,可以使用uinput内核模块。文档和示例为 here

    08-26 22:38