OpenLogi
Features

0x1b00 · reprogControls

Early-generation control enumeration and diversion — query the device's programmable button table and redirect individual controls to HID++ events.

reprogControls is an earlier-generation HID++ 2.0 feature for enumerating and diverting the physical controls (buttons, function keys, hotkeys) on Logitech mice and keyboards. It defines the foundational control-table model — each entry carries a control ID, a default task ID, and a set of capability flags — and provides functions to query that table and to switch individual controls between their default HID report behaviour and HID++ event diversion. The feature was later superseded by 0x1b04 (specialKeysMSEButtons / reprogControlsV4), which adds persistent diversion, raw-XY and raw-wheel event streams, analytics key events, group masking, and the v6 capability query.

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 0x1b04 reprogControls4/specialKeysMSEButtons where applicable.

What it does

  • Control enumeration — provides a function to report how many programmable controls the device has and another to fetch the descriptor for each one by index, including its default task ID and capability flags (e.g. whether the control is reprogrammable or divertable).
  • Control diversion — provides functions to read and write the active diversion state for a given control ID; when diverted the device stops sending its usual HID report for that control and emits HID++ events instead.
  • Button events — broadcasts the set of currently pressed diverted controls as HID++ events, so host software can respond to them without tying up HID report bandwidth.
  • Earlier protocol revision — compared with 0x1b04, this version has a narrower flag set and does not include persistent diversion, raw pointer deltas, raw wheel deltas, or analytics reporting. Devices that advertise only 0x1b00 predate those capabilities.

Status: Not implemented · Feature ID: 0x1b00 · See also: 0x1b04 reprogControls4/specialKeysMSEButtons

On this page