One liner install :
sudo apt install unzip wget -y && wget https://github.com/lostallmymoney/MoveMouseLinux/archive/refs/heads/main.zip -O MoveMouseLinux.zip && unzip -o MoveMouseLinux.zip && cd MoveMouseLinux-main && sh install.sh && cd .. && rm -rf MoveMouseLinux-main MoveMouseLinux.zipDISCLAIMER : Relog for udev rules to apply !
Piping file is "/run/mouseMoveUtility/mc.pipe", look at the usage section for details.
mouseMoveUtility is a tiny Wayland/X11–agnostic absolute pointer daemon that emulates
a touchscreen-like input device using uinput.
It accepts normalized coordinates (0.0 → 1.0) via a FIFO pipe and taps the screen
at that location. Useful for UI automation, centered clicks, accessibility tools, bots,
games, and remote input. 0.5 0.5 would be the screen center.
✅ Works without root after install
✅ Wayland–compatible (no pointer lock tricks)
✅ Precise absolute coordinates (precision = 10000)
✅ Systemd service already included
- Creates a virtual absolute pointer (
/dev/uinput) - Moves/taps at coordinates
(0..1, 0..1) - Automatically centers with
movetocenter - “Wiggles” the cursor by 1px to ensure motion is recognized
- Linux kernel with
uinput systemdg++/dev/uinputavailable from kernel modules
Clone the repository and run the installer as a regular user:
./install.shPipe commands into /run/mouseMoveUtility/mc.pipe like this: echo "movetocenter" > /run/mouseMoveUtility/mc.pipe echo "moveto 0.1 0.1" > /run/mouseMoveUtility/mc.pipe
Example in C++: #include <fcntl.h> #include <unistd.h> #include
int main() { int fd = open("/run/mouseMoveUtility/mc.pipe", O_WRONLY); const char* cmd = "movetocenter\n"; write(fd, cmd, strlen(cmd)); close(fd); }