【问题标题】:Simulating mouse and keyboard input on Wayland and X11在 Wayland 和 X11 上模拟鼠标和键盘输入
【发布时间】:2018-07-18 15:52:35
【问题描述】:

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

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

【问题讨论】:

    标签: linux wayland


    【解决方案1】:

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

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

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

    【讨论】:

    • Wayland 有类似的东西吗?
    • 顺便说一句,您的第一个示例的链接已损坏。
    • 对于Wayland,你可以使用uinput内核模块:kernel.org/doc/html/v4.12/input/uinput.html。我已经检查了第一个示例中的链接 - 它有效
    • 你的第一个链接应该是 [1]: stackoverflow.com/questions/51406276/… 吗?
    • @vinnylinux,你是对的,对不起,我不是要链接到当前帖子。修复链接
    【解决方案2】:

    keyboard 是一个 Python 库,旨在模拟 Linux(仅限 X11)和 Windows 上的键盘和鼠标。可能有类似的项目使用C,但我还不知道。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-11-22
      • 1970-01-01
      • 1970-01-01
      • 2011-06-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-12
      相关资源
      最近更新 更多