[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: synaptics vs libinput and GNOME 3.20 no longer supporting synaptics



On 17/07/2016 05:49 , Theodore Ts'o wrote:
On Thu, Jul 14, 2016 at 01:57:13PM +1000, Peter Hutterer wrote:
libinput is a lot smarter than synaptics when it comes to palm
detection.

Question about libinput?  The main reason why I'm using synclient
because I have a Thinkpad T540p which doesn't have hard buttons for
the "mouse buttons".  It does have TrackPoint which I infinitely
prefer to the !@#?! horrendo Trackpad on the T540p.  So I do the
following to only use the Trackpad for buttons.

synclient RightButtonAreaTop=0
synclient RightButtonAreaRight=4858
synclient RightButtonAreaBottom=5000
synclient RightButtonAreaLeft=3500

synclient MiddleButtonAreaTop=0
synclient MiddleButtonAreaRight=3499
synclient MiddleButtonAreaBottom=5000
synclient MiddleButtonAreaLeft=2800

synclient coastingFriction=50
synclient coastingSpeed=15

synclient areaTopEdge=6000
synclient areaLeftEdge=0
synclient VertEdgeScroll=0
synclient HorizEdgeScroll=0

Basically, I don't want to use the Trackpad for mouse events, not
*ever*.  And even if the keyboard and trackpoint are quiscent, I don't
want a random palm swipe to be registered a mouse or button event ---
only when the pad is physically depressed.

What's the equivalent way of doing the same thing with the libinput
driver?  (Note: I'm still using the X server, not Wayland, and I'm
using XFCE).

At runtime:
xinput set-prop "libinput Send Events Modes Enabled" 1 0

Static config:
cat > /etc/X11/xorg.conf.d/99-libinput-disable-touchpad.conf
Section "InputClass"
   Identifier "disable touchpad"
   MatchDriver "libinput"
   MatchIsTouchpad "on"
   Option "SendEventsMode" "disabled"
EndSection

Any typos in the above are of course fully intended ;)

Long explanation: libinput doesn't have a concept of disabling a device because in some cases (like the T540 series) a disabled device still needs to send events. So we named the "send events mode", i.e. it decides whether the device will send events or not.

On the Lenovo *40 series, libinput reroutes top button events already anyway, those buttons always come out of the trackpoint device. when you disable the touchpad the top software buttons will still work since they are logically part of some other device. We'll also automatically increase the button area in that case to make the buttons easier to hit.

Cheers,
  Peter


Reply to: