Skip to main content

OpenMouse Developer & Vendor Guide

OpenMouse is a browser-based control panel for gaming mice — DPI, polling rate, lift-off distance, RGB, button remapping — built on WebHID, with no drivers or native apps to install.

This guide is for developers and vendors adding a new device to OpenMouse: reverse-engineering a device's protocol, writing a driver, and getting it wired into the app.

Where to start

  • Architecture — the repos, the shared data model, and how a driver plugs into the app. Read this first.
  • Add a Device — the end-to-end walkthrough: capture traffic, write a codec + driver, register it, verify it.

Project layout

OpenMouse is split across a few sibling repositories:

RepoWhat it is
openmouseThe Preact/Vite web control panel (the app users open)
mouse-protocol@openmouse/protocol — device codecs + WebHID drivers
OpenMouse-BridgeRust local companion (optional, for devices WebHID can't reach)

A new device almost always means changes in two repos: the driver itself lives in mouse-protocol, and a small amount of wiring lives in openmouse. See Architecture for the exact touch points.