6

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?

4
  • Also having this problem. What setting are you changing with xinput? Just the acceleration or the actual speed? If it's the acceleration, the Arch Wiki has a section about how to make that permanent: wiki.archlinux.org/index.php/….
    – Marcel
    Oct 30 '19 at 17:44
  • I would like to change the speed not the acceleration, since that is fine just the speed in general is quite slow. Would this changes I do persistent effect the other things I have stored into libinput (gestures)?
    – SnowGepard
    Nov 29 '19 at 13:16
  • Update: Switched to ElementaryOS and now I can not get the thumb button to work. Any ideas why.
    – SnowGepard
    Feb 25 '20 at 14:08
  • @Marcel you might be interested in the unofficial driver logiops for logitech mice and keyboard. With that you can change some more settings. See my answer below!
    – v.tralala
    Jun 2 '20 at 21:21
6

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 follow the instructions from here

  1. create a 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 may want to configure the driver via 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.

# 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
3
  • 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. Jun 9 at 8:20
  • 1
    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! Sep 2 at 20:41
  • 1
    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. Sep 2 at 20:47
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";
            };
        }
    );
}
);

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.