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

Peter Hutterer peter.hutterer at who-t.net
Mon May 23 05:10:18 UTC 2016


sorry, I didn't see this one until I replied to it separately.

On Fri, May 20, 2016 at 12:20:02PM +0200, Hans de Goede wrote:
> 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.

So first, obviously I agree that we want to switch to libinput everywhere.
synaptics is on maintenance mode already and I'm not planning to fix
anything but the most obivous bugs. but I think this change is actually the
right one for the long-term (as an upstream project).

Speaking from the fedora perspective: we've changed to libinput-by-default
in F22 so we now have 3 releases shipping with libinput by default. I think
most of our users have switched over now and the ones that still prefer
synaptics needed to add custom snippets. These snippets are more likely to
stay around than a default config though. so if we make sure
synaptics isn't installed unless explicitly requested then we're actually
making the path to libinput adoption easier - just installing/uninstalling
synaptics activates it. This is the same as for wacom and superior to
relying on users to find the right instructions on how to enable synaptics.

so, with my upstream hat on, I think this is a good change. I won't actually
take this change into Fedora just yet and it's up to each distribution to
figure out how to uninstall synaptics from user's machines. but over time we
can now say "just uninstall that package and you'll be fine" rather than the
config/symlink dance.

Cheers,
   Peter

PS: I think we may be able to do a Provides or Conflicts < some version
inside xorg-x11-drv-libinput to effectively remove synaptics. Not 100%
if this would work though.

> 
> 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
> > 
> _______________________________________________
> xorg-devel at lists.x.org: X.Org development
> Archives: http://lists.x.org/archives/xorg-devel
> Info: https://lists.x.org/mailman/listinfo/xorg-devel
> 


More information about the xorg-devel mailing list