xdotool should work the same in the Wayland session, assuming you give X11 apps the permission to emulate input. What about it isn't working?
Linux
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
ydotool does specifically do what you need. Have a look at their source. Or use it in your python script.
I've been testing ydotool, but I end up running into this bug
https://github.com/ReimuNotMoe/ydotool/issues/250
Which I can't seem to get around. The workaround to move the mouse to 0,0 and then making non-absolute moves clashes with the game (warcraft 3) because when the mouse is at the edge of the screen it scrolls the view which is really annoying.
I'm going to test input-remapper next.
Couldn't you move the mouse to 1920,1080 or whatever your resolution is for the same amount of time to correct the movement? Since you can move the mouse in millisecond speeds it should barely be noticeable
I did think about moving to an abritary base position and then move from there. The edge of the screen wont work as it will move the view, but any other position could work. I just dont like that I have to make a workaround for basic functionality. I'll try input-remapper and see if it works better. If not I might go back and try this.
The proper way to programmatically move a cursor on Linux is using uinput.
Anything you were doing that worked in xorg and not in wayland was more akin to a weird remnant from the 80s than to an actual solution.
However, there will likely be full featured applications that already do whatever you were trying to do.
uinput is not the proper way, it's emulating a hardware device.
The remote desktop portal is the proper way. Even xdotool works through that.
Interesting, I didn't know you could do that through the portal directly.
I was only familiar with uinput because I have used it before to use a wiimote as a mouse, and for that you'd actually want to emulate a mouse.
Does it need to be fully automatic, or does semi-automatic work for you?
I am using input remapper to automate a few functions of my input devices. It only used it on my Plasma desktop, but it should work in all desktop environments.
Just semi automatic, I want a hotkey press activate a mouse move -> click -> move action.
You should be able to do that with input-mapper and some scripting: https://github.com/sezanzeb/input-remapper/blob/main/readme/macros.md#mouse_xy