Logitech MX Master: Difference between revisions
Juangiordana (talk | contribs) Added LogiOps sample config highlighting how to handle hexadecimal values for `CIDs`; Added code syntax for `/etc/logid.cfg` path. |
Juangiordana (talk | contribs) Added additional recommendations for LogiOps |
||
| Line 71: | Line 71: | ||
<syntaxhighlight lang="nixos"> | <syntaxhighlight lang="nixos"> | ||
# Adds `pkgs.logitech-udev-rules` and `pkgs.ltunify` | |||
hardware.logitech.wireless.enable = true; | hardware.logitech.wireless.enable = true; | ||
| Line 132: | Line 133: | ||
}; | }; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Additional recommendations: | |||
* Use a dedicated file for trial-and-error, i.e. `sudo logid -c ./logid.cfg -v` | |||
* If auto-detection fails, turn Off/On device while `logid` is running. | |||
See [https://github.com/PixlOne/logiops/wiki/Configuration project documentation] and [https://wiki.archlinux.org/title/Logitech_MX_Master Arch Wiki] for usage and configuration details.{{expand}} | See [https://github.com/PixlOne/logiops/wiki/Configuration project documentation] and [https://wiki.archlinux.org/title/Logitech_MX_Master Arch Wiki] for usage and configuration details.{{expand}} | ||
Revision as of 21:13, 1 June 2026
Tips on using Logitech MX Master family computer mice
There are 2 main configuration paths for specific MX Master options:
- Solaar - GUI application using the
hidapilibrary
- LogiOps - Command Line controlled systemd service
Solaar
Solaar is a program that runs as a user process for configuring devices using Logitech's HID++ protocol.
Installation
It is possible to quickly test Solaar with nix run. Settings will not persist across reboots without proper installation.
sudo nix run nixpkgs#solaar
# sudo needed to detect mouse
To install on NixOS:
environment.systemPackages = with pkgs; [
solaar
];
Additionally, to use Solaar without `sudo` you will have to add a udev rule. Read the warning and apply caution.
services.udev.extraRules = ''
# This rule was added by Solaar.
#
# Allows non-root users to have raw access to Logitech devices.
# Allowing users to write to the device is potentially dangerous
# because they could perform firmware updates.
ACTION == "remove", GOTO="solaar_end"
SUBSYSTEM != "hidraw", GOTO="solaar_end"
# USB-connected Logitech receivers and devices
ATTRS{idVendor}=="046d", GOTO="solaar_apply"
# Lenovo nano receiver
ATTRS{idVendor}=="17ef", ATTRS{idProduct}=="6042", GOTO="solaar_apply"
# Bluetooth-connected Logitech devices
KERNELS == "0005:046D:*", GOTO="solaar_apply"
GOTO="solaar_end"
LABEL="solaar_apply"
# Allow any seated user to access the receiver.
# uaccess: modern ACL-enabled udev
TAG+="uaccess"
# Grant members of the "plugdev" group access to receiver (useful for SSH users)
#MODE="0660", GROUP="plugdev"
LABEL="solaar_end"
# vim: ft=udevrules
'';
For further configuration, see: project documentation or section on udev rule specifically installing udev rule manually
LogiOps
LogiOps a userspace driver running as a systemd service. Default location for the configuration file is /etc/logid.cfg, but another can be specified using the -c flag.
# Adds `pkgs.logitech-udev-rules` and `pkgs.ltunify`
hardware.logitech.wireless.enable = true;
services.logiops = {
enable = true;
config = {
devices = [
{
name = "MX Keys for Business";
buttons = [
{
cid = (fromTOML "hex = 0x0103").hex; # Dictation / Fn+F5
action = {
type = "Keypress";
keys = ["KEY_DICTATE"];
};
}
{
cid = (fromTOML "hex = 0x0108").hex; # Emoji / Fn+F6
action = {
type = "Keypress";
keys = ["KEY_EMOJI_PICKER"];
};
}
{
cid = (fromTOML "hex = 0x011C").hex; # Mic Mute /Fn+F7
action = {
type = "Keypress";
keys = ["KEY_MICMUTE"];
};
}
{
cid = (fromTOML "hex = 0x010A").hex; # Screenshot / Print screen
action = {
type = "Keypress";
keys = ["KEY_PRINT"];
};
}
{
cid = (fromTOML "hex = 0x006F").hex; # Lock screen / Numpad padlock
action = {
type = "Keypress";
keys = ["KEY_SCREENSAVER"];
};
}
];
}
{
name = "MX Vertical Advanced Ergonomic Mouse";
dpi = 1500; # max=4000
hiresscroll = {
hires = true;
invert = false;
target = true;
};
# buttons = [{}];
}
];
};
};
Additional recommendations:
- Use a dedicated file for trial-and-error, i.e. `sudo logid -c ./logid.cfg -v`
- If auto-detection fails, turn Off/On device while `logid` is running.
See project documentation and Arch Wiki for usage and configuration details.
Tips and Tricks
Smoother Scrolling (Scroll Wheel Resolution)
By default High Resolution Scrolling might be disabled. To enable:
with Solaar:
sudo nix run nixpkgs#solaar
# sudo needed to detect mouse
in Solaar find Scroll Wheel Resolution and enable it.
with Logiops:
add following to your Logiops config file:
hiresscroll:
{
hires: true;
};Scroll Speed issues
High Resolution Scrolling may feel too fast. You may want to lower scroll speed in your Desktop Environment -> Mouse settings or if it doesn't help enough - possibly will have to disable hires scrolling.