I am working on a small acceptance test for my OpenGL application written in C. So far, I'm only able to take screenshots and haven't found a way of simulating mouse and keyboard input on both Wayland and X11.
Any suggestions on how to manipulate the event stream of a specific window in Wayland/X11?
For simulating X11 mouse events you have several options:
X server supports XTEST extension (usually it does), then use XTEST Extension Library with functions XTestFakeKeyEvent,XTestFakeMotionEvent, etc. An example
XLib functions like XSendEvent, XWarpPointer, etc. An example
Linux and your tests have access to command shell then you can use command line tool xdotool (which internally uses XTEST extension. An example For Wayland you can use uinput kernel module. Documentation and examples are here
keyboard is a Python library designed to emulate keyboard and mouse on both Linux (X11 only) and Windows. There may be a similar project that uses C, but I don't know of it yet.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With