Skip to content

Instantly share code, notes, and snippets.

@cameronj86
Created April 3, 2025 15:45
Show Gist options
  • Select an option

  • Save cameronj86/9e0c276745e97fc30ecb9e47eb7af2ad to your computer and use it in GitHub Desktop.

Select an option

Save cameronj86/9e0c276745e97fc30ecb9e47eb7af2ad to your computer and use it in GitHub Desktop.
Current LogiOps MX Master 3 config
// Logiops (Linux driver) configuration for Logitech MX Master 3.
// Includes gestures, smartshift, DPI.
// Tested on logid v0.3.3 - KDE 5.27.5 on Debian 12
// OUTSTANDING
// 1. Create down-button gestures for Obsidian
// What's working:
// 1. Window snapping using Gesture button (Thumb)
// 2. Forward Back Buttons
// 3. Top button (Ratchet-Free wheel)
// What's not working:
// 1. Thumb scroll (H-scroll)
// 2. Scroll button
// File location: /etc/logid.cfg
devices: ({
name: "Wireless Mouse MX Master 3";
smartshift: {
on: true;
threshold: 15;
};
hiresscroll: {
hires: true;
invert: false;
target: false;
};
dpi: 1750; // max=4000
buttons: (
// Forward button
{
cid: 0x56;
action = {
type: "Gestures";
gestures: (
{
direction: "None";
mode: "OnRelease";
action = {
type: "Keypress";
keys: [ "KEY_LEFTCTRL", "KEY_SPACE" ]; // (FXREPLAY) Sim Next Bar
}
},
{
direction: "Up";
mode: "OnRelease";
action = {
type: "Keypress";
keys: [ "KEY_T" ]; //(ANKI) Write Text
}
},
{
direction: "Down";
mode: "OnRelease";
action = {
type: "Keypress";
keys: [ "KEY_V" ]; //(ANKI) Draw Trendline
}
},
{
direction: "Right";
mode: "OnRelease";
action = {
type: "Keypress";
keys: [ "KEY_LEFTMETA", "KEY_PAGEUP" ]; //(ANKI) Full-screen
}
},
{
direction: "Left";
mode: "OnRelease";
action = {
type: "Keypress";
keys: [ "KEY_F" ]; //(ANKI) Center content in window
}
}
);
};
},
// Back button
{
cid: 0x53;
action = {
type: "Gestures";
gestures: (
{
direction: "None";
mode: "OnRelease";
action = {
type: "Keypress";
keys: [ "KEY_LEFTALT", "KEY_J" ]; // (FXREPLAY) Draw horizontal line
}
}
);
};
},
// Gesture button (hold and move)
{
cid: 0xc3;
action = {
type: "Gestures";
gestures: (
{
direction: "None";
mode: "OnRelease";
action = {
type: "Keypress";
keys: [ "KEY_LEFTALT", "KEY_T" ]; // (FXREPLAY) Draw trendline
}
},
{
direction: "Right";
mode: "OnRelease";
action = {
type: "Keypress";
keys: [ "KEY_LEFTSHIFT", "KEY_F" ]; // (FXREPLAY) Full screen
}
},
{
direction: "Left";
mode: "OnRelease";
action = {
type: "Keypress";
keys: [ "KEY_LEFTALT", "KEY_N" ]; // (FXREPLAY) Create Stop Order
}
},
{
direction: "Up";
mode: "onRelease";
action = {
type: "Keypress";
keys: [ "KEY_LEFTMETA", "KEY_UP" ]; // maximize window
}
},
{
direction: "Down";
mode: "OnRelease";
action = {
type: "Keypress";
keys: [ "KEY_LEFTALT", "KEY_S" ]; // (FXREPLAY) Save/Place Order
}
}
);
};
},
// Top button
{
cid: 0xc4;
action = {
type: "Gestures";
gestures: (
{
direction: "None";
mode: "OnRelease";
action = {
type: "Keypress";
keys: [ "KEY_LEFTALT", "KEY_B" ]; // (FXREPLAY) Limit Order Entry// Previously: (SYSTEM) Spectacle Screenshot
}
},
{
direction: "Up";
mode: "OnRelease";
action = {
type: "ChangeDPI";
inc: 1000,
}
},
{
direction: "Down";
mode: "OnRelease";
action = {
type: "ChangeDPI";
inc: -1000,
}
}
);
};
}
);
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment