summary refs log tree commit diff
path: root/nixos/modules/services/x11/hardware
diff options
context:
space:
mode:
authorlaMudri <lamudri@gmail.com>2015-07-07 20:56:13 +0100
committerlaMudri <lamudri@gmail.com>2015-07-07 20:56:13 +0100
commit0f63a624f746dae1ea0ea0338629ea0bb53a8f0c (patch)
tree928deceb9115cd6487a4d2e8e807ab2ada8154bb /nixos/modules/services/x11/hardware
parent643d0550581de49f7a5d043289b405169eda2cc8 (diff)
downloadnixlib-0f63a624f746dae1ea0ea0338629ea0bb53a8f0c.tar
nixlib-0f63a624f746dae1ea0ea0338629ea0bb53a8f0c.tar.gz
nixlib-0f63a624f746dae1ea0ea0338629ea0bb53a8f0c.tar.bz2
nixlib-0f63a624f746dae1ea0ea0338629ea0bb53a8f0c.tar.lz
nixlib-0f63a624f746dae1ea0ea0338629ea0bb53a8f0c.tar.xz
nixlib-0f63a624f746dae1ea0ea0338629ea0bb53a8f0c.tar.zst
nixlib-0f63a624f746dae1ea0ea0338629ea0bb53a8f0c.zip
synaptics: fix to allow for more scrolling choices
Diffstat (limited to 'nixos/modules/services/x11/hardware')
-rw-r--r--nixos/modules/services/x11/hardware/synaptics.nix27
1 files 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}