Настройка тачпада с Gnome, evdev и Arch Linux

Как я уже писал ранее, на моём компьютере установлен Arch Linux с окружением рабочего стола Gnome. Раньше в Gnome использовался пакет xf86-input-synaptics для взаимодействия с тачпадом, и настройка параметров взаимодействия тачпада с пользователем осуществлялась при помощи очень простого и удобного приложения synclient. Но в последних версиях Gnome поддержка этого пакета полностью отключена и для управления тачпадом приходится выбирать между пакетами xf86-input-libinput и xf86-input-evdev.

К моему сожалению, количество возможных настроек в обоих пакетах оказалось меньше, чем у synaptics. К тому же, я не нашёл столь же удобного клиента для тонкой настройки, как synclient. Самая примитивная часть настроек вроде чувствительности курсора выполняется через стандартное GUI Gnome, а для остального надо лезть глубоко в конфиги.

Для себя я не почуствовал разницы между этими пакетами, поэтому оставил у себя только evdev. Хотя, насколько я знаю, libinput предоставляет более широкие возможности конфигурации.

Вообще, я заинтересовался этой темой из-за того, что у моего ноутбука 4k экран с высоким dpi ― 273 точки на дюйм. Из-за этого возникала следующая проблема: по умолчанию движение курсора происходило с нормальной чувствительностью, а прокрутка контента была слишком резкой. Раньше я настраивал скорость прокрутки под себя при помощи synclient, но теперь такая возможность пропала.

В мануалах evdev я не нашёл способ регулировать скорость прокрутки напрямую, но существует способ указать обработчику тачпада нужное dpi, чтобы он подстроился сам. Для этого в директории /etc/X11/xorg.conf.d/ находим файл, называющийся 10-evdev.conf (вместо 10 может быть другое двузначное число). В конфиге ищем секцию, отвечающую за тачпад:

Section “InputClass”
  Identifier “evdev touchpad catchall”
  MatchIsTouchpad “on”
  MatchDevicePath “/dev/input/event*”
  Option “HorizScrollDelta” “1”
  Driver “evdev”
EndSection

И добавляем в неё новый параметр:

Section “InputClass”
  Identifier “evdev touchpad catchall”
  MatchIsTouchpad “on”
  MatchDevicePath “/dev/input/event*”
  Option “HorizScrollDelta” “1”
  Option “Resolution” “273”
  Driver “evdev”
EndSection

После перезапуска графической оболочки обработчик тачпада должен работать с учётом новых значений. Аналогично в этот конфиг прописываются и другие параметры тонкой настройки. Увидеть их список можно, сделав man evdev.