С тех пор, как я обновился до 17.10, чувствительность к нажатию сенсорной панели слишком низкая и часто пропускает мои нажатия. Я знаю, что система выяснила, что у моего Lenovo Yoga 2 есть тачпад Synaptics:
$ sudo evtest
No device specified, trying to scan all of /dev/input/event*
Available devices:
...
/dev/input/event6: Synaptics TM2714-001
...
Но xinput не думает, что это что-то специфичное для Synaptics:
$ xinput list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ xwayland-pointer:13 id=6 [slave pointer (2)]
⎜ ↳ xwayland-relative-pointer:13 id=7 [slave pointer (2)]
⎜ ↳ xwayland-touch:13 id=9 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ xwayland-keyboard:13 id=8 [slave keyboard (3)]
$ xinput list-props "xwayland-touch:13"
Device 'xwayland-touch:13':
Device Enabled (119): 1
Coordinate Transformation Matrix (121): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
Device Accel Profile (244): 0
Device Accel Constant Deceleration (245): 1.000000
Device Accel Adaptive Deceleration (246): 1.000000
Device Accel Velocity Scaling (247): 10.000000
и Синклиент соглашается:
$ synclient
Couldn't find synaptics properties. No synaptics driver loaded?
libinput знает, что это синаптики:
$ sudo libinput list-devices
...
Device: Synaptics TM2714-001
Kernel: /dev/input/event6
Group: 8
Seat: seat0, default
Size: 87x57mm
Capabilities: pointer
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
...
хотя я не вижу ничего подобного старым свойствам давления пальца X11. (что libinput measure-touchpad-tap
интересно, собирает данные о времени, а не о давлении.)
Как я могу улучшить чувствительность к нажатию?
gsettings
. Я не вижу никого сейчас для давления, но, возможно, это свинец.Ответы:
Используйте инструмент давления в сенсорной панели libinput, предоставляемый libinput. Этот инструмент будет искать ваше устройство с сенсорной панелью и распечатывать некоторую статистику давления, включая то, было ли касание считаться логически неактивным
По умолчанию этот инструмент использует записи udev hwdb для диапазона давления. Чтобы сузить оптимальные значения для вашего устройства, задайте пороги давления «логически вниз» и «логически вверх» с аргументом «--touch-thresholds»:
Взаимодействуйте с сенсорной панелью и проверьте, соответствует ли вывод этого инструмента вашим ожиданиям.
После определения порогов (например, 10 и 8) их можно включить с помощью следующего файла hwdb:
Первая строка является строкой соответствия и должна быть скорректирована для имени устройства (см. Вывод evemu-record) и для локальной системы, основываясь на информации в / sys / class / dmi / id / modalias. Модалии должны быть сокращены до информации о конкретной системе, обычно это поставщик системы (svn) и название продукта (pn).
После этого вам нужно выполнить следующие команды, настроенные для узла событий вашего устройства:
Если свойство диапазона давления отображается правильно, перезапустите X или Wayland compositor, и libinput теперь должен использовать правильные пороговые значения давления. Инструменты Helper могут использоваться для проверки правильности функциональности в первую очередь без необходимости перезапуска.
Как только диапазоны давления будут считаться правильными, сообщите об ошибке, чтобы получить диапазоны давления в хранилище.
Примечание: ни одно слово, набранное мной, это все цитата.
Источник: https://wayland.freedesktop.org/libinput/doc/latest/touchpad_pressure.html#touchpad_pressure_hwdb
источник