From 0eb86647b3309a2e0eaab190568d59af422650c2 Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Fri, 31 Oct 2014 12:38:58 +0300 Subject: [PATCH 1/2] synaptics: add types to options --- nixos/modules/services/x11/hardware/synaptics.nix | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/nixos/modules/services/x11/hardware/synaptics.nix b/nixos/modules/services/x11/hardware/synaptics.nix index f5b394b6d98b..c1b96d077002 100644 --- a/nixos/modules/services/x11/hardware/synaptics.nix +++ b/nixos/modules/services/x11/hardware/synaptics.nix @@ -25,12 +25,14 @@ in { services.xserver.synaptics = { enable = mkOption { + type = types.bool; default = false; example = true; description = "Whether to enable touchpad support."; }; dev = mkOption { + type = types.nullOr types.str; default = null; example = "/dev/input/event0"; description = @@ -59,22 +61,26 @@ in { }; twoFingerScroll = mkOption { + type = types.bool; default = false; description = "Whether to enable two-finger drag-scrolling."; }; vertEdgeScroll = mkOption { + type = types.bool; default = ! cfg.twoFingerScroll; description = "Whether to enable vertical edge drag-scrolling."; }; tapButtons = mkOption { + type = types.bool; default = true; example = false; description = "Whether to enable tap buttons."; }; buttonsMap = mkOption { + type = types.listOf types.int; default = [1 2 3]; example = [1 3 2]; description = "Remap touchpad buttons."; @@ -82,18 +88,21 @@ in { }; palmDetect = mkOption { + type = types.bool; default = false; example = true; description = "Whether to enable palm detection (hardware support required)"; }; horizontalScroll = mkOption { + type = types.bool; default = true; example = false; description = "Whether to enable horizontal scrolling (on touchpad)"; }; additionalOptions = mkOption { + type = types.str; default = ""; example = '' Option "RTCornerButton" "2" From 118096fc0bca95130b85baf0e939791b0200aa34 Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Fri, 31 Oct 2014 12:45:11 +0300 Subject: [PATCH 2/2] synaptics: add fingersMap option --- nixos/modules/services/x11/hardware/synaptics.nix | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/nixos/modules/services/x11/hardware/synaptics.nix b/nixos/modules/services/x11/hardware/synaptics.nix index c1b96d077002..d9e4bd817a51 100644 --- a/nixos/modules/services/x11/hardware/synaptics.nix +++ b/nixos/modules/services/x11/hardware/synaptics.nix @@ -87,6 +87,14 @@ in { apply = map toString; }; + fingersMap = mkOption { + type = types.listOf types.int; + default = [1 2 3]; + example = [1 3 2]; + description = "Remap several-fingers taps."; + apply = map toString; + }; + palmDetect = mkOption { type = types.bool; default = false; @@ -139,6 +147,9 @@ in { Option "ClickFinger1" "${builtins.elemAt cfg.buttonsMap 0}" Option "ClickFinger2" "${builtins.elemAt cfg.buttonsMap 1}" Option "ClickFinger3" "${builtins.elemAt cfg.buttonsMap 2}" + Option "TapButton1" "${builtins.elemAt cfg.fingersMap 0}" + Option "TapButton2" "${builtins.elemAt cfg.fingersMap 1}" + Option "TapButton3" "${builtins.elemAt cfg.fingersMap 2}" Option "VertTwoFingerScroll" "${if cfg.twoFingerScroll then "1" else "0"}" Option "HorizTwoFingerScroll" "${if cfg.twoFingerScroll then "1" else "0"}" Option "VertEdgeScroll" "${if cfg.vertEdgeScroll then "1" else "0"}"