The question is pretty straight forward.
What I would have used under X [xdotool]
obviously does not work moving forward, and no obvious new solutions have arisen given the relative new adoption of wayland.
Solutions which require programming are acceptable.
Best Answer
You can use uinput (
linux/uinput.h
). It works across X as well as Wayland.The documentation page above has an example that includes creating a virtual device that behaves as a mouse: