0x8080 · perKeyLighting
Legacy per-key RGB lighting control — query populated zone IDs, stage per-zone colours, and commit a frame to the display with optional non-volatile persistence.
An earlier HID++ 2.0 per-key (per-zone) RGB lighting control feature targeting
RGB keyboards and other Logitech peripherals with individually addressable LED
zones. It defines a staged commit model — zone colours are written in one or
more requests and then committed to the device display in a single frame-end
call — and a mechanism for querying which zone IDs are physically present on
the device. 0x8081 perKeyLighting2 is the revised successor to this feature
and is what OpenLogi's vendored hidpp crate implements.
Not implemented in OpenLogi
OpenLogi's vendored hidpp crate does not provide a typed wrapper for this feature yet. The notes below summarise the HID++ feature in general terms, not OpenLogi behaviour. OpenLogi instead relies on 0x8081 perKeyLighting2 where applicable.
What it does
It is the protocol 0x8081 was derived from:
- Zone presence — ask which zone IDs are populated, so only valid targets are addressed.
- Colour staging — write RGB values to single zones or groups without immediately changing the display.
- Frame commit — a dedicated call flushes the staged colours to the hardware and controls frame-timing parameters, with an option to persist the result to non-volatile storage.
- Setter variants — like its successor, it likely has setters trading zones-per-request against selection flexibility (individual, consecutive, range-based).
Because 0x8081 is the deployed successor, devices that report 0x8080 are
older models; the two features share the same conceptual model but differ in
the precise function table and payload layout. Do not rely on this page for
wire-format details; consult the official Logitech HID++ specification for
0x8080 directly.
Status: Not implemented · Feature ID:
0x8080· See also: 0x8081 perKeyLighting2