OpenLogi

MX Master 4

Every control OpenLogi drives on the MX Master 4, the HID++ feature behind each one, and the config.toml that binds them.

Logitech's registry lists this mouse as model id 2b042 — the string OpenLogi resolves its renders and hotspots by, and the one the model id index keys it under. What follows describes the product; what your own unit answers is what openlogi diag features prints.

Controls

MX Master 4 seen from the side, with its controls numbered1234567
  1. 1Middle click
  2. 2Mode-shift (DPI) button
  3. 3Thumb wheel
  4. 4Gesture button
  5. 5Forward
  6. 6Back
  7. 7Haptic Sense panel
Control positions come from Logitech's own metadata for this model, not from measuring the picture.

Controls bind under logical names in config.toml. The agent captures controls needed by your bindings and the built-in gesture/haptic defaults:

#ControlBinds asDiverted through
1Middle clickMiddleClickOS input hook
2Mode-shift buttonDpiToggle0x1b04
3Thumb wheelThumbwheel, ThumbwheelScrollUp, ThumbwheelScrollDown0x2150
4Gesture buttonGestureButton0x1b04
5ForwardForwardOS input hook; HID++ also participates in macOS gesture capture
6BackBackOS input hook; HID++ also participates in macOS gesture capture
7Haptic Sense panelHapticPanela divertable 0x01a0 control in the 0x1b04 table

Back, Forward, the Gesture Button, and the Haptic Sense panel support gesture mode. The Mode-shift button also supports it once raw-XY capability is measured. Gesture bindings use Up / Down / Left / Right / Click instead of one action; multiple controls can use them at once. The thumb wheel does not support this mode, and middle-click gestures are only retained for compatibility with existing configurations. See Remap buttons.

The Haptic Sense panel is the one control this mouse has and its predecessors don't. It is an ordinary divertable control in the reprogrammable-controls table, so it binds like any button — ShowActionsRing is the binding that makes it open the Actions Ring — and the haptics themselves come from 0x19b0.

Panels this mouse lights up

Panels are gated on the feature ids the device reports, never on its marketing type, so this list is what an MX Master 4 normally answers with:

PanelFeaturePage
DPI presets0x2201 AdjustableDpi, or 0x2202 extendedDPI
SmartShift0x2111 SmartShiftEnhancedSmartShift
Scroll inversion & wheel resolution0x2121 HiResWheelScrolling
Thumb wheel0x2150 ThumbwheelScrolling
Haptic feedback0x19b0 HapticFeedbackActions Ring
Battery0x1004 UnifiedBattery—
Host switching0x1814 ChangeHost—

A panel that doesn't appear means the unit didn't report its feature; the authority is openlogi diag features, not this table.

Configure it

Device blocks are keyed by the physical device, not by model — two MX Master 4s on one machine never share an entry. Configure the mouse once in the app, then copy its generated key from config.toml. A known unit:… or serial:… identity follows the device across transports; receiver and direct routes are stored as links beneath that identity. The key below is illustrative, not a model-wide identifier.

[devices."unit:6be9d300"]
dpi = 1600
dpi_presets = [800, 1600, 3200]
invert_scroll = false

[devices."unit:6be9d300".smartshift]
mode = "ratchet"
auto_disengage = 20
tunable_torque = 0

[devices."unit:6be9d300".bindings]
MiddleClick = "MissionControl"
DpiToggle = { SetDpiPreset = 2 }
HapticPanel = "ShowActionsRing"
Back = { CustomShortcut = "Cmd+Shift+P" }

[devices."unit:6be9d300".bindings.GestureButton]
Up = "MissionControl"
Down = "ShowDesktop"
Left = "PrevTab"
Right = "NextTab"
Click = "AppExpose"

Every key above, and the full action list, is in Configuration.

Identity

The registry's 2b042 is not what the firmware reports: an MX Master 4 answers 0x0003 deviceInformation with ext=01 and PID b042, so it is the trailing four digits that line up, not the prefix — OpenLogi matches on them, and Model IDs explains why. openlogi list prints the raw pair under the paired device.

On this page