Touchpad settings - xfconf, libinput

Hey people,
I have noticed an odd behavior regarding my touchpad. The settings for my touchpad given by libinput list-devices is:

Device:           SynPS/2 Synaptics TouchPad
Kernel:           /dev/input/event15
Group:            8
Seat:             seat0, default
Size:             107x67mm
Capabilities:     pointer gesture
Tap-to-click:     disabled
Tap-and-drag:     enabled
Tap drag lock:    disabled
Left-handed:      disabled
Nat.scrolling:    disabled
Middle emulation: disabled
Calibration:      n/a
Scroll methods:   *two-finger edge 
Click methods:    *button-areas clickfinger 
Disable-w-typing: enabled
Accel profiles:   none
Rotation:         n/a

which is different from my actual settings. In fact I can tap to click and use the edge of my touchpad for 1-finger scrolling. These settings are defined by my xfce4-settings-manager and xfconf respectively.
What I find weird is that I tried adding different options to my /usr/share/X11/xorg.conf.d/40-libinput.conf like described in https://wiki.archlinux.org/index.php/Libinput#Configuration but it had no effect on the touchpad nor on the output of libinput list-devices. The settings of /home/USER/.config/xfce4/xfconf/xfce-perchannel-xml/pointers.xml are the one used by my system.
I would have guessed that the configuration given by my libinput-driver should be the relevant settings and that xfconf/the xfce settings manager only passes the settings through.

So does anyone know:

1.) How does xfconf set the options for a touchpad?
2.) What could I do to make libinput recognize the options in my 40-libinput.conf?
3.) Is there a way to make xfce use the settings of libinput prior?

Edit: The problem has been solved but if someone reading this want to get further understanding of the topic I will post the link to petsam answers:

1.) Touchpad settings - xfconf, libinput
2.) Touchpad settings - xfconf, libinput

And I want to point out that the mentioned libinput list-devices command shows the default configuration setting.

1 Like

The file /usr/share/X11/xorg.conf.d/10-evdev.conf also has information/settings/configs related to touchpad, and depending on the model from your laptop, make sure are not in conflict. Also, because you use the Synaptic driver, there might be actually some conflict with libinput

sudo ln -s /usr/share/X11/xorg.conf.d/10-evdev.conf /etc/X11/xorg.conf.d/10-evdev.conf

then edit the file and comment the sections related to touch*

Thanks for your reply!
I set the link and commented the touchpad section but my laptop is still using the ´xfconf´ over the libinput settings.

I wonder how you guessed that I’m using synaptics.

pacman -Ss synaptics

extra/catalyst-input 2016.09-1 (xorg12-drivers xorg12)
    xf86-input drivers for Catalyst
extra/xf86-input-synaptics 1.9.0-1 (xorg-drivers)
    Synaptics driver for notebook touchpads

So pacman doesn’t mark the synaptics driver as installed.

I didn’t … :slight_smile:
Some people reported better behavior of the touchpad (different models) by using the libinput-gestures from AUR. Maybe is a way to go …

Thanks! The libinput-gestures is no option for me as the touchpad itselfs is working fine. Just to make it clear only the settings management is broken for me.

I tried a little around and editing the /usr/share/X11/xorg.conf.d/10-evdev.conf did make an effect as long as the setting is not touched by xfconf. I would guess the xfconf-settings are passed after the driver settings are loaded. But libinput list-devices still gives settings that differ from the actual used configuration.

I really would like to understand the libinputxfconf communication and why libnput list-devices shows the wrong settings

AFAIK

  • libinput gets system-wide settings on boot from Xorg.
  • Then, a user session can customize it’s settings. In xfce this is done by the xfconf pointers.xml file.
  • These settings are changed normally via xfce settings gui, or via command-line by the user. You should be able to modify yours in your xfce session.
  • If you want to reset the user settings you can delete the pointers.xml file. You may copy from /etc/skel if you have manjaro-xfce-settings installed.
  • In my setup there is no relevant file in /etc/xdg, where, if there was one, it would be applied as a default user setup. (check yours)

If the above are not exactly right, I would appreciate some correction.

its not

but

/etc/X11/xorg.conf.d/30-touchpad.conf

Section “InputClass”
Identifier “SynPS/2 Synaptics TouchPad”
Driver “libinput”
MatchIsTouchpad “on”
Option “Tapping” “on”
EndSection

add options as you like here are they https://jlk.fjfi.cvut.cz/arch/manpages/man/libinput.4

1 Like

To be more explaining:
Whatever is in /usr/share/ should not be edited for permanent customizations, because they are normally overwritten by package updates.
The proper customizations should be applied in the relevant /etc/ folders.
Also, the file names do not really matter.
The included settings do matter and the sorting is adjusted with number prepending in the file names (00-file.conf, 99-file.conf are valid names for any file).

Thank you all for your help!

Now everything is working like I’d expect it. :slightly_smiling_face:

Only the libinput list-devices still shows a different configuration but I figured that out by myself. The command shows the available configuration and its default values. Here the extract from the man pages:

DESCRIPTION
The libinput list-devices tool creates a libinput context on the
default seat “seat0” and lists all devices recognized by libinput. Each
device shows available configurations the respective default configura‐
tion setting.

Maybe someone find this helpful.

And I want to gives special thanks to you, petsam!
That posts really helped me understanding the issue. I didn’t found a way to mark 2 solutions for this topic so I will put your answers in the edit of my first post.

1 Like

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.

Forum kindly sponsored by Bytemark