OpenLogi

HID++ Reference

Logitech's vendor protocol for configuring mice, keyboards, and receivers over USB HID. The same protocol Options+ uses, spoken directly by OpenLogi.

HID++ is Logitech's vendor protocol for configuring mice, keyboards, and receivers over USB HID. OpenLogi speaks it directly — the same protocol Options+ uses — through the hidpp Rust crate.

Two generations

  • HID++ 1.0 — a fixed set of numbered registers. Used mainly by older Unifying receivers for pairing and device enumeration.
  • HID++ 2.0 — a discoverable set of features, each identified by a 16-bit ID (written 0xZZZZ, e.g. 0x2201). This is what modern devices use.

Feature discovery

A 2.0 device exposes its capabilities through two root features:

From there, OpenLogi queries individual features: device information, battery, DPI, SmartShift, and so on. See the feature index.

Attribution & copyright

This HID++ reference is an original summary written for the OpenLogi project. It describes Logitech's HID++ 1.0 / 2.0 protocol as understood from publicly available documentation and the hidpp implementation, and reproduces no Logitech document verbatim. “Logitech”, “Unifying”, “Logi Bolt” and “Options+” are trademarks of Logitech; OpenLogi is an independent project and is not affiliated with, authorized, or endorsed by Logitech. The material is provided “as is”, without warranty of any kind.

On this page