Тачпад регистрируется как указатель в X

Я приобрел новый ноутбук ASUS K501U и установил на него Ubuntu 16.04. Я использую ядро ​​4.7, хотя у меня была такая же проблема в 4.3. Функции мультитача, такие как прокрутка двумя пальцами, не работают. Тачпад - это тачпад Elantech, и Ubuntu, похоже, не поддерживает его, кроме обычных драйверов.

Я много играл с конфигурацией X. Если я установлю драйвер libinput или же evdev, кажется, не работает с мультитач и synaptics выдает ошибки. Устройство названо FTE1001:00 0B05:0101, который является I2C-адресом устройства, и X обнаруживает его как указатель вместо сенсорной панели, что, по-видимому, является проблемой. Похоже, что Ubuntu не распознает устройство и по умолчанию предполагает, что это указатель. Следовательно, как я могу сказать Ubuntu распознавать его как тачпад, а не указатель? Конфигурация для этого в X или udev?

Чтобы было ясно, это работает (в x.conf.d запись в файл):

Section "InputClass"
        Identifier "psmouse pointer catchall"
        MatchIsPointer "on"
        MatchDevicePath "/dev/input/event*"
        Driver "evdev"
EndSection

и это не так:

Section "InputClass"
        Identifier "psmouse pointer catchall"
        MatchIsTouchpad "on"
        MatchDevicePath "/dev/input/event*"
        Driver "evdev"
EndSection

Кроме того, когда я обновил свое ядро ​​до 4.7, я заметил, что у DKMS возникли проблемы при сборке psmouse Водитель:

/var/lib/dkms/psmouse/elantech-x551c/build/src/cypress_ps2.c: In function ‘cypress_process_packet’:
/var/lib/dkms/psmouse/elantech-x551c/build/src/cypress_ps2.c:543:2: error: too few arguments to function ‘input_mt_assign_slots’
  input_mt_assign_slots(input, slots, pos, n);

Я добавил 0 в качестве пятого аргумента в соответствии с определением input_mt_assign_slots из библиотеки мультитач ядра Linux, а затем, похоже, DKMS собрал и установил его правильно: psmouse elantech-x551c, Однако, если я установлю драйвер на psmouse в конфиге X, X говорит, что не может загрузить модуль (я даже не очень понимаю, что psmouse это так, что может быть совершенно наивно). Какие отношения делает psmouse Водитель должен водителям, как evdev а также libinput?

Когда я бегу xinput --list-props с моей текущей настройкой я получаю это:

Device 'FTE1001:00 0B05:0101':
    Device Enabled (137):   1
    Coordinate Transformation Matrix (139): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
    Device Accel Profile (263): 0
    Device Accel Constant Deceleration (264):   1.000000
    Device Accel Adaptive Deceleration (265):   1.000000
    Device Accel Velocity Scaling (266):    10.000000
    Device Product ID (259):    2821, 257
    Device Node (258):  "/dev/input/event14"
    Evdev Axis Inversion (267): 0, 0
    Evdev Axes Swap (269):  0
    Axis Labels (270):  "Rel X" (147), "Rel Y" (148), "Rel Vert Wheel" (262)
    Button Labels (271):    "Button Left" (140), "Button Unknown" (261), "Button Right" (142), "Button Wheel Up" (143), "Button Wheel Down" (144), "Button Horiz Wheel Left" (145), "Button Horiz Wheel Right" (146)
    Evdev Scrolling Distance (272): 1, 1, 1
    Evdev Middle Button Emulation (273):    0
    Evdev Middle Button Timeout (274):  50
    Evdev Third Button Emulation (275): 0
    Evdev Third Button Emulation Timeout (276): 1000
    Evdev Third Button Emulation Button (277):  3
    Evdev Third Button Emulation Threshold (278):   20
    Evdev Wheel Emulation (279):    0
    Evdev Wheel Emulation Axes (280):   0, 0, 4, 5
    Evdev Wheel Emulation Inertia (281):    10
    Evdev Wheel Emulation Timeout (282):    200
    Evdev Wheel Emulation Button (283): 4
    Evdev Drag Lock Buttons (284):  0

Что опять же означает, что Ubuntu распознает его как мышь, а не как тачпад.

ТЛ; Доктор Ubuntu не распознает мою сенсорную панель Elantech и предполагает, что это указатель, а не тачпад.

1 ответ

Я нашел кое-что здесь:

Во-первых, если вы не уверены, что ваш компьютер был собран с сенсорной панелью Elantech, откройте терминал и введите следующее:

cat /proc/bus/input/devices

Вы должны найти блок, содержащий строку, похожую на эту, которая подтверждает, что вы находитесь на сенсорной панели Elantech:

N: Name="ETPS/2 Elantech Touchpad"

Загрузите этот архив (со страницы отчетов об ошибках в Ubuntu).

Откройте терминал и выполните следующие действия (после [line] 4 у вас не будет мыши):

cd ~/Downloads
sudo dkms ldtarball psmouse-elantech-x551c.tar.gz
sudo dkms install -m psmouse -v elantech-x551c
sudo rmmod psmouse
sudo modprobe psmouse

Наслаждайтесь мультитач!

Источник: Elantech TouchPad/ TouchPad не хватает функций мультитач

Я проверил ссылки, они с панели запуска. Кроме того, большое количество комментариев предполагает, что страница является подлинной, хотя рейтинг WOT пока отсутствует; если кто-то хочет оценить страницу на WOT, пожалуйста. Если это отрицательная оценка, также сообщите мне в комментариях, и я буду удалять этот ответ, пока не найду другой источник.

Другие вопросы по тегам