Ubuntu – Logitech MX Master 2s via bluetooth change pointer speed

19.04bluetoothlogitechmouseperipherals

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?

Best Answer

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/logif.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
Related Question