Synaptics

synaptics is the open source input driver for Synaptics and ALPS touchpads.

Installation[edit | edit source]

Kernel[edit | edit source]

You need to activate the following kernel options:

KERNEL
Device Drivers  --->
   Input device support  --->
      <*>   Event interface
      [*]   Mice  --->
         <*>   PS/2 mouse
Note
You may also need additional drivers under the Mice menu to support your touchpad. i.e. "Synaptics PS/2 mouse protocol extension". The touchpad may also be USB, not PS/2. If you are unsure, select multiple drivers and check what the kernel uses later with "lspci -k".

Driver[edit | edit source]

FILE /etc/portage/make.confSet INPUT_DEVICES
INPUT_DEVICES="synaptics libinput"

After setting the INPUT_DEVICES variable remember to update the system using the following command so the changes take effect:

root #emerge --ask --changed-use --deep @world


Configuration[edit | edit source]

The driver has a lot options to tune it to your needs. See the synaptics man page for more information.

Fixed configuration[edit | edit source]

Referring to xorg.conf there should have a /etc/X11/xorg.conf.d directory on the system. If there is none create one:

root #mkdir /etc/X11/xorg.conf.d

Configure file /etc/X11/xorg.conf.d/50-synaptics.conf as in the example below:

FILE /etc/X11/xorg.conf.d/50-synaptics.conf
Section "InputClass"
        Identifier "touchpad catchall"
        Driver "synaptics"
        MatchIsTouchpad "on"
        Option "VertEdgeScroll" "on"
        Option      "CircularScrolling"         "on"
        Option      "VertScrollDelta"          "-111"
        Option      "HorizScrollDelta"         "-111"
        Option      "TapButton1"       	          "1"
EndSection

Configuration at runtime[edit | edit source]

You need to enable above option to be able to configure the driver also at runtime. Changes at runtime will be lost with the next start of the X-server. To keep them, add them to the above config file.

You can configure the driver with the program synclient. Some examples:

List all parameters:

user $synclient -l

Cut the right side of the touch area to expand the vertical scroll area:

user $synclient RightEdge=5000

Finding the right edge parameter:

user $synclient -m 50

Disable the mouse click function:

user $synclient MaxTapTime=0

Finally, You can dump Your handpicked configuration to the 99-synaptics file pasting output of the following command inside the InputClass section:

user $synclient -l | sed -e '1d' -e 's/^ \+/Option\t"/g' -e 's/ \+= /"\t"/g' -e 's/$/"/g'

Alternatively there is the KDE systemsettings module kde-misc/synaptiks:

root #emerge --ask kde-misc/synaptiks

Troubleshooting[edit | edit source]

My Touchpad is not recognized[edit | edit source]

If your touchpad does not show in either lsusb nor lspci, that might be due to your PS/2 controller and how it is handled by the kernel[1]. One indication is if

user $dmesg | grep i8042

returns something along the lines of

CODE
i8042: PNP: PS/2 appears to have AUX port disabled, if this is incorrect please boot with i8042.nopnp

That AUX port is where the touchpad is connected[2]. Try adding the following to your kernel command line, e.g. in /etc/default/grub:

FILE /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="... i8042.noloop i8042.nomux i8042.nopnp i8042.reset ..."

Now, you should update your grub.cfg:

root # grub-mkconfig -o /boot/grub/grub.cfg

If, after rebooting with these parameters, you get a generic Logitech PS/2 mouse input device, you may need to add the appropriate PS/2 extension driver to your Kernel config:

KERNEL
Device Drivers  --->
   Input device support  --->
      <*>   Event interface
      [*]   Mice  --->
         <*>   PS/2 mouse
            [ /*]   Elantech PS/2 protocol extension
            [ /*]   Sentelic Finger Sensing Pad PS/2 protocol extension
            [ /*]   eGalax TouchKit PS/2 protocol extension

After rebooting, your touchpad should be recognized correctly.

See also[edit | edit source]

  • libinput - A drop-in replacement for the "slowly deprecating evdev and synaptics input drivers".

References

    This article is issued from Gentoo. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.