
Я купил ноутбук, который почти идеален, по цене, в которую трудно поверить. Но по какой-то причине, полагаю, эстетической, на нем нет кнопок. Вы просто сильно нажимаете на панель, чтобы инициировать щелчок. Проблема в том, что это часто приводит к тому, что щелчок регистрируется как 450 пикселей на юго-запад или юго-восток. Похоже, это вызвано самим актом щелчка. В остальном тачпад в порядке.
Вопрос в том, возможно ли в Linux игнорировать ввод с сенсорной панели из ее области, так чтобы область, используемая в качестве кнопок, не использовалась для сенсорного ввода?
Если у кого-то есть решение этой проблемы, он может продать этот ноутбук со 100% прибылью.
решение1
Libinput (обычно доступен как xf86-input-libinput
или xserver-xorg-input-libinput
) автоматически распознает большинствокликпадмодели и будетужеигнорировать касания, если они начинаются в «области кнопок» (такие сенсорные панели обычно имеют нарисованные кнопки).
Если вы используете X11, убедитесь, что у вас установлен модуль Libinput инеустановите старый драйвер "Synaptics" ( [...]-input-synaptics
); в настоящее время он предоставляется только в качестве альтернативы для некоторых старых устройств, поэтому при установке он переопределит libinput. (Запустите, чтобы проверить, обрабатывается ли сенсорная панель libinput, synaptics или evdev.)xinput list-props "<device name>"
Во многих относительно новых ноутбуках тачпад подключается двумя способами: сначала они эмулируют мышь PS/2, пока драйвер не скажет ему переключиться на более гибкий протокол, такой как RMI/SMBus/I2C. Эмуляция PS/2 позволяет тачпаду работать даже без драйверов, но за счет значительно худшей точности и отсутствия поддержки мультитач.
Для некоторых производителей (особенно Synaptics) драйвер Linux переключает протоколы только если модель находится в списке «известных хороших». Запустите dmesg
и проверьте, упоминается ли «intertouch» или что-то подобное.
Наконец, если libinput уже активен, но сенсорная панель просто генерирует фиктивные события, сообщите об этомРазработчики libinput.