SmartShift
Control scroll-wheel mode between ratchet and free-spin, set the auto-release threshold, and bind the toggle to a button.
Switch the scroll wheel between a clicky ratchet feel and frictionless
free-spin, set how hard you have to flick before it releases, and pin a
permanent ratchet that never lets go, backed by the HID++ 0x2111
smartShiftEnhanced feature (the variant on MX Master 3 / 3S / 4 and current
MX-line mice). Everything lives in the GUI's SmartShift panel, and the
mode toggle is also a bindable action.
From the GUI
Select the mouse in the device carousel; its detail panel has a SmartShift section with:
- Wheel mode — a two-pill segmented control, Free spin / Ratchet. Free spin lets the wheel coast for long-page scrolling; Ratchet gives the stepped, tactile clicks. The selected pill is highlighted.
- Sensitivity threshold — an
8–50slider (default16) that sets how fast you have to spin before the wheel auto-releases into free-spin. Higher keeps the ratchet engaged longer. The numeric label tracks your drag, but the value is pushed to the device only when you release the slider. It's greyed out unless you're in ratchet mode with permanent ratchet off. The floor is deliberate: below it the ratchet releases at everyday scroll speeds and the wheel feels stuck spinning. - Permanent ratchet — an On / Off toggle. On disables the auto-release entirely, so the wheel stays ratcheted no matter how fast you spin; Off restores your last threshold. It has no meaning under free spin and is disabled there.
- Thumb wheel sensitivity — a per-device override of the app-wide thumb-wheel setting; see Scrolling.
The panel reads the wheel's current state the first time it's shown. If the device is asleep or offline you'll see an offline message with a line to click and retry; mice that don't expose the feature show This device does not support SmartShift.
As an action
ToggleSmartShift flips the wheel between free-spin and ratchet on a button
press, without opening the panel. Bind it from the GUI's action picker or by
hand in the config, and scope it per app with a
profile.
In the config
The mouse keeps SmartShift in volatile memory, so a power cycle would otherwise forget it. OpenLogi records your choice per device and the agent re-applies it on every reconnect:
[devices."receiver:aabbccdd:slot:1".smartshift]
mode = "ratchet" # or "free"
auto_disengage = 16 # 8–254, or 255 for a permanent ratchet
tunable_torque = 0 # 1–100 where the device supports tunable torqueA persisted threshold below the supported floor (including the firmware's 0
"don't change" sentinel) is healed back to the default on load.
Quit Logi Options+ first so OpenLogi can own the device. Mice that expose the
older 0x2110 smartShiftWheel variant are supported through the same panel.
Status: macOS, Linux, and Windows. See the
roadmap for what's wired up. Protocol detail is on
0x2111 smartShiftEnhanced and
0x2110 smartShiftWheel.