modules: hardware: add mx-ergo
This adds the ability to scroll using the ball, which is way better.
This commit is contained in:
parent
a434016252
commit
1994ef2b1b
|
@ -5,6 +5,7 @@
|
||||||
imports = [
|
imports = [
|
||||||
./bluetooth.nix
|
./bluetooth.nix
|
||||||
./ergodox.nix
|
./ergodox.nix
|
||||||
|
./mx-ergo.nix
|
||||||
./networking.nix
|
./networking.nix
|
||||||
./sound.nix
|
./sound.nix
|
||||||
./upower.nix
|
./upower.nix
|
||||||
|
|
26
modules/hardware/mx-ergo.nix
Normal file
26
modules/hardware/mx-ergo.nix
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
# Hold down the `next page` button to scroll using the ball
|
||||||
|
{ config, lib, ... }:
|
||||||
|
let
|
||||||
|
cfg = config.my.hardware.mx-ergo;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.my.hardware.mx-ergo = with lib; {
|
||||||
|
enable = mkEnableOption "MX Ergo configuration";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
services.xserver = {
|
||||||
|
# This section must be *after* the one configured by `libinput`
|
||||||
|
# for the `ScrollMethod` configuration to not be overriden
|
||||||
|
inputClassSections = lib.mkAfter [
|
||||||
|
''
|
||||||
|
Identifier "MX Ergo scroll button configuration"
|
||||||
|
MatchProduct "MX Ergo"
|
||||||
|
MatchIsPointer "on"
|
||||||
|
Option "ScrollMethod" "button"
|
||||||
|
Option "ScrollButton" "9"
|
||||||
|
''
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
Loading…
Reference in a new issue