#1521·OpenLogi

Retire the raw-CID reprog_controls adapter in openlogi-device in favour of hidpp's typed ReprogControlsV4

Author: AprilNEACreated Sep 19, 2026Updated Sep 19, 2026
Labelstype: enhancementarea: hidarea: hidppplatform: all

crates/openlogi-device/src/reprog_controls.rs (214 lines) keeps a raw-CID accessor over hidpp's typed ReprogControlsV4: getCount/getCtrlIdInfo, getCidReporting, setCidReporting, plus decode_event for divertedButtonsEvent and rawXYEvent, and the legacy flags: u16 field beside typed_flags(). The capture and host-switch sessions drive it.

The typed feature already exposes each of these; the adapter exists for the sessions' u16 CIDs and the pre-typed flag field. Moving the sessions onto ControlId/CidFlags directly removes the layer.

Verification: the gesture and keyboard replay tests pin the exact setCidReporting bytes on arm and restore, so the byte contract is covered; a real device pass (MX mouse gesture button, F-row keys on a Logitech keyboard, host switch) is still needed because every capture path goes through this adapter. Deferred from the September refactor survey.