hrvach/deskhop

Fast Desktop Switching Device

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 44 minutes ago
Added to GitGenius on September 8th, 2026
Created on December 24th, 2023
Open Issues & Pull Requests: 125 (+0)
GitHub issues: Enabled
Number of forks: 296
Total Stargazers: 7,898 (+0)
Total Subscribers: 61 (+0)

Repository Insights (GitGenius)

Most active contributors

Sign in to see contributor activity.

Related repositories by overlapping contributors

No overlapping-contributor repos identified yet.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 93
New in 7 days: 1
Closed in 7 days: 0
Avg open age: 501 days
Stale 30+ days: 83
Stale 90+ days: 77

Recent activity

Opened in 7 days: 1
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • documentation (2)
  • enhancement (2)
  • bug (1)
  • helping others (1)
  • use case issue (1)

Detailed Description

DeskHop is a hardware device that enables fast switching between two computers using a single keyboard and mouse pair.

The problem it solves is the friction and delay inherent in traditional USB switching boxes. DeskHop acts as an intermediary between your peripherals and computers, maintaining simultaneous connections to both machines and intelligently routing input based on your selection. It supports two switching methods: a configurable keyboard hotkey and mouse-based switching. For mouse switching, the device converts relative mouse movements into absolute coordinates, accumulating position internally. When the cursor reaches a monitor edge in the direction of the other display, the device swaps outputs while preserving the Y coordinate, creating a seamless visual transition. The keyboard follows the mouse automatically, and vice versa. The device also remembers LED states for each computer, restoring the visual feedback you left behind when switching back.

DeskHop suits anyone sharing peripherals between two computers regardless of their operating systems. It requires no software installation on either machine and works with Linux, macOS, and Windows simultaneously. The hardware uses affordable, readily obtainable components and can be assembled in a 3D-printable snap-fit case. Full galvanic isolation between outputs protects your computers from electrical issues. The project is completely free and open source, released under an open source hardware certification.

The codebase is written in C and targets the Raspberry Pi Pico microcontroller. The project includes a web-based configuration interface and bundles a minimal Pico SDK along with TinyUSB to avoid version mismatches and simplify the build process. A user manual is provided to guide setup and operation. The build system is straightforward, requiring only standard development tools on Debian or Ubuntu systems, with an additional Python dependency for rendering the web UI.