diff options
author | Arseniy Seroka <jagajaga@users.noreply.github.com> | 2015-03-11 11:10:51 +0300 |
---|---|---|
committer | Arseniy Seroka <jagajaga@users.noreply.github.com> | 2015-03-11 11:10:51 +0300 |
commit | 1c58c3a7728e578a004060e7e0cf700d18fafe14 (patch) | |
tree | 648244c7f72d2b4a8470e44fc019a59a90d3fb48 /nixos | |
parent | e6716cba0d25800d1c6335d4c44e1554f179229c (diff) | |
parent | 28a9ed618fd0ec26ca1425892498ae8f77a4b480 (diff) |
Merge pull request #6345 from puffnfresh/feature/mtrack-options
Add more options to multitouch (mtrack) module
Diffstat (limited to 'nixos')
-rw-r--r-- | nixos/modules/services/x11/hardware/multitouch.nix | 44 |
1 files changed, 41 insertions, 3 deletions
diff --git a/nixos/modules/services/x11/hardware/multitouch.nix b/nixos/modules/services/x11/hardware/multitouch.nix index 6e6e88e672180..f8386b5e333bf 100644 --- a/nixos/modules/services/x11/hardware/multitouch.nix +++ b/nixos/modules/services/x11/hardware/multitouch.nix @@ -2,9 +2,15 @@ with lib; -let cfg = config.services.xserver.multitouch; in - -{ +let cfg = config.services.xserver.multitouch; + disabledTapConfig = '' + Option "MaxTapTime" "0" + Option "MaxTapMove" "0" + Option "TapButton1" "0" + Option "TapButton2" "0" + Option "TapButton3" "0" + ''; +in { options = { @@ -30,6 +36,33 @@ let cfg = config.services.xserver.multitouch; in description = "Whether to ignore touches detected as being the palm (i.e when typing)"; }; + tapButtons = mkOption { + type = types.bool; + default = true; + example = false; + description = "Whether to enable tap buttons."; + }; + + buttonsMap = mkOption { + type = types.listOf types.int; + default = [3 2 0]; + example = [1 3 2]; + description = "Remap touchpad buttons."; + apply = map toString; + }; + + additionalOptions = mkOption { + type = types.str; + default = ""; + example = '' + Option "ScaleDistance" "50" + Option "RotateDistance" "60" + ''; + description = '' + Additional options for mtrack touchpad driver. + ''; + }; + }; }; @@ -46,12 +79,17 @@ let cfg = config.services.xserver.multitouch; in Identifier "Touchpads" Driver "mtrack" Option "IgnorePalm" "${if cfg.ignorePalm then "true" else "false"}" + Option "ClickFinger1" "${builtins.elemAt cfg.buttonsMap 0}" + Option "ClickFinger2" "${builtins.elemAt cfg.buttonsMap 1}" + Option "ClickFinger3" "${builtins.elemAt cfg.buttonsMap 2}" + ${optionalString (!cfg.tapButtons) disabledTapConfig} ${optionalString cfg.invertScroll '' Option "ScrollUpButton" "5" Option "ScrollDownButton" "4" Option "ScrollLeftButton" "7" Option "ScrollRightButton" "6" ''} + ${cfg.additionalOptions} EndSection ''; |