Вопрос или проблема
Я пытаюсь настроить такие хорошие опции, как нажатие и естественная прокрутка для тачпада Dell. При загрузке X обнаруживаются 2 тачпада: один SynPS/2 Synaptics и один тачпад DLL. SynPS/2 не получает никаких xсобытий, все они идут на тачпад DLL, поэтому я отключил SynPS/2 и получил следующий список устройств:
% xinput -list
⎡ Виртуальный основной указатель id=2 [основной указатель (3)]
⎜ ↳ Виртуальный основной указатель XTEST id=4 [дополнительный указатель (2)]
⎜ ↳ Игровая мышь Logitech G402 id=12 [дополнительный указатель (2)]
⎜ ↳ Игровая мышь Logitech G402 id=13 [дополнительный указатель (2)]
⎜ ↳ HID 046a:0023 id=15 [дополнительный указатель (2)]
--- здесь был перечислен тачпад SynPS/2 Synaptics ....
⎜ ↳ DLL06E4:01 06CB:7A13 Тачпад id=16 [дополнительный указатель (2)]
⎣ Виртуальная основная клавиатура id=3 [основная клавиатура (2)]
↳ Виртуальная основная клавиатура XTEST id=5 [дополнительная клавиатура (3)]
↳ Кнопка питания id=6 [дополнительная клавиатура (3)]
↳ Видео Bus id=7 [дополнительная клавиатура (3)]
↳ Видео Bus id=8 [дополнительная клавиатура (3)]
↳ Кнопка питания id=9 [дополнительная клавиатура (3)]
↳ Кнопка сна id=10 [дополнительная клавиатура (3)]
↳ Интегрированная веб-камера HD id=11 [дополнительная клавиатура (3)]
↳ HID 046a:0023 id=14 [дополнительная клавиатура (3)]
↳ События Intel HID id=17 [дополнительная клавиатура (3)]
↳ Клавиатура AT Translated Set 2 id=18 [дополнительная клавиатура (3)]
↳ Горячие клавиши Dell WMI id=19 [дополнительная клавиатура (3)]
↳ Игровая мышь Logitech G402 id=20 [дополнительная клавиатура (3)]
↳ HID 046a:0023 id=21 [дополнительная клавиатура (3)]
Мой файл `/etc/X11/xorg.conf.d/50-touchpad.conf:
Section "InputClass"
Identifier "отключить обнаружение синаптики"
MatchVendor "SynPS/2"
Option "Игнорировать" "включено"
EndSection
Section "InputClass"
Identifier "тачпад catchall"
Driver "libinput"
MatchIsTouchpad "включено"
# MatchVendor "DLL06E4:01"
# MatchDevicePath "/dev/input/event'"
MatchProduct "06CB:7A13"
Option "TapButton1" "1"
Option "TapButton2" "3"
Option "EmulateTwoFingerMinZ" "35"
Option "EmulateTwoFingerMinW" "8"
Option "TapButton3" "2"
Option "VertTwoFingerScroll" "1"
Option "HorizTwoFingerScroll" "1"
Option "VertScrollDelta" "-111"
Option "HorizScrollDelta" "-111"
Option "CoastingSpeed" "8"
Option "CornerCoasting" "1"
Option "CircularScrolling" "1"
Option "CircScrollTrigger" "7"
EndSection
Когда я сопоставил DevicePath
с /dev/input/event5
(путь, который я выяснил, как только запустил X), тачпад работал как ожидалось примерно 1/4 всех раз, когда я запускал сессию X. В других сеансах тачпад привязывался к различным событиям ввода. Я пытался сопоставить строки вендора/устройства, но теперь тачпад вообще не обнаруживается, хотя отключение второго тачпада через строки вендора работает безупречно. Я также пробовал шаблоны сопоставления, которые закомментированы в конфигурационном файле.
Я также сменил драйвер с синаптического на более новый libinput — может ли это вызвать какие-либо проблемы?
Проверка journalctl
показала, что тачпад успешно обнаруживается во время старта X. Ощущение его отсутствия в обнаружении возникло из-за различных опций драйвера, которые принимает libinput в отличие от синаптики — мои опции драйвера для синаптики неизвестны libinput, поэтому он вернулся к поведению по умолчанию.
Вот мой текущий работающий конфигурационный файл, устанавливающий те же опции, что и приведенный выше фрагмент синаптического драйвера (при применении помните об очередности важности среди настроек xorg, например, поместите его в /etc/X11/xorg.conf.d/40-libinput.conf
для высокого приоритета).
Section "InputClass"
Identifier "libinput тачпад catchall" # применяется после "тачпад catchall"
Driver "libinput"
MatchIsTouchpad "включено"
# MatchVendor "DLL06E4:01"
MatchProduct "06CB:7A13" # все сопоставляющие шаблоны работают как ожидается
Option "Tapping" "включено" # включает нажатие
Option "ClickMethod" "clickfinger" # заменяет настройку нажатия синаптики
Option "NaturalScrolling" "true" # заменяет настройку прокрутки выше
EndSection
Ответ или решение
Настройка сенсорной панели в xorg.conf на Dell XPS 15
Настройка сенсорной панели на ноутбуках Dell XPS 15 может быть непростой задачей из-за наличия нескольких драйверов и устройств ввода. В этой статье рассмотрим процесс правильного совпадения сенсорной панели с конфигурацией Xorg, а также оптимизацию параметров, чтобы обеспечить максимальный комфорт в использовании.
1. Проблемы с обнаружением устройств
Как вы уже заметили, при запуске X сервером обнаруживаются два устройства сенсорной панели:
- SynPS/2 Synaptics Touchpad
- DLL06E4:01 06CB:7A13 Touchpad
При этом события ввода поступают только на DLL сенсорную панель. Это может вызвать путаницу, особенно если драйвер Synaptics не соответствует реальности и не отправляет события. На данном этапе вы правильно приняли решение отключить SynPS/2, чтобы избежать конфликтов.
2. Конфигурация xorg.conf
Ваш текущий файл конфигурации /etc/X11/xorg.conf.d/50-touchpad.conf
содержит правильные команды, но требует некоторых изменений. Следуйте следующим шагам для оптимизации:
Section "InputClass"
Identifier "disable synaptics detection"
MatchVendor "SynPS/2"
Option "Ignore" "on"
EndSection
Section "InputClass"
Identifier "libinput touchpad catchall"
Driver "libinput"
MatchIsTouchpad "on"
MatchProduct "06CB:7A13"
Option "Tapping" "on"
Option "ClickMethod" "clickfinger"
Option "NaturalScrolling" "true"
Option "ScrollMethod" "twofinger"
Option "DisableWhileTyping" "true"
Option "AccelProfile" "adaptive" # улучшает отзывчивость
Option "AccelSpeed" "0.5" # регулировка скорости
EndSection
3. Выбор драйвера
Замена драйвера Synaptics на libinput – это шаг в правильном направлении. Драйвер libinput обеспечивает более современный подход к обработке ввода и совместим с большинством современных устройств. Однако необходимо обратить внимание на то, что не все параметры, доступные у Synaptics, будут поддерживаться libinput. Обязательно изучите документацию libinput для понимания поддерживаемых опций.
4. Проверка и диагностика
После внесения изменений перезапустите X сервер. Используйте команду xinput -list
для проверки, что ваша сенсорная панель правильно обнаруживается и параметры применяются. Если сенсорная панель не работает, попробуйте выполнить команду:
cat /var/log/Xorg.0.log | grep -i touchpad
Это даст информацию о том, как X сервер обнаруживает сенсорную панель и какие параметры ему были переданы.
5. Последующие действия
Если проблемы продолжают возникать, рассмотрите возможность использования других файлов конфигураций, таких как /etc/X11/xorg.conf.d/40-libinput.conf
, чтобы обеспечить больший приоритет для настройки сенсорной панели. Это может помочь предотвратить конфликты с другими файлами конфигураций.
Заключение
Настройка сенсорной панели на Dell XPS 15 требует тщательного подхода к конфигурации xorg.conf. Убедитесь, что используете соответствующий драйвер (libinput) и корректные параметры, чтобы обеспечить комфортное использование. Не забывайте следовать интересам пользователей и подстраивать настройки под свои предпочтения. При возникновении проблем всегда проверяйте логи и используйте диагностические команды для выявления источников проблем.