Logitech MX Master 2s via bluetooth change pointer speed
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";
};
}
);
}
);