CursorHop

What's new

All notable updates to CursorHop.

v0.8.0-beta April 2026

Initial Public Release

Share one keyboard and mouse across Windows and Mac over LAN.Encrypted by default (Noise Protocol).Clipboard sync + file drag-and-drop between machines.Game Mode, display dimming, and Win↔Mac shortcut translation.

CursorHop 0.8.0-beta — Initial Public Release

First public beta of CursorHop, a from-scratch keyboard and mouse sharing app (software KVM, no video) for Windows and macOS on your local network.

Core

  • Input sharing — Low-latency mouse and keyboard forwarding across machines over LAN, with binary wire encoding (MouseMove 13 B, MouseScroll 9 B) and 1 ms flush on the hot path.
  • Edge-based switching — Move your cursor off the edge of one screen onto another. Three-gate return protection (250 ms cooldown, 20 px inward travel, 10 minimum events) prevents accidental return flickers.
  • Multi-monitor aware — Screens from the same device move as a locked group in the layout editor. Sub-pixel accumulators preserve precision across mixed resolutions and DPIs.
  • Bidirectional control — Both machines can be Primary at once. Injected events carry an INJECTED_TAG so they are never re-captured into a loop.

Security

  • Noise Protocol encryptionNoise_XX_25519_ChaChaPoly_SHA256 with mutual authentication, enabled by default. Toggle available per connection.
  • Ed25519 device identity — Per-device UUID v4 with a 32-byte keypair. 8-byte fingerprint shown during pairing.
  • Trust-on-first-use pairing — Manual approval on first connection; subsequent connections are automatic for known peers.
  • Offline JWT licensing — Fetch license once online; app works fully offline afterwards. RS256-signed, locally verified.

Discovery & Networking

  • mDNS auto-discovery_cursorhop._tcp.local. service advertisement, IPv4 preferred.
  • Room codes — 5-letter deterministic codes derived from device ID for joining across subnets via UDP beacons on port 24801.
  • Direct IP connect — Manual connection by IP address for networks where mDNS is blocked.
  • Auto-reconnect — mDNS-driven, periodic (30 s), and full subnet scan (45 s) fallbacks. 200 ms heartbeats with 15-miss timeout.

Clipboard

  • Text, images, HTML, files — Per-format enable toggles. Up to 50 MB clipboard, 16 MB drag-drop.
  • Loop prevention — Event IDs and skip-next flags prevent clipboard ping-pong between peers.
  • Chunked file pull-transfer — Copy on source, paste on target streams zstd-compressed chunks on demand.
  • Fallback chain — Paste directory → Desktop copy (OneDrive-aware) → clipboard paste.

File Transfer

  • Chunked transfers — 3 MB chunks, zstd level 3 compression, SHA-256 verification per file.
  • Pause, resume, cancel — Up to 2 parallel transfers by default. 100 MB default max file size (configurable).
  • Edge drag-and-drop — OLE IDropTarget-driven: drag files off the edge of one screen, drop onto the other machine's desktop.

Keyboard

  • Shortcut translation — Built-in Win↔Mac profile with 30+ mappings. Stateful modifier tracking ensures correct KeyUp behavior.
  • Per-device modifier remap — Remap Shift, Ctrl, Alt, Super independently per peer.
  • Meta key filter — Optionally strip bare Super/Win presses from forwarded input.

Display & Focus

  • Display dimming — Per-monitor overlay on Windows, gamma ramp on macOS. Brightness slider 0.0–1.0 (default 0.3). Restores automatically when no peers remain.
  • Cursor Lock — Scroll Lock toggles a local-only cursor pin with an on-screen overlay.
  • Game ModeCtrl+G enables relative-delta forwarding with 1x1 ClipCursor pin for FPS and other games that capture the cursor.

Power & Session

  • Power sync (Max tier) — Forward Lock, Unlock, Suspend, Shutdown, Restart, and Screensaver events from Primary to Remote with 2 s dedup.
  • Sleep prevention — Optional flag prevents forwarding input while a peer is sleeping.

Licensing & Tiers

  • Four tiers — Free Trial, Pro, Pro+, Max — with device limits of 5, 2, 5, and 10 respectively.
  • Feature gating in both UI (LockedFeatureBadge → pricing page) and core (GAME_MODE_FEATURE atomic is UI-bypass proof).
  • Stripe-powered billing, Supabase-backed license issuance, JWT delivered to desktop app and cached locally.

Auto-Update

  • Windows — Silent electron-updater flow via dl.cursorhop.com/releases. Scheduled task with RL HIGHEST elevates without a UAC prompt on launch, modeled after Synergy and Razer Synapse.
  • macOS — Custom unsigned updater: fetch latest-mac.yml, verify SHA-512, ditto-extract, strip quarantine, ad-hoc codesign (required on Sequoia 15.1+), detached swap script with rollback, relaunch.
  • Single installer — One Inno Setup .exe serves both the website download wizard and silent auto-update (/VERYSILENT /SUPPRESSMSGBOXES /NORESTART).

UI

  • 10 pages — Dashboard, Devices, Layout editor, Transfers, Diagnostics, Settings, Mappings, Misc, Account, About.
  • Flat, containerless design — Tailwind 3.4 with five surface levels and three border levels driven by CSS RGB variables. Dark mode only in this release.
  • Real-time streaming — Status, logs, transfers, and pair requests stream over gRPC; devices poll every 5 s.
  • Layout editor — Drag-snap canvas at 60 fps via requestAnimationFrame. Multi-monitor device groups move as one.
  • First-run onboarding — Sign-in, accessibility permissions (macOS), and a five-slide feature tour.

Platform Support

  • Windows 10/11 (x64) — Primary platform. Full feature set. Single installer with requireAdministrator manifest.
  • macOS 12+ (x64 and arm64) — Secondary platform. Unsigned build with ad-hoc codesign. Input capture via real CGEventTap. Clipboard currently limited to stubs.
  • Linux — Not supported in this release.