explaingit

feschber/lan-mouse

4,794RustAudience · developerComplexity · 2/5Setup · moderate

TLDR

An open-source tool that lets you control multiple computers with one keyboard and mouse by sliding your cursor between screens, a free alternative to Synergy that works on Windows, Mac, and Linux.

Mindmap

mindmap
  root((lan-mouse))
    What it does
      Share keyboard and mouse
      Cursor slides between screens
      Encrypted network traffic
    Supported Platforms
      Windows and macOS
      Linux GNOME and KDE
      Wayland and X11
    Setup
      Install on each machine
      Configure neighbor layout
      GUI settings window
    Extras
      Android and iOS app
      Official package repos
      Build from source
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Control a Mac and Windows PC from a single keyboard and mouse without extra hardware or cables.

USE CASE 2

Set up a seamless multi-computer desk where your cursor slides from your desktop to your laptop by reaching the screen edge.

USE CASE 3

Use your Android or iOS phone as a wireless remote control for your computer via the unofficial mobile app.

USE CASE 4

Replace a paid tool like Synergy with a self-hosted, encrypted open-source alternative on your local network.

Tech stack

RustCargoLinuxmacOSWindowsWaylandX11

Getting it running

Difficulty · moderate Time to first run · 30min

Must be installed on every computer you want to connect, and each machine needs to know its neighbors.

No license information is mentioned in the explanation.

In plain English

Lan Mouse is a program that lets you control multiple computers using a single keyboard and mouse. Instead of physically unplugging and reconnecting peripherals, you move your cursor to the edge of one screen and it slides over to the next machine, just like Apple's Universal Control feature. The project is an open-source alternative to paid tools like Synergy and ShareMouse, and it works on Windows, macOS, and Linux. On Linux, it supports the major desktop environments including GNOME, KDE Plasma, and compositors like Sway and Hyprland. The software encrypts all network traffic between computers, so your keystrokes and mouse movements are not sent in plain text over your local network. There are a few known limitations: X11 on Linux can only receive input, not send it, and Windows machines without a physical mouse connected will show no cursor while being controlled. To use it, you install Lan Mouse on each computer you want to connect. You then configure which machines are neighbors, for example telling your main computer that the laptop sits to the right of it. From that point on, pushing the cursor past the right edge of your main screen hands control over to the laptop. A graphical settings window is included and runs as a menu bar item on macOS. Installation is straightforward on Arch Linux and Fedora through their official package repositories, and precompiled binaries are available for Windows, macOS, and Linux on the releases page. For developers who want to build from source, the project uses Cargo, the standard Rust build tool, and instructions for installing the required system libraries are included in the README for each operating system. There is also an unofficial mobile proof-of-concept app for Android and iOS that can act as a remote control device.

Copy-paste prompts

Prompt 1
How do I set up Lan Mouse to share my keyboard and mouse between a Windows PC and a MacBook on the same network?
Prompt 2
Show me how to configure Lan Mouse so my laptop sits to the right of my desktop, and my cursor slides between them.
Prompt 3
I use Hyprland on Linux, how do I install Lan Mouse from source using Cargo and get it working?
Prompt 4
What ports does Lan Mouse use, and how does it encrypt keyboard and mouse traffic between machines?
Prompt 5
How do I use the Lan Mouse Android app as a remote control for my desktop?
Open on GitHub → Explain another repo

← feschber on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.