[PATCH synaptics] conf: rename to 70-synaptics.conf

Hans de Goede hdegoede at redhat.com
Fri May 20 10:20:02 UTC 2016


Hi,

On 19-05-16 17:35, Stefan Dirsch wrote:
> Bump up synaptics driver to 70, so it get's perferred over libipnut,
> which was dropped down to 60. Reason is, that synaptics driver is more
> of an additional driver, which then should be installed if installed.
>
> Similar to what was done for wacom configuration file.
>
> https://bugzilla.suse.com/show_bug.cgi?id=979554
>
> Signed-off-by: Stefan Dirsch <sndirsch at suse.de>

The difference is that the wacom driver provides a whole bunch of
functionality over libinput (*), where as the synaptics driver is mostly
just an old crufty driver which we want to get rid of.

So NACK, we really want people to switch to libinput for touchpads.

If there is any reason why a user cannot switch please ask the user to file a
bug against libinput directly at bugzilla.freedesktop.org, at a minimum we
should be able to explain to the user why he cannot have his pony (e.g.
some weird synaptics specific behavior which we deem undesirable) and in
many cases users complaints are valid and we've been able to fix them
by improving libinput's touchpad behavior, without introducing the need
to tweak a config file to their desire as people have typically been
doing with synaptics.

By making libinput's touchpad support just work we can greatly improve
the touchpad experience under Linux, instead of people having to do
dark magic in their synaptics-config to get things to work to their
liking.

Ugh, just looked at the bug, I see that the user wants circular
scrolling on a Dell Latitude E6510, which has a perfectly normal
rectangular touchpad, so I'm afraid this one falls into the
"cannot have his pony" category, even if we where to ever add
support for this to libinput (unlikely since round touchpads
have gone out of fashion a long time ago), we will likely not offer
it on rectangular touchpads

So back to the patch, we want libinput to have a higher prio, as
we want to move existing users over to synaptics, even they do a
dist-upgrade from a previous distro release which had the synaptics
driver. We cannot force uninstall the synaptics driver by say adding
an Obsoletes to the libinput driver .spec file, because we still offer
the synaptics driver for users who have a special case which is better
served by synaptics. Given these conflicting desires, we require a
bit of manual config from the special case users in the form of
manually adding a config file to enable synaptics with a higher
priority then libinput.

Looking at Suse bug I see that you've already made this proposed
change in the suse pkgs, and also for evdev. What does this mean for
users who have upgraded from older suse versions rather then done
a fresh install? Will they somehow get the synaptics and evdev
drivers uninstalled on upgrade ? If not I would advise you to
undo this change, because evdev / synaptics support is likely
to bitrot, both on the xorg side as well as wrt support by
gnome/kde/xfce mouse/touchpad configuration panels, so IMHO
you're doing users who are upgrading from one release to the
next a disservice by keeping them on evdev / synaptics,
or in some cases likely switching them back from libinput to
evdev / synaptics when they get the updated packages with the
higher prio for evdev / synaptics.

Regards,

Hans


*) For now.


> ---
>  conf/50-synaptics.conf | 46 ----------------------------------------------
>  conf/70-synaptics.conf | 46 ++++++++++++++++++++++++++++++++++++++++++++++
>  conf/Makefile.am       |  2 +-
>  man/synaptics.man      |  2 +-
>  4 files changed, 48 insertions(+), 48 deletions(-)
>  delete mode 100644 conf/50-synaptics.conf
>  create mode 100644 conf/70-synaptics.conf
>
> diff --git a/conf/50-synaptics.conf b/conf/50-synaptics.conf
> deleted file mode 100644
> index aa50456..0000000
> --- a/conf/50-synaptics.conf
> +++ /dev/null
> @@ -1,46 +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"
> -        Option "SoftButtonAreas" "50% 0 82% 0 0 0 0 0"
> -        Option "SecondarySoftButtonAreas" "58% 0 0 15% 42% 58% 0 15%"
> -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/conf/70-synaptics.conf b/conf/70-synaptics.conf
> new file mode 100644
> index 0000000..aa50456
> --- /dev/null
> +++ b/conf/70-synaptics.conf
> @@ -0,0 +1,46 @@
> +# 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"
> +        Option "SoftButtonAreas" "50% 0 82% 0 0 0 0 0"
> +        Option "SecondarySoftButtonAreas" "58% 0 0 15% 42% 58% 0 15%"
> +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/conf/Makefile.am b/conf/Makefile.am
> index 38d2a01..b883c10 100644
> --- a/conf/Makefile.am
> +++ b/conf/Makefile.am
> @@ -20,7 +20,7 @@
>
>
>  if HAS_XORG_CONF_DIR
> -dist_config_DATA = 50-synaptics.conf
> +dist_config_DATA = 70-synaptics.conf
>  else
>  fdidir = $(datadir)/hal/fdi/policy/20thirdparty
>  dist_fdi_DATA = 11-x11-synaptics.fdi
> diff --git a/man/synaptics.man b/man/synaptics.man
> index 7083b3a..4f87b01 100644
> --- a/man/synaptics.man
> +++ b/man/synaptics.man
> @@ -923,7 +923,7 @@ Configuration through
>  .I InputClass
>  sections is recommended in X servers 1.8 and later. See xorg.conf.d(5) for
>  more details. An example xorg.conf.d snippet is provided in
> -.I ${sourcecode}/conf/50-synaptics.conf
> +.I ${sourcecode}/conf/70-synaptics.conf
>  .LP
>  Configuration through hal fdi files is recommended in X servers 1.5, 1.6 and
>  1.7. An example hal policy file is provided in
>


More information about the xorg-devel mailing list