>_ DevTrendspl

Język

Strona główna

Języki

Sekcje

Frontend Backend Mobilne DevOps AI / ML GameDev Blockchain Bezpieczeństwo
Rust

Lan Mouse: Jedna klawiatura i mysz dla wszystkich komputerów

4987 gwiazdki

Wyobraź sobie: masz dwa monitory na biurku, podłączone do różnych komputerów — służbowy Linux i prywatny Mac. Przełączanie się między nimi jest męczące: dwie klawiatury, dwie myszy, ciągłe zamieszanie. Rozwiązanie? Lan Mouse — otwarta alternatywa dla Apple Universal Control na wszystkie platformy.

Co potrafi ten "cyfrowy przełącznik KVM"

Lan Mouse to wieloplatformowe rozwiązanie do współdzielenia myszy i klawiatury między wieloma komputerami w tej samej sieci. Główne korzyści:

  • Wieloplatformowość: Linux (GNOME, KDE, Sway, Hyprland), Windows, macOS
  • Wysoka wydajność: implementacja w Rust zapewnia minimalne opóźnienia
  • Bezpieczeństwo: ruch jest szyfrowany przez DTLS (WebRTC)
  • Elastyczność: wsparcie dla różnych backendów w różnych środowiskach
  • Prostota: interfejs GTK i konfiguracja oparta na TOML

Zrzut ekranu Lan-Mouse

Jak to działa technicznie

Projekt wykorzystuje różne mechanizmy wprowadzania danych w zależności od platformy:

  • Wayland: protokoły wlr-virtual-pointer i virtual-keyboard dla wlroots, libei dla GNOME/KDE
  • Windows/MacOS: natywne API do emulacji wprowadzania danych
  • Przechwytywanie danych wejściowych: protokół layer-shell lub libei w zależności od środowiska

Ciekawostka: dla kompozytorów Wayland takich jak Sway tworzone jest jednopikselowe okno na krawędziach ekranu umożliwiające płynne przekazywanie kursora.

Praktyczne zastosowanie: trzy scenariusze

  1. Praca zdalna w domu — kontroluj służbowy Linux i prywatny MacBook jedną myszą
  2. Gry + streaming — kontroluj pecet do gier i maszynę do streamingu bez dodatkowych urządzeń
  3. Wieloplatformowe programowanie — testuj aplikacje na różnych systemach operacyjnych bez przełączania

Instalacja w 5 minut

Dla Arch Linux:

pacman -S lan-mouse

Lub przez Cargo dla wszystkich platform:

cargo install lan-mouse

Konfiguracja za pomocą prostego pliku TOML:

[[clients]]
position = "right"
hostname = "work-pc"
activate_on_startup = true

Co jest w planach deweloperów

  • Wsparcie przechwytywania danych wejściowych X11
  • Pomiar i wizualizacja opóźnień
  • Współdzielenie schowka między urządzeniami

Podsumowanie: kto powinien wypróbować

Lan Mouse to świetne rozwiązanie dla:

  • Programistów pracujących na wielu maszynach
  • Użytkowników hybrydowych stacji roboczych (Linux + Windows/Mac)
  • Entuzjastów Wayland szukających alternatywy dla Synergy

Projekt jest aktywnie rozwijany i oferuje już stabilną podstawową funkcjonalność. Jeśli masz dość ciągłego przełączania urządzeń — czas wypróbować to narzędzie open source.

Powiązane projekty