Имитация ввода с клавиатуры и мыши на Wayland и X11
Я работаю над небольшим приемочным тестом для моего приложения OpenGL, написанным на C. До сих пор я только мог делать скриншоты и не нашел способа имитации ввода с клавиатуры и мыши на Wayland и X11.
Любые предложения о том, как управлять потоком событий определенного окна в Wayland/X11?
1 ответ
Для моделирования X11
События мыши у вас есть несколько вариантов:
- Если твой
X server
опорыXTEST
расширение (обычно это так), затем используйтеXTEST Extension Library
с функциямиXTestFakeKeyEvent
,XTestFakeMotionEvent
и т. д. Пример - Ты можешь использовать
XLib
функции какXSendEvent
,XWarpPointer
и т. д. Пример - Если вы находитесь под
Linux
и ваши тесты имеют доступ к командной оболочке, то вы можете использовать инструмент командной строкиxdotool
(который внутренне используетXTEST extension
, Пример
За Wayland
ты можешь использовать uinput
модуль ядра. Документация и примеры here
клавиатура - это библиотека Python, разработанная для эмуляции клавиатуры и мыши на X11 и Wayland для Windows и Linux. Может быть похожий проект, который использует C, но я еще не знаю об этом.