0x1b00 · reprogControls
早期版本的控件枚举与转发——查询设备可编程按键表,并将指定控件的报告重定向为 HID++ 事件。
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 only0x1b00predate those capabilities.
Status: Not implemented · Feature ID:
0x1b00· See also: 0x1b04 reprogControls4/specialKeysMSEButtons