Re: synaptics vs libinput and GNOME 3.20 no longer supporting synaptics
On Sun, Jul 17, 2016 at 02:56:50PM +0300, Arto Jantunen wrote:
> Peter Hutterer <email@example.com> writes:
> > [Disclaimer: I'm jumping in because of the LWN quote of the week and I'm
> > just reconstructing the emails from the archives, I'm not subscribed.
> > Apologies if the thread breaks or any other side effects. Please keep me in
> > CC]
> After this list discussion I switched my laptop from the synaptics
> driver to the new libinput driver. Most things just work (after
> re-enabling tap to click), but one thing I can't seem to figure out.
> Is it possible to remap two finger tap to the middle button (button 2)
> without remapping the right side of the clickpad at the same time
> (set-button-map seems to only do both at a time)? Searching finds
> several people asking this question, but sadly no responses.
no, the assignment is currently hardcoded. But this bug got filed over the
weekend, so it's probably best to move the discussion there.
> Also it might be nice to clear up some of the confusion the KDE people
> seem to have about this change ("libinput removes all touchpad
> configuration options except clicking enabled and scrolling", while many
> of the options remain available via the nice and friendly userinterface
> of xinput ).
>  https://rajeeshknambiar.wordpress.com/2015/02/22/libinput-support-added-to-touchpad-kcm/
look at the date on that post. we've added a bunch of options since.
but what we didn't (and still don't) do is to re-add everything the
synaptics driver exposed just so we have configuration options. there is a
school of thought that configuration is good for configuration's sake. and
that's just not true. there are some configurations that are important
because they are common and highly-divided user-specific preferences
(eg. tapping on or off). There are some configuration options that are
hardware-dependent like the top software buttons on the Lenovo *40 series.
libinput doesn't expose those, we only enable them on the hardware where it
matters. Other configuration options are required because while they
shouldn't be a config option, we (in libinput) don't have enough context
when to enable or disable them. that's why disable-while-typing can be
turned off - we don't know whether keyboard input is 'typing, please disable
touchpad' or 'playing a game, please leave touchpad enabled'. And there are
some features that are important to some users while making it impossible or
hard for others to interact (tap drag-lock).
So with any config options, we look at which bucket the config falls and
then decide whether to expose it. Somethimes the decision is easy,
often it's not, sometimes you'll disagree, sometimes you won't :)
just remember, configuration options come at a cost and it's usually the
maintainers who pay the price. and removing a config option is always more
controversial than adding one.