From 0f63a624f746dae1ea0ea0338629ea0bb53a8f0c Mon Sep 17 00:00:00 2001 From: laMudri Date: Tue, 7 Jul 2015 20:56:13 +0100 Subject: [PATCH] synaptics: fix to allow for more scrolling choices --- .../services/x11/hardware/synaptics.nix | 27 ++++++++++++++++--- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/nixos/modules/services/x11/hardware/synaptics.nix b/nixos/modules/services/x11/hardware/synaptics.nix index 9e44ce811c3e..e967dc911411 100644 --- a/nixos/modules/services/x11/hardware/synaptics.nix +++ b/nixos/modules/services/x11/hardware/synaptics.nix @@ -63,12 +63,30 @@ in { twoFingerScroll = mkOption { type = types.bool; default = false; - description = "Whether to enable two-finger drag-scrolling."; + description = "Whether to enable two-finger drag-scrolling. Overridden by horizTwoFingerScroll and vertTwoFingerScroll."; + }; + + horizTwoFingerScroll = mkOption { + type = types.bool; + default = cfg.twoFingerScroll; + description = "Whether to enable horizontal two-finger drag-scrolling."; + }; + + vertTwoFingerScroll = mkOption { + type = types.bool; + default = cfg.twoFingerScroll; + description = "Whether to enable vertical two-finger drag-scrolling."; + }; + + horizEdgeScroll = mkOption { + type = types.bool; + default = ! cfg.horizTwoFingerScroll; + description = "Whether to enable horizontal edge drag-scrolling."; }; vertEdgeScroll = mkOption { type = types.bool; - default = ! cfg.twoFingerScroll; + default = ! cfg.vertTwoFingerScroll; description = "Whether to enable vertical edge drag-scrolling."; }; @@ -147,9 +165,10 @@ in { Option "ClickFinger1" "${builtins.elemAt cfg.buttonsMap 0}" Option "ClickFinger2" "${builtins.elemAt cfg.buttonsMap 1}" Option "ClickFinger3" "${builtins.elemAt cfg.buttonsMap 2}" - Option "VertTwoFingerScroll" "${if cfg.twoFingerScroll then "1" else "0"}" - Option "HorizTwoFingerScroll" "${if cfg.twoFingerScroll then "1" else "0"}" + Option "VertTwoFingerScroll" "${if cfg.vertTwoFingerScroll then "1" else "0"}" + Option "HorizTwoFingerScroll" "${if cfg.horizTwoFingerScroll then "1" else "0"}" Option "VertEdgeScroll" "${if cfg.vertEdgeScroll then "1" else "0"}" + Option "HorizEdgeScroll" "${if cfg.horizEdgeScroll then "1" else "0"}" ${if cfg.palmDetect then ''Option "PalmDetect" "1"'' else ""} ${if cfg.horizontalScroll then "" else ''Option "HorizScrollDelta" "0"''} ${cfg.additionalOptions}