Logitech MX Master 2s via bluetooth change pointer speed

28,759

Solution 1

You can install the unofficial driver logiops for Logitech mice and keyboard from github and increase the DPI settings in addition to the system mousespeed setting.

The following worked for my MX Master 2S with Ubuntu 18.04 and enabled me to use my thumb button, smartshift scrolling and individual dpi settings. However I think this might also work on later Ubuntu version or other Ubuntu-based OSes.

1. to clone repo from github execute (maybe you need to install git first). then navigate to that folder:

git clone https://github.com/PixlOne/logiops.git
cd logiops

2. Follow build instructions from repo. This step needs build-essentials:

mkdir build
cd build
cmake ..
make
sudo make install

3. To create a system deamon which runs the driver in the background, copy the file /lib/systemd/system/logid.service (which was created there during sudo make install) to /etc/systemd/system/.

Alternatively, you can create the file /etc/systemd/system/logid.service with the content

[Unit]
Description=Logitech Configuration Daemon

[Service]
Type=simple
ExecStart=/usr/local/bin/logid -c /etc/logid.cfg
User=root
#ExecReload=/bin/kill -HUP $MAINPID

[Install]
WantedBy=multi-user.target

4. You probably want to configure the driver by editing the file /etc/logid.cfg. The following worked for my MX Master 2S. Other configs can be found on github or in the Archwiki. Here you can change the dpi manually in addition to adjusting the system mouse-speed setting.

Note that the name of your specific mouse model can be found by running the command sudo logid. For example, the MX Ergo's name is MX Ergo Multi-Device Trackball (yes, with a space at the end!).

# this config file is for Logiops and needs to be placed in /etc/logid.cfg
devices: (
{
    name: "MX Master 2S";
    smartshift:
    {
        on: false;
        threshold: 15; # 7 is ideal for work
    };
    hiresscroll:
    {
        hires: false;
        invert: false;
        target: false;
    };
    dpi: 800;# <- you may change this number

    buttons: (
        {
            cid: 0xc3;
            action =
            {
                type: "Gestures";
                gestures: (
                    {
                        direction: "Up";
                        mode: "OnRelease";
                        action =
                        {
                            type: "Keypress";
                            keys: ["KEY_LEFTCTRL", "KEY_LEFTALT",  "KEY_UP"];
                        };
                    },
                    {
                        direction: "Down";
                        mode: "OnRelease";
                        action =
                        {
                            type: "Keypress";
                            keys: ["KEY_LEFTCTRL", "KEY_LEFTALT", "KEY_DOWN"];
                        };
                    },
                    {
                        direction: "Left";
                        mode: "OnRelease";
                        action =
                        {
                            type: "Keypress";
                            keys: ["KEY_LEFTCTRL", "KEY_LEFTALT", "KEY_LEFT"];
                        };
                    },
                    {
                        direction: "Right";
                        mode: "OnRelease";
                        action =
                        {
                            type: "Keypress";
                            keys: ["KEY_LEFTCTRL", "KEY_LEFTALT", "KEY_RIGHT"];
                        }
                    },

                    {
                        direction: "None"
                        mode: "OnRelease";
                        action =
                        {
                            type: "Keypress";
                            keys: ["KEY_LEFTMETA"];
                        }
                    }
                );
            };
        },
        {
            cid: 0xc4;
            action =
            {
                type = "ToggleSmartshift";
            };
        }
    );
}
);

5. Finally enable the service to run on system startup and start the service:

sudo systemctl enable logid
sudo systemctl start logid

And, if you ever change /etc/logid.cfg, for the changes to take effect you can run:

sudo systemctl restart logid

Solution 2

Here's my config file for MX Master 2s. Just in case someone finds it useful (I fixed the name as it wasn't recognized in my Ubuntu 20.04 and added a scroll wheel speed multiplier as it was really slow on my machine):

devices: (
{
    name: "Wireless Mouse MX Master 2S";
    smartshift:
    {
        on: true;
        threshold: 10; # 7 is ideal for work
    };
    hiresscroll:
    {
        hires: true;
        invert: false;
        target: true;
        up: {
            mode: "Axis";
            axis: "REL_WHEEL_HI_RES";
            axis_multiplier: 0.65;
        },
        down: {
            mode: "Axis";
            axis: "REL_WHEEL_HI_RES";
            axis_multiplier: -0.65;
        },
    };
    dpi: 1800;# <- you may change this number. 4000 is the maximum.

    buttons: (
        {
            cid: 0xc3;
            action =
            {
                type: "Gestures";
                gestures: (
                    {
                        direction: "Up";
                        mode: "OnRelease";
                        action =
                        {
                            type: "Keypress";
                            keys: ["KEY_LEFTCTRL", "KEY_LEFTALT",  "KEY_UP"];
                        };
                    },
                    {
                        direction: "Down";
                        mode: "OnRelease";
                        action =
                        {
                            type: "Keypress";
                            keys: ["KEY_LEFTCTRL", "KEY_LEFTALT", "KEY_DOWN"];
                        };
                    },
                    {
                        direction: "Left";
                        mode: "OnRelease";
                        action =
                        {
                            type: "Keypress";
                            keys: ["KEY_LEFTCTRL", "KEY_LEFTALT", "KEY_LEFT"];
                        };
                    },
                    {
                        direction: "Right";
                        mode: "OnRelease";
                        action =
                        {
                            type: "Keypress";
                            keys: ["KEY_LEFTCTRL", "KEY_LEFTALT", "KEY_RIGHT"];
                        }
                    },

                    {
                        direction: "None"
                        mode: "OnRelease";
                        action =
                        {
                            type: "Keypress";
                            keys: ["KEY_LEFTMETA"];
                        }
                    }
                );
            };
        },
        {
            cid: 0xc4;
            action =
            {
                type = "ToggleSmartshift";
            };
        }
    );
}
);

Share:
28,759

Related videos on Youtube

SnowGepard
Author by

SnowGepard

Updated on September 18, 2022

Comments

  • SnowGepard
    SnowGepard over 1 year

    I have a Logitech MX Master 2s connected via Bluetooth to my Ubuntu 19.04. All buttons work with a charm, but I am not able to increase the speed. In the settings GUI it is already at the highest level, but the pointer moves still very slow and I have to drag the mouse all over my desk. When I change settings with xinput they reset after a reconnect. Is there a way to increase the pointer speed and keep this setting permanent?

  • user1571823
    user1571823 almost 3 years
    I have followed your instructions to assign the CTRL + V behavior to the button cx53 in my M720 mouse. However, when i press cx53 it does not paste highlghted text. It seems the logid.cfg file is not been used.
  • AnthonyD973
    AnthonyD973 over 2 years
    I just got this to work ; thanks for the recommending logiops! These instructions have mistakes (or are no longer up-to-date) though: 1) after running sudo make install, the command says there is a file called something like /lib/systemd/system/logid.service that is created. Don't use the logid.service this answer gives ; instead, just copy that created file to the /etc/systemd/system/ directory. 2) The config file is actually called /etc/logid.cfg, not /etc/logif.cfg. Your answer and the logiops GitHub README pages got me on the right track though!
  • AnthonyD973
    AnthonyD973 over 2 years
    Also: 1) To find the correct name of your device, run sudo logid. For example, the name of my MX Vertical mouse is MX Vertical Advanced Ergonomic Mouse. 2) If you change the configuration file (/etc/logid.cfg), you need to run sudo systemctl restart logid for the changes to be taken into account.