Skip to main content

Module smartshift

Module smartshift 

Source
Expand description

HID++ SmartShift Enhanced (feature 0x2111) — wheel ratchet ↔ free-spin control with sensitivity threshold.

The protocol-level 0x2111 wrapper lives in openlogi-hidpp; this module keeps OpenLogi’s IPC/config-facing mode and status types.

Mode encoding (consistent across 0x2110 / 0x2111):

  • wheelMode 1 = free-spin (no ratchet, infinite scroll), 2 = ratchet (clicky).
  • autoDisengage 0x010xFE = the wheel speed (in 0.25 turn/s steps) past which a ratchet-mode wheel releases into free-spin — i.e. the “SmartShift” threshold. 0xFF keeps the ratchet engaged permanently (never auto-switches). See AUTO_DISENGAGE_PERMANENT.

Structs§

SmartShiftStatus
Snapshot returned from OpenLogi’s SmartShift read helpers.

Enums§

SmartShiftMode
SmartShift mode values understood by the firmware. Free = free-spin, Ratchet = clicky / smartshift-off. The discriminant is the wire byte; reserved values (0 / 3 / future) fail TryFrom and callers fall back to whatever they consider sane.

Constants§

AUTO_DISENGAGE_PERMANENT
autoDisengage value that keeps the ratchet engaged permanently — the wheel never auto-releases into free-spin, regardless of speed. Any other value (0x010xFE) is a SmartShift speed threshold.