-
-
Notifications
You must be signed in to change notification settings - Fork 292
Open
Description
MX Master 4 initial CID mapping and full gesture configuration
Device released: 30.09.2025
CID map reverse-engineered manually – verified on Arch Linux
Config below includes:
– SmartShift toggle
– Thumb rest gesture → media control (volume, track, play/pause)
– Super/meta thumb key
– Browser nav bindings
Button map reference included for maintainers.
// Logitech MX Master 4 Button Mapping
// 0x0c4 → Top button behind scroll wheel (MagSpeed toggle)
// 0x052 → Middle click (wheel press) (Standard middle click)
// 0x053 → Back button (side) (Browser Back)
// 0x056 → Forward button (side) (Browser Forward)
// 0x0c3 → Gesture button (Gesture button) (Media gesture hub)
// 0x1a0 → Thumb button (bottom-left corner) (Super/Meta key)
// Configuration for Logitech MX Master 4
// Full gesture implementation on the gesture button for media control
devices: (
{
name: "MX Master 4";
// Set the DPI.
dpi: 4000;
// Enable smartshift to automatically switch between ratchet and free-spin.
smartshift: {
on: true;
threshold: 15;
};
// Enable high-resolution scrolling for a smoother feel.
hiresscroll: {
on: true;
};
buttons: (
// ── Top button (behind scroll wheel) ── Toggles SmartShift
{
cid: 0xc4;
action: {
type: "ToggleSmartshift";
};
},
// ── Back button (side) ──────────────── Browser Back
{
cid: 0x53;
action: {
type: "Keypress";
keys: [ "KEY_BACK" ];
};
},
// ── Forward button (side) ───────────── Browser Forward
{
cid: 0x56;
action: {
type: "Keypress";
keys: [ "KEY_FORWARD" ];
};
},
// ── Thumb rest click ────────────────── Super/Windows key
{
cid: 0x1a0;
action: {
type: "Keypress";
keys: [ "KEY_LEFTMETA" ];
};
},
// ── Gesture button ──────────────────── Media Gestures
{
cid: 0xc3;
action: {
type: "Gestures";
gestures: (
// Hold + Move Up ──────────────── Volume Up
{
direction: "Up";
mode: "OnRelease";
action: {
type: "Keypress";
keys: [ "KEY_VOLUMEUP" ];
};
},
// Hold + Move Down ────────────── Volume Down
{
direction: "Down";
mode: "OnRelease";
action: {
type: "Keypress";
keys: [ "KEY_VOLUMEDOWN" ];
};
},
// Hold + Move Left ────────────── Previous Track
{
direction: "Left";
mode: "OnRelease";
action: {
type: "Keypress";
keys: [ "KEY_PREVIOUSSONG" ];
};
},
// Hold + Move Right ───────────── Next Track
{
direction: "Right";
mode: "OnRelease";
action: {
type: "Keypress";
keys: [ "KEY_NEXTSONG" ];
};
},
// Simple click (no movement) ──── Play/Pause
{
direction: "None";
mode: "OnRelease";
action: {
type: "Keypress";
keys: [ "KEY_PLAYPAUSE" ];
};
}
);
};
}
);
}
);
MrRothstein, nhongooi, MaxKarel, Arttii, paulpet and 14 morefstoltz
Metadata
Metadata
Assignees
Labels
No labels