[Unit] Description=lan-mouse input sharing daemon (omarchy-handoff) PartOf=graphical-session.target After=graphical-session.target xdg-desktop-portal-hyprland.service Requisite=graphical-session.target [Service] Type=simple # LAN_MOUSE_LOG_LEVEL, NOT RUST_LOG -- lan-mouse silently ignores RUST_LOG. # Note there is NO auth-rejection message at any level: rejection surfaces only # as a frontend event, so debug gives connect attempts and DTLS alert text only. # To see WHICH side rejected a handshake you need the wire, not the log. Environment=LAN_MOUSE_LOG_LEVEL=info # Patched daemon: upstream 0.11.0 forwards UNACCELERATED pointer deltas # (input-capture/src/layer_shell.rs discards the accelerated dx/dy in the same # event), and the wlr-virtual-pointer receiver applies no curve of its own, so # the remote pointer is far too fast and sensitivity/accel_profile are inert on # BOTH ends. Built by install.sh from handoff/patch/ -- see its REBUILD.md. # Falls back to nothing: if the build is missing the unit fails loudly rather # than silently running the unpatched binary with the wrong pointer feel. ExecStart=%h/.local/bin/lan-mouse-patched daemon # Multiplier for the residual logical-ppi difference between the two screens # (default 1.0 = upstream). omarchy-air is 140.1 logical ppi at scale 1.6 vs # ~95.8 for the 23" LG, so 0.7 makes motion cover the same PHYSICAL distance. # Per-machine: adjust or drop this line on the other host. Environment=LAN_MOUSE_POINTER_SCALE=0.7 Restart=on-failure RestartSec=2 # Output goes to the journal on purpose. The previous autostart.lua path sent # both streams to /dev/null, which hid every pairing failure for hours. StandardOutput=journal StandardError=journal [Install] WantedBy=graphical-session.target