OVERVIEW
--------
Configured the Logitech MX Master 3S mouse to mimic default macOS
button behavior using logiops — a userspace driver for Logitech devices.
PREREQUISITES
-------------
- logiops package installed:
sudo dnf install logiops
- Enable and start the logid service:
sudo systemctl enable logid
sudo systemctl start logid
BUTTON MAPPING (Mac → Linux equivalent)
----------------------------------------
Thumb button (tap) → GNOME Activities overlay (like Mission Control)
Thumb + swipe Up → Show all windows (like Exposé)
Thumb + swipe Down → Show desktop (Super+D)
Thumb + swipe Left → Switch to left workspace (like swipe between desktops)
Thumb + swipe Right → Switch to right workspace
Back button → Browser / app Back
Forward button → Browser / app Forward
Button behind scroll → Toggle SmartShift (ratchet ↔ free-spin)
Scroll wheel → Smooth hi-res scroll (like macOS smooth scroll)
SmartShift → Auto mode-switch at threshold 30
STEPS
-----
1. Backup existing config (if any):
sudo cp /etc/logid.cfg /etc/logid.cfg.bak
2. Write the new config to /etc/logid.cfg:
sudo nano /etc/logid.cfg
(or use the config block below)
3. Paste the following configuration:
-------- /etc/logid.cfg --------
devices: (
{
name: "MX Master 3S";
smartshift:
{
on: true;
threshold: 30;
};
hiresscroll:
{
hires: true;
invert: false;
target: false;
};
dpi: 1750;
buttons: (
{
# Gesture/Thumb button
cid: 0xc3;
action =
{
type: "Gestures";
gestures: (
{
direction: "None";
mode: "OnRelease";
action =
{
type: "Keypress";
keys: ["KEY_LEFTMETA"];
};
},
{
direction: "Up";
mode: "OnRelease";
action =
{
type: "Keypress";
keys: ["KEY_LEFTMETA", "KEY_W"];
};
},
{
direction: "Down";
mode: "OnRelease";
action =
{
type: "Keypress";
keys: ["KEY_LEFTMETA", "KEY_D"];
};
},
{
direction: "Left";
mode: "OnRelease";
action =
{
type: "Keypress";
keys: ["KEY_LEFTCTRL", "KEY_LEFT"];
};
},
{
direction: "Right";
mode: "OnRelease";
action =
{
type: "Keypress";
keys: ["KEY_LEFTCTRL", "KEY_RIGHT"];
};
}
);
};
},
{
# Back button
cid: 0x53;
action =
{
type: "Keypress";
keys: ["KEY_BACK"];
};
},
{
# Forward button
cid: 0x56;
action =
{
type: "Keypress";
keys: ["KEY_FORWARD"];
};
},
{
# Button behind scroll wheel
cid: 0xc4;
action =
{
type: "ToggleSmartshift";
};
}
);
});
-------- end of config --------
4. Restart the logid service to apply:
sudo systemctl restart logid
5. Verify no errors:
journalctl -u logid -n 20 --no-pager
Expected output (no WARN/ERROR lines):
[INFO] Device found: MX Master 3S on /dev/hidrawX:255
BUTTON CID REFERENCE (MX Master 3S)
-------------------------------------
0xc3 → Thumb / Gesture button
0xc4 → Button behind scroll wheel (mode shift)
0x53 → Back button
0x56 → Forward button
NOTES
-----
- KEY_LEFTSUPER is NOT a valid keycode in logiops — use KEY_LEFTMETA instead.
- If the mouse is not detected, check: journalctl -u logid -f
- Config file location: /etc/logid.cfg
- Backup location: /etc/logid.cfg.bak
- logiops docs: https://github.com/PixlOne/logiops
No comments:
Post a Comment