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:
0x0000root — resolves a feature ID to its runtime feature index.0x0001featureSet — enumerates every feature the device implements.
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.