Имитация ввода с клавиатуры и мыши на Wayland и X11

Я работаю над небольшим приемочным тестом для моего приложения OpenGL, написанным на C. До сих пор я только мог делать скриншоты и не нашел способа имитации ввода с клавиатуры и мыши на Wayland и X11.

Любые предложения о том, как управлять потоком событий определенного окна в Wayland/X11?

1 ответ

Для моделирования X11 События мыши у вас есть несколько вариантов:

  1. Если твой X server опоры XTEST расширение (обычно это так), затем используйте XTEST Extension Library с функциями XTestFakeKeyEvent, XTestFakeMotionEvent и т. д. Пример
  2. Ты можешь использовать XLib функции как XSendEvent, XWarpPointer и т. д. Пример
  3. Если вы находитесь под Linux и ваши тесты имеют доступ к командной оболочке, то вы можете использовать инструмент командной строки xdotool (который внутренне использует XTEST extension, Пример

За Wayland ты можешь использовать uinput модуль ядра. Документация и примеры here

клавиатура - это библиотека Python, разработанная для эмуляции клавиатуры и мыши на X11 и Wayland для Windows и Linux. Может быть похожий проект, который использует C, но я еще не знаю об этом.

Другие вопросы по тегам