nixos/multitouch: remove
On numerous occasions I have seen users mistake this module as libinput because it being called "multitouch" and them being unaware that the actually module they want is libinput. They then run into several decrepit bugs due to the completely out-of-date nature of the underlying package. The underlying package hasn't been changed to an up-to-date fork in a period of 8 years. I don't consider this to be production quality. However, I'm not opposed for the module being readded to NixOS with new packaging, and a better name.
This commit is contained in:
parent
5f594c6a7c
commit
afe27e517b
6 changed files with 7 additions and 139 deletions
|
@ -871,7 +871,6 @@
|
|||
./services/x11/display-managers/xpra.nix
|
||||
./services/x11/fractalart.nix
|
||||
./services/x11/hardware/libinput.nix
|
||||
./services/x11/hardware/multitouch.nix
|
||||
./services/x11/hardware/synaptics.nix
|
||||
./services/x11/hardware/wacom.nix
|
||||
./services/x11/hardware/digimend.nix
|
||||
|
|
|
@ -29,6 +29,11 @@ with lib;
|
|||
(mkRemovedOptionModule [ "services.fourStoreEndpoint" ] "The fourStoreEndpoint module has been removed")
|
||||
(mkRemovedOptionModule [ "programs" "way-cooler" ] ("way-cooler is abandoned by its author: " +
|
||||
"https://way-cooler.org/blog/2020/01/09/way-cooler-post-mortem.html"))
|
||||
(mkRemovedOptionModule [ "services" "xserver" "multitouch" ] ''
|
||||
services.xserver.multitouch (which uses xf86_input_mtrack) has been removed
|
||||
as the underlying package isn't being maintained. Working alternatives are
|
||||
libinput and synaptics.
|
||||
'')
|
||||
|
||||
# Do NOT add any option renames here, see top of the file
|
||||
];
|
||||
|
|
|
@ -1,94 +0,0 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let cfg = config.services.xserver.multitouch;
|
||||
disabledTapConfig = ''
|
||||
Option "MaxTapTime" "0"
|
||||
Option "MaxTapMove" "0"
|
||||
Option "TapButton1" "0"
|
||||
Option "TapButton2" "0"
|
||||
Option "TapButton3" "0"
|
||||
'';
|
||||
in {
|
||||
|
||||
options = {
|
||||
|
||||
services.xserver.multitouch = {
|
||||
|
||||
enable = mkOption {
|
||||
default = false;
|
||||
description = "Whether to enable multitouch touchpad support.";
|
||||
};
|
||||
|
||||
invertScroll = mkOption {
|
||||
default = false;
|
||||
type = types.bool;
|
||||
description = "Whether to invert scrolling direction à la OSX Lion";
|
||||
};
|
||||
|
||||
ignorePalm = mkOption {
|
||||
default = false;
|
||||
type = types.bool;
|
||||
description = "Whether to ignore touches detected as being the palm (i.e when typing)";
|
||||
};
|
||||
|
||||
tapButtons = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
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.
|
||||
'';
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
||||
services.xserver.modules = [ pkgs.xf86_input_mtrack ];
|
||||
|
||||
services.xserver.config =
|
||||
''
|
||||
# Automatically enable the multitouch driver
|
||||
Section "InputClass"
|
||||
MatchIsTouchpad "on"
|
||||
Identifier "Touchpads"
|
||||
Driver "mtrack"
|
||||
Option "IgnorePalm" "${boolToString cfg.ignorePalm}"
|
||||
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
|
||||
'';
|
||||
|
||||
};
|
||||
|
||||
}
|
|
@ -1,42 +0,0 @@
|
|||
{
|
||||
stdenv
|
||||
, fetchurl
|
||||
, utilmacros
|
||||
, pkgconfig
|
||||
, mtdev
|
||||
, xorgserver
|
||||
, xorgproto
|
||||
, pixman
|
||||
, autoreconfHook
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "xf86-input-mtrack-0.3.0";
|
||||
|
||||
buildInputs = [
|
||||
utilmacros
|
||||
pkgconfig
|
||||
mtdev
|
||||
xorgserver
|
||||
xorgproto
|
||||
pixman
|
||||
autoreconfHook
|
||||
];
|
||||
|
||||
CFLAGS = "-I${pixman}/include/pixman-1";
|
||||
|
||||
src = fetchurl {
|
||||
name = "xf86-input-mtrack.tar.gz";
|
||||
url = "https://github.com/BlueDragonX/xf86-input-mtrack/tarball/v0.3.0";
|
||||
sha256 = "174rdw7gv0wsnjgmwpx4pgjn1zfbylflda4k2dzff6phzxj9yl6v";
|
||||
};
|
||||
|
||||
meta = {
|
||||
homepage = https://github.com/BlueDragonX/xf86-input-mtrack;
|
||||
|
||||
description = "An Xorg driver for multitouch trackpads";
|
||||
|
||||
license = stdenv.lib.licenses.gpl2;
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
};
|
||||
}
|
|
@ -475,6 +475,8 @@ mapAliases ({
|
|||
xbmcPlugins = kodiPlugins; # added 2018-04-25
|
||||
xmonad_log_applet_gnome3 = xmonad_log_applet; # added 2018-05-01
|
||||
xf86_video_nouveau = xorg.xf86videonouveau; # added 2015-09
|
||||
xf86_input_mtrack = throw ("xf86_input_mtrack has been removed from nixpkgs as it hasn't been maintained"
|
||||
+ "and is broken. Working alternatives are libinput and synaptics.");
|
||||
xlibs = xorg; # added 2015-09
|
||||
xpraGtk3 = xpra; # added 2018-09-13
|
||||
youtubeDL = youtube-dl; # added 2014-10-26
|
||||
|
|
|
@ -17217,8 +17217,6 @@ in
|
|||
|
||||
xf86_input_cmt = callPackage ../os-specific/linux/xf86-input-cmt { };
|
||||
|
||||
xf86_input_mtrack = callPackage ../os-specific/linux/xf86-input-mtrack { };
|
||||
|
||||
xf86_input_multitouch = callPackage ../os-specific/linux/xf86-input-multitouch { };
|
||||
|
||||
xf86_input_wacom = callPackage ../os-specific/linux/xf86-input-wacom { };
|
||||
|
|
Loading…
Reference in a new issue