Wenlan
Wenlan is a source-backed AI knowledge base and LLM wiki for AI work: organize documents and decisions into pages you can find, inspect, and review.
翻訳待ち
mouse & keyboard sharing via LAN
翻訳待ち
生産性Rust · ShellGitHub @feschber自分でインストール所有者未確認
Paste into Claude or ChatGPT for installation instructions suited to your environment.
Have you tried it? One tap is enough. No sign-in needed.
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗Lan Mouse is a cross-platform mouse and keyboard sharing software similar to universal-control on Apple devices. It allows for using multiple PCs via a single set of mouse and keyboard. This is also known as a Software KVM switch.
Goal of this project is to be an open-source alternative to proprietary tools like Synergy 2/3, Share Mouse and other open source tools like Deskflow or Input Leap (Synergy fork).
Focus lies on performance, ease of use and a maintainable implementation that can be expanded to support additional backends for e.g. Android, iOS, ... in the future.
blazingly fast™ because it's written in rust.
Lan Mouse encrypts all network traffic using the DTLS implementation provided by WebRTC.rs. There are currently no mitigations in place for timing side-channel attacks.
Most current desktop environments and operating systems are fully supported, this includes
[!Important]
X11 currently only has support for input emulation, i.e. can only be used on the receiving end.
Sway / wlroots: Wlroots based compositors without libei support on the receiving end currently do not handle modifier events on the client side. This results in CTRL / SHIFT / ALT / SUPER keys not working with a sending device that is NOT using the
layer-shellbackendWayfire: If you are using Wayfire, make sure to use a recent version (must be newer than October 23rd) and add
shortcuts-inhibitto the list of plugins in your wayfire config! Otherwise input capture will not work.Windows: The mouse cursor will be invisible when sending input to a Windows system if there is no real mouse connected to the machine.
For more detailed information about os support see Detailed OS Support
A proof of concept for an Android / IOS Application by rohitsangwan01 can be found here. It can be used as a remote control for any device supported by Lan Mouse.
Lan Mouse can be installed from the official repositories:
pacman -S lan-mouse
The prerelease version (following main) is available on the AUR:
paru -S lan-mouse-git
After enabling Terra:
dnf install lan-mouse
xattr -rd com.apple.quarantine "Lan Mouse.app"Lan Mouse can be installed from the winget community repositories:
winget install lan-mouse
First make sure to install the necessary dependencies.
Precompiled release binaries for Windows, MacOS and Linux are available in the releases section. For Windows, the depenedencies are included in the .zip file, for other operating systems see Installing Dependencies.
Alternatively, the lan-mouse binary can be compiled from source (see below).
# install lan-mouse (replace path/to/ with the correct path)
sudo cp path/to/lan-mouse /usr/local/bin/
# install app icon
sudo mkdir -p /usr/local/share/icons/hicolor/scalable/apps
sudo cp lan-mouse-gtk/resources/de.feschber.LanMouse.svg /usr/local/share/icons/hicolor/scalable/apps
# update icon cache
gtk-update-icon-cache /usr/local/share/icons/hicolor/
# install desktop entry
sudo mkdir -p /usr/local/share/applications
sudo cp de.feschber.LanMouse.desktop /usr/local/share/applications
# when using firewalld: install firewall rule
sudo cp firewall/lan-mouse.xml /etc/firewalld/services
# -> enable the service in firewalld settings
Instead of downloading from the releases, the lan-mouse binary
can be easily compiled via cargo or nix:
# compile in release mode
cargo build --release
# install lan-mouse
sudo cp target/release/lan-mouse /usr/local/bin/
# will end up in ~/.cargo/bin
cargo install lan-mouse
This is the beginning of the README. Read the rest at the original. Read the full README ↗