Configure Logitech MX Master 3 On Linux (LogiOps) - Danish Shakeel
Có thể bạn quan tâm
I was a Windows user until very recently, when I decided to switch to some Linux distribution as my daily driver. I chose Zorin OS 16 Pro, primarily because – (1) it is based on Ubuntu, which I have been using on my Raspberry Pi 4 for a while (2) it comes with pre-installed apps (which saved me a couple of hours). The only reason I reluctant to switch because Linux does not support Adobe CC out of the box and it does not support Logitech Options.MX Master 3 is one of my prized possessions, it is very close to my heart. It is one of the finest mice that I’ve ever had, and it feels really nice. Although I do not use all the MX Master 3 buttons and gestures, I still wanted to be able to configure SmartShift and DPI. Fortunately, LogiOps functions more or less like Logitech Options, albeit all on command line.
Installing LogiOpsFire your terminal (of course) install dependencies
sudo apt install cmake libevdev-dev libudev-dev libconfig++-devAfter this, you need to clone the LogiOps GitHub repo
git clone https://github.com/PixlOne/logiops.gitNext, you need to build the source. You can refer to this link for that.Once you’re done with building the project, to install, run
sudo make installEnable and start the daemon by running the following command
sudo systemctl enable --now logidYou should be able to run logid by running
sudo logidThe output should look something like this:
[WARN] Error adding device /dev/hidraw2: std::exception [INFO] Detected receiver at /dev/hidraw1 [WARN] Error adding device /dev/hidraw5: std::exception [INFO] Detected receiver at /dev/hidraw4 [WARN] Error adding device /dev/hidraw4: No DJ reports [INFO] Device found: Wireless Mouse MX Master 3 on /dev/hidraw1:1 ConfiguringThe configuration file resides in – /etc/logid.cfg. If it does not exist, you can simply create it by touch logid.cfg.
Open the logid.cfg and paste the contents from this GitHub Gist.
// Logiops (Linux driver) configuration for Logitech MX Master 3. // Includes gestures, smartshift, DPI. // Tested on logid v0.2.3 - GNOME 3.38.4 on Zorin OS 16 Pro // 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: 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_LEFTMETA" ]; } }, { 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" ]; } } ); }; }, // Gesture button (hold and move) { cid: 0xc3; action = { type: "Gestures"; gestures: ( { direction: "None"; mode: "OnRelease"; action = { type: "Keypress"; keys: [ "KEY_LEFTMETA" ]; // open activities overview } }, { direction: "Right"; mode: "OnRelease"; action = { type: "Keypress"; keys: [ "KEY_LEFTMETA", "KEY_RIGHT" ]; // snap window to right } }, { direction: "Left"; mode: "OnRelease"; action = { type: "Keypress"; keys: [ "KEY_LEFTMETA", "KEY_LEFT" ]; } }, { direction: "Up"; mode: "onRelease"; action = { type: "Keypress"; keys: [ "KEY_LEFTMETA", "KEY_UP" ]; // maximize window } }, { direction: "Down"; mode: "OnRelease"; action = { type: "Keypress"; keys: [ "KEY_LEFTMETA", "KEY_DOWN" ]; // minimize window } } ); }; }, // 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, } } ); }; } ); });This configuration will set the DPI to 1500 and SmartShift sensitivity to 15.
Key Bindings and Actions
| Button | Action | Performs |
| Mode Shift Button | Press | Switch between Ratchet and Free Scroll mode |
| Mode Shift Button | Hold + Swipe Up | Increase the DPI by 1000 |
| Mode Shift Button | Hold + Swipe Down | Decrease the DPI by 1000 |
| Gesture Button | Press | Activities Overview |
| Gesture Button | Hold + Swipe Right | Snap the window to right |
| Gesture Button | Hold + Swipe Left | Snap the window to left |
| Gesture Button | Hold + Swipe Down | Minimize the window |
| Gesture Button | Hold + Swipe Up | Maximize the window |
| Back Button | Press | Go Back |
| Forward Button | Press | Go Forward |
| Forward Button | Hold + Swipe Up | Play/Pause Media |
| Forward Button | Hold + Swipe Down | Super/Windows Key |
| Forward Button | Hold + Swipe Right | Next Song |
| Forward Button | Hold + Swipe Left | Previous Song |

For more information on configuration, you may refer to this wiki. To learn more about the Linux Event Codes, like KEY_LEFTMETA, check out this link.
ConclusionThere are two things that won’t work with this logid.cfg:
- The thumb scroll wheel (useful for switching between tabs)
- Scroll press (I personally use it to emulate Ctrl + B in VS Code)
It would be nice to have Logitech Options on Linux since the product information shows that it is ‘compatible’ with Linux, Windows, and Mac. Logitech Options lets you choose app-specific settings which is something that I miss very much, but while developers at Logitech work on Logitech Options for Linux (hoping that they are) LogiOps is the best tool we have to configure most of its functionality.
Issue ‘Forward/Back Button Not Working in VSCode’:
If your Logiop configuration is not working in VSCode, please follow these steps:
- Open your logid.cfg file (it will be located at /etc/logid.cfg if you have followed my tutorial).
- Navigate to the desired section (forward button and back button have cid: 0x56; and cid: 0x53; respectively).
- Change the ‘type’ from Gesture to Keypress.
- Bind desired keys to it (for event codes, look here).
- Open VSCode and go to Keyboard Shortcuts (Ctrl + K Ctrl + S).
- Bind your favourite action to the keys.
For example, if I want to bind Toggle Tabs to Back Button, I will change:
gestures: ( { direction: "None"; mode: "OnRelease"; action = { type: "Keypress"; keys: [ "KEY_BACK" ]; } } ); };to
action = { type: "Keypress"; keys: [ "KEY_LEFTCTRL", "KEY_PAGEDOWN" ]; };Thanks to Eduardo for pointing it out.
You can achieve the same using VSCode Key Bindings, as suggested by Vladimir:
- Using the VSCode Settings (UI), find the “Go Back” action in the ‘Shortcuts’ settings
- Click on “Add Keybinding”
- Click the ‘back’ button on the mouse
- Repeat the steps for the ‘forward’ button
Snap minimize or maximize window below cursor:
The default snap behaviour controls only the active window, i.e., the window which is selected (clicked upon). This may not be ideal since one has to activate the window before operating on it. Thanks to pLum0 ([email protected]), we can make a script using xdotool to fix this.Check here: https://askubuntu.com/questions/1400834/how-to-snap-minimize-maximize-window-below-cursor
Fix horizontal scrolling
In case you are facing issues with horizontal scroll (thumb scroll), you may try this fix by Joren Miner ([email protected]). Place the snippet below on the same level as “smartshift” or “hiresscroll”:
thumbwheel: { divert: false; invert: false; };Từ khóa » Http://mxsetup.logi.com
-
MX Setup Guide | Logitech Support
-
Hướng Dẫn Thiết Lập MX | Hỗ Trợ Từ Logitech
-
Logitech MX Master 3 Wireless Mouse With Fast Scroll Wheel
-
Logitech MX Keys Plus - Unboxing & Setup - YouTube
-
MXセットアップガイド | Logicoolサポート
-
[PDF] MX Master 3 Getting Started
-
Logitech MX Anywhere 3 User Manual - Manuals+
-
Logitech MX Keys Review: A Wireless Keyboard That Does Much More
-
Logitech MX3 Anywhere For Mac Bluetooth Mouse - Apple Tech Talk
-
[PDF] Getting Started - MX Anywhere 3 Logitech Support + Download
-
Mode D'emploi Logitech MX Keys (6 Des Pages)
-
Logitech MX Master Wireless Mouse Under Ubuntu 14.04
-
Logitech MX Keys + MX Master Ausprobiert: Heiße Tasten
-
Manual De Usuario Logitech MX Keys (6 Páginas)