Last active
October 13, 2023 07:50
-
-
Save tyler-dot-earth/a01b5414960b265b37d5148779d3c687 to your computer and use it in GitHub Desktop.
Logiops (Linux driver) configuration example for Logitech MX Master 3. Includes gestures, smartshift, DPI. Tested on logid v0.2.2-35-g1c209ed. File location: `/etc/logid.cfg`
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Logiops (Linux driver) configuration for Logitech MX Master 3. | |
// Includes gestures, smartshift, DPI. | |
// Tested on logid v0.2.2-35-g1c209ed. | |
// 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: 1500; // max=4000 | |
buttons: ( | |
// Forward button | |
{ | |
cid: 0x56; | |
action = { | |
type: "Gestures"; | |
gestures: ( | |
{ | |
direction: "None"; | |
mode: "OnRelease"; | |
action = { | |
type: "Keypress"; | |
keys: [ "KEY_FORWARD" ]; | |
} | |
}, | |
{ | |
direction: "Up"; | |
mode: "OnRelease"; | |
action = { | |
type: "Keypress"; | |
keys: [ "KEY_PLAYPAUSE" ]; | |
} | |
}, | |
{ | |
direction: "Down"; | |
mode: "OnRelease"; | |
action = { | |
type: "Keypress"; | |
keys: [ "KEY_PLAYPAUSE" ]; | |
} | |
}, | |
{ | |
direction: "Right"; | |
mode: "OnRelease"; | |
action = { | |
type: "Keypress"; | |
keys: [ "KEY_NEXTSONG" ]; | |
} | |
}, | |
{ | |
direction: "Left"; | |
mode: "OnRelease"; | |
action = { | |
type: "Keypress"; | |
keys: [ "KEY_PREVIOUSSONG" ]; | |
} | |
} | |
); | |
}; | |
}, | |
// Back button | |
{ | |
cid: 0x53; | |
action = { | |
type: "Gestures"; | |
gestures: ( | |
{ | |
direction: "None"; | |
mode: "OnRelease"; | |
action = { | |
type: "Keypress"; | |
keys: [ "KEY_BACK" ]; | |
} | |
} | |
); | |
}; | |
}, | |
// Thumb button | |
{ | |
cid: 0xc3; | |
action = { | |
type: "Gestures"; | |
gestures: ( | |
{ | |
direction: "None"; | |
mode: "OnRelease"; | |
action = { | |
type: "Keypress"; | |
keys: [ "KEY_LEFTCTRL", "KEY_TAB" ]; | |
} | |
}, | |
{ | |
direction: "Right"; | |
mode: "OnRelease"; | |
action = { | |
type: "Keypress"; | |
keys: [ "KEY_LEFTCTRL", "KEY_PAGEDOWN" ]; | |
} | |
}, | |
{ | |
direction: "Left"; | |
mode: "OnRelease"; | |
action = { | |
type: "Keypress"; | |
keys: [ "KEY_LEFTCTRL", "KEY_PAGEUP" ]; | |
} | |
} | |
); | |
}; | |
}, | |
// Top button | |
{ | |
cid: 0xc4; | |
action = { | |
type: "Gestures"; | |
gestures: ( | |
{ | |
direction: "None"; | |
mode: "OnRelease"; | |
action = { | |
type: "ToggleSmartShift"; | |
} | |
}, | |
{ | |
direction: "Up"; | |
mode: "OnRelease"; | |
action = { | |
type: "ChangeDPI"; | |
inc: 1000, | |
} | |
}, | |
{ | |
direction: "Down"; | |
mode: "OnRelease"; | |
action = { | |
type: "ChangeDPI"; | |
inc: -1000, | |
} | |
} | |
); | |
}; | |
} | |
); | |
}); |
I experienced slow/weird/buggy scrolling after updating to 22.04 from a pretty old version of Ubuntu/GNOME Shell, so I updated the gist.
Notes for what I did:
sudoedit /etc/logid.cfg
- set
hires: true
sudo systemctl restart logid
to use the changes
Scrolling was fine after.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Nice gestures for the "Forward" and "Wheel" buttons!
I pulled those gestures to my config.
I also would like to map the scroll wheel in the "Forward" gestures group to volume changes like this:
This mapping works on the M720, but does not work on MX Master 3 for some reason (I hadn't debugged this yet).
I have mappings for thumb gesture button for windows operating (maybe someone will like it):
This gestures group has the same problem with scroll wheel actions (works on M720, but not on MX Master 3), but the rest can be used (vertical movement switches windows, horizontal movement switches tabs, single click shows all windows to switch).
You will need to merge the following branches:
https://github.com/abraha2d/logiops/tree/appswitching-support
https://github.com/abraha2d/logiops/tree/scroll-support
Those branches are from pull requests:
PixlOne/logiops#160
PixlOne/logiops#161
UPD:
I forgot to set parameter target: true for MX Master 3 in logid.cfg:
With target: true scroll mappings works fine on MX Master 3.