From 9c6ab124655d99bdef848b91014fa28b1725f53c Mon Sep 17 00:00:00 2001 From: SolidHal Date: Thu, 25 Oct 2018 14:12:09 -0500 Subject: [PATCH] Switch to using libinout instead of synaptics. Better palm detection, better swipe detection. better better better --- resources/InstallResources/30-touchpad.conf | 38 +++++++++ resources/InstallResources/50-synaptics.conf | 88 -------------------- scripts/InstallScripts/InstallPackages.sh | 4 +- scripts/buildDebianFs.sh | 2 +- 4 files changed, 41 insertions(+), 91 deletions(-) create mode 100644 resources/InstallResources/30-touchpad.conf delete mode 100644 resources/InstallResources/50-synaptics.conf diff --git a/resources/InstallResources/30-touchpad.conf b/resources/InstallResources/30-touchpad.conf new file mode 100644 index 0000000..fb07a7a --- /dev/null +++ b/resources/InstallResources/30-touchpad.conf @@ -0,0 +1,38 @@ +# Match on all types of devices but tablet devices and joysticks +Section "InputClass" + Identifier "libinput pointer catchall" + MatchIsPointer "on" + MatchDevicePath "/dev/input/event*" + Driver "libinput" +EndSection + +Section "InputClass" + Identifier "libinput keyboard catchall" + MatchIsKeyboard "on" + MatchDevicePath "/dev/input/event*" + Driver "libinput" +EndSection + +Section "InputClass" + Identifier "libinput touchpad catchall" + MatchIsTouchpad "on" + MatchDevicePath "/dev/input/event*" + Driver "libinput" + Option "Tapping" "on" + Option "ClickMethod" "clickfinger" +EndSection + +Section "InputClass" + Identifier "libinput touchscreen catchall" + MatchIsTouchscreen "on" + MatchDevicePath "/dev/input/event*" + Driver "libinput" +EndSection + +Section "InputClass" + Identifier "libinput tablet catchall" + MatchIsTablet "on" + MatchDevicePath "/dev/input/event*" + Driver "libinput" +EndSection + diff --git a/resources/InstallResources/50-synaptics.conf b/resources/InstallResources/50-synaptics.conf deleted file mode 100644 index 1e28956..0000000 --- a/resources/InstallResources/50-synaptics.conf +++ /dev/null @@ -1,88 +0,0 @@ -# Example xorg.conf.d snippet that assigns the touchpad driver -# to all touchpads. See xorg.conf.d(5) for more information on -# InputClass. -# DO NOT EDIT THIS FILE, your distribution will likely overwrite -# it when updating. Copy (and rename) this file into -# /etc/X11/xorg.conf.d first. -# Additional options may be added in the form of -# Option "OptionName" "value" -# -Section "InputClass" - Identifier "touchpad catchall" - Driver "synaptics" - MatchIsTouchpad "on" -# This option is recommend on all Linux systems using evdev, but cannot be -# enabled by default. See the following link for details: -# http://who-t.blogspot.com/2010/11/how-to-ignore-configuration-errors.html -# MatchDevicePath "/dev/input/event*" -EndSection - -Section "InputClass" - Identifier "touchpad ignore duplicates" - MatchIsTouchpad "on" - MatchOS "Linux" - MatchDevicePath "/dev/input/mouse*" - Option "Ignore" "on" -EndSection - -# This option enables the bottom right corner to be a right button on clickpads -# and the right and middle top areas to be right / middle buttons on clickpads -# with a top button area. -# This option is only interpreted by clickpads. -Section "InputClass" - Identifier "Default clickpad buttons" - MatchDriver "synaptics" - # FIXME: describe these better. - # these options are not adjustable via synclient - Option "SoftButtonAreas" "50% 0 82% 0 0 0 0 0" -# Option "SoftButtonAreas" "0 50% 82% 0 0 0 0 0" -# Option "SecondarySoftButtonAreas" "0 42% 0 0 15% 42% 58% 0 15%" - Option "SecondarySoftButtonAreas" "0 42% 0 0 15% 42% 58% 0 15%" - - # the rest of this is adjustable via synclient. - - # Enable 1, 2, and 3 finger clicking as left, right, and middle click, respectively. - Option "TapButton1" "1" - Option "TapButton2" "3" - - # Calm the pad down while clicking. - Option "VertHysteresis" "10" - Option "HorizHysteresis" "10" - - # Drag Lock - Option "LockedDrags" "0" - - # Tap n drag - Option "TapAndDragGesture" "0" - - # Tap to click thresholds. - Option "FingerLow" "10" - Option "FingerHigh" "16" - - # Prevent accidental clicks - Option "PalmDetect" "1" - Option "PalmMinWidth" "10" - Option "PalmMinZ" "80" - - # scrolling. - Option "VertTwoFingerScroll" "1" - Option "VertScrollDelta" "90" - Option "HorizTwoFingerScroll" "1" - Option "HorizScrollDelta" "90" - - # Aceleration - Option "MinSpeed" "0.5" - Option "MaxSpeed" "0.75" - - Option "AccelerationProfile" "2" - Option "ConstantDeceleration" "4" -EndSection - -# This option disables software buttons on Apple touchpads. -# This option is only interpreted by clickpads. -Section "InputClass" - Identifier "Disable clickpad buttons on Apple touchpads" - MatchProduct "Apple|bcm5974" - MatchDriver "synaptics" - Option "SoftButtonAreas" "0 0 0 0 0 0 0 0" -EndSection diff --git a/scripts/InstallScripts/InstallPackages.sh b/scripts/InstallScripts/InstallPackages.sh index 639c85f..0b37c2b 100755 --- a/scripts/InstallScripts/InstallPackages.sh +++ b/scripts/InstallScripts/InstallPackages.sh @@ -29,7 +29,7 @@ done locale-gen #Install shared packages -apt install -y xorg acpi-support lightdm tasksel dpkg librsvg2-common xorg xserver-xorg-input-libinput alsa-utils anacron avahi-daemon eject iw libnss-mdns xdg-utils xserver-xorg-input-synaptics mousepad vlc dconf-tools sudo dtrx emacs25 +apt install -y xorg acpi-support lightdm tasksel dpkg librsvg2-common xorg xserver-xorg-input-libinput alsa-utils anacron avahi-daemon eject iw libnss-mdns xdg-utils mousepad vlc dconf-tools sudo dtrx emacs25 apt install -y network-manager-gnome network-manager-openvpn network-manager-openvpn-gnome [ "$DE" = "xfce" ] && apt install -y xfce4 dbus-user-session system-config-printer tango-icon-theme xfce4-power-manager xfce4-terminal xfce4-goodies numix-gtk-theme plank @@ -87,7 +87,7 @@ cp -rf $DIR/default.pa /etc/pulse/default.pa cp -rf $DIR/sound.sh /etc/acpi/sound.sh cp -rf $DIR/headphone-acpi-toggle /etc/acpi/events/headphone-acpi-toggle mkdir /etc/X11/xorg.conf.d/ -cp -rf $DIR/50-synaptics.conf /etc/X11/xorg.conf.d/ +cp -rf $DIR/30-touchpad.conf /etc/X11/xorg.conf.d/ apt clean && apt autoremove --purge diff --git a/scripts/buildDebianFs.sh b/scripts/buildDebianFs.sh index f5955e5..7ccbaaa 100755 --- a/scripts/buildDebianFs.sh +++ b/scripts/buildDebianFs.sh @@ -109,7 +109,7 @@ chroot $outmnt apt-get autoremove --purge chroot $outmnt apt-get clean #Download the packages to be installed by Install.sh: -chroot $outmnt apt-get install -y -d xorg acpi-support lightdm tasksel dpkg librsvg2-common xorg xserver-xorg-input-libinput alsa-utils anacron avahi-daemon eject iw libnss-mdns xdg-utils lxqt xserver-xorg-input-synaptics crda xfce4 dbus-user-session system-config-printer tango-icon-theme xfce4-power-manager xfce4-terminal xfce4-goodies mousepad vlc libutempter0 xterm numix-gtk-theme dconf-tools plank network-manager-gnome network-manager-openvpn network-manager-openvpn-gnome dtrx emacs25 +chroot $outmnt apt-get install -y -d xorg acpi-support lightdm tasksel dpkg librsvg2-common xorg xserver-xorg-input-libinput alsa-utils anacron avahi-daemon eject iw libnss-mdns xdg-utils lxqt crda xfce4 dbus-user-session system-config-printer tango-icon-theme xfce4-power-manager xfce4-terminal xfce4-goodies mousepad vlc libutempter0 xterm numix-gtk-theme dconf-tools plank network-manager-gnome network-manager-openvpn network-manager-openvpn-gnome dtrx emacs25 #Download support for libinput-gestures chroot $outmnt apt install -y libinput-tools xdotool build-essential