pub async fn set_smartshift(
route: &DeviceRoute,
mode: SmartShiftMode,
auto_disengage: u8,
tunable_torque: u8,
) -> Result<(), WriteError>Expand description
Write a full SmartShift configuration — wheel mode, auto-disengage
threshold, and tunable torque — to route. These values are volatile device
state and should be re-applied after reconnect. Callers that mean to change
only one field should read the rest via get_smartshift_status first and
pass them back unchanged.
A 0 auto-disengage threshold or tunable torque is the firmware’s
“do not change” sentinel, not a real value to apply. On a Legacy (0x2110)
device the tunable_torque field is ignored.
FeatureUnsupported when the device exposes neither HID++ 0x2111
(MX Master 3 / 3S) nor the older 0x2110 (MX Master 2S).