Merge pull request #78004 from worldofpeace/mtrack-remove

nixos/multitouch: remove (properly known as mtrack)
This commit is contained in:
worldofpeace 2020-01-20 17:07:59 -05:00 committed by GitHub
commit 348e48fdcc
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 8 additions and 189 deletions

View file

@ -872,7 +872,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

View file

@ -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
];

View 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
'';
};
}

View file

@ -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;
};
}

View file

@ -1,48 +0,0 @@
{ stdenv
, fetchgit
, mtdev
, pixman
, xorg
, libpciaccess
}:
stdenv.mkDerivation {
name = "xf86-input-multitouch-20110312";
src = fetchgit {
url = http://bitmath.org/git/multitouch.git;
rev = "4d87c041f6a232aa30528d70d4b9946d1824b4ed";
sha256 = "1jh52d3lkmchn5xdbz4qn50d30nild1zxvfbvwwl2rbmphs5ww6y";
};
# Configuration from http://bitmath.org/code/multitouch/
confFile = ''
Section "InputClass"
MatchIsTouchpad "true"
Identifier "Multitouch Touchpad"
Driver "multitouch"
EndSection
'';
buildInputs = with xorg; [
mtdev xorgproto libpciaccess libxcb
];
buildPhase = ''
make INCLUDE="$NIX_CFLAGS_COMPILE -I${xorg.xorgserver.dev}/include/xorg -I${pixman}/include/pixman-1 -Iinclude"
'';
installPhase = ''
make DESTDIR="$out" LIBDIR="lib" install
mkdir -p $out/include/xorg
echo -n "$confFile" > $out/include/xorg/10-multitouch.conf
'';
meta = {
homepage = http://bitmath.org/code/multitouch/;
description = "Brings multitouch gestures to the Linux desktop";
license = stdenv.lib.licenses.gpl2;
};
}

View file

@ -475,6 +475,9 @@ 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.");
xf86_input_multitouch = throw "xf86_input_multitouch has been removed from nixpkgs."; # added 2020-01-20
xlibs = xorg; # added 2015-09
xpraGtk3 = xpra; # added 2018-09-13
youtubeDL = youtube-dl; # added 2014-10-26

View file

@ -17226,10 +17226,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 { };
xf86_video_nested = callPackage ../os-specific/linux/xf86-video-nested { };