80 lines
1.8 KiB
Nix
80 lines
1.8 KiB
Nix
{ pkgs, ... }:
|
|
|
|
{
|
|
# Install logiops package
|
|
environment.systemPackages = [ pkgs.logiops ];
|
|
|
|
# Create systemd service
|
|
systemd.services.logiops = {
|
|
description = "An unofficial userspace driver for HID++ Logitech devices";
|
|
serviceConfig = {
|
|
Type = "simple";
|
|
ExecStart = "${pkgs.logiops}/bin/logid";
|
|
};
|
|
};
|
|
|
|
# Configuration for logiops
|
|
environment.etc."logid.cfg".text = ''
|
|
devices: ({
|
|
name: "Wireless Mouse MX Master 3";
|
|
smartshift: {
|
|
on: true;
|
|
threshold: 12;
|
|
};
|
|
hiresscroll: {
|
|
hires: true;
|
|
target: false;
|
|
};
|
|
dpi: 1200;
|
|
buttons: ({
|
|
cid: 0xc3;
|
|
action = {
|
|
type: "Gestures";
|
|
gestures: ({
|
|
direction: "Left";
|
|
mode: "OnRelease";
|
|
action = {
|
|
type = "Keypress";
|
|
keys: ["KEY_F15"];
|
|
};
|
|
}, {
|
|
direction: "Right";
|
|
mode: "OnRelease";
|
|
action = {
|
|
type = "Keypress";
|
|
keys: ["KEY_F16"];
|
|
};
|
|
}, {
|
|
direction: "Down";
|
|
mode: "OnRelease";
|
|
action = {
|
|
type: "Keypress";
|
|
keys: ["KEY_F17"];
|
|
};
|
|
}, {
|
|
direction: "Up";
|
|
mode: "OnRelease";
|
|
action = {
|
|
type: "Keypress";
|
|
keys: ["KEY_F18"];
|
|
};
|
|
}, {
|
|
direction: "None";
|
|
mode: "OnRelease";
|
|
action = {
|
|
type = "Keypress";
|
|
keys: ["KEY_PLAYPAUSE"];
|
|
};
|
|
});
|
|
};
|
|
}, {
|
|
cid: 0xc4;
|
|
action = {
|
|
type: "Keypress";
|
|
keys: ["KEY_F19"];
|
|
};
|
|
});
|
|
});
|
|
'';
|
|
}
|