Сенсорная панель с помощью libinput вместо synaptics драйвера

Сенсорная панель на моей lenovo x230 не выполняет synaptics драйвер, в котором я нуждаюсь для его увеличенных возможностей. Вместо этого это использует libinput. Как я могу заставить synaptics драйвер брать приоритет на начальной загрузке?

Сенсорная панель (xinput list):

⎜   ↳ PS/2 Synaptics TouchPad                   id=13   [slave  pointer  (2)]

Я могу проверить, с каким драйвером это использует grep -i "Using input driver" /var/log/Xorg.0.log:

(II) Using input driver 'libinput' for 'PS/2 Synaptics TouchPad'

Однако у меня определенно есть synaptics установленный драйвер (sudo apt install xserver-xorg-input-synaptics):

Reading package lists... Done
Building dependency tree       
Reading state information... Done
xserver-xorg-input-synaptics is already the newest version (1.9.0-1ubuntu1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

и я вижу файл конфигурации synaptics драйвера вместе с libinput драйвером (ls /usr/share/X11/xorg.conf.d/):

10-amdgpu.conf  40-libinput.conf          70-wacom.conf
10-quirks.conf  51-synaptics-quirks.conf
10-radeon.conf  70-synaptics.conf

Мое заключение является synaptics, и libinput драйверы оба установлены, но по некоторым причинам libinput имеет более высокий приоритет. Это сбивает с толку, так как это - мое понимание что выше количество файла конфигурации в /usr/share/X11/xorg.conf.d/, выше приоритет, означая synaptics должен быть выбран.

Как я могу заставить synaptics работать вместо этого? До сих пор я попытался переместиться synaptics.conf файл к /etc/X11/xorg.conf.d потому что я читал, этот каталог имеет более высокий приоритет, но это не работало. Соответствующий раздел /var/log/Xorg.0.log

[     7.718] (II) config/udev: Adding input device PS/2 Synaptics TouchPad (/dev/input/event5)
[     7.718] (**) PS/2 Synaptics TouchPad: Applying InputClass "libinput pointer catchall"
[     7.718] (II) Using input driver 'libinput' for 'PS/2 Synaptics TouchPad'
[     7.718] (**) PS/2 Synaptics TouchPad: always reports core events
[     7.718] (**) Option "Device" "/dev/input/event5"
[     7.718] (**) Option "_source" "server/udev"
[     7.719] (II) event5  - PS/2 Synaptics TouchPad: is tagged by udev as: Mouse
[     7.719] (II) event5  - PS/2 Synaptics TouchPad: device is a pointer
[     7.719] (II) event5  - PS/2 Synaptics TouchPad: device removed
[     7.748] (**) Option "config_info" "udev:/sys/devices/platform/i8042/serio1/input/input5/event5"
[     7.748] (II) XINPUT: Adding extended input device "PS/2 Synaptics TouchPad" (type: MOUSE, id 13)
[     7.748] (**) Option "AccelerationScheme" "none"
[     7.748] (**) PS/2 Synaptics TouchPad: (accel) selected scheme none/0
[     7.748] (**) PS/2 Synaptics TouchPad: (accel) acceleration factor: 2.000
[     7.748] (**) PS/2 Synaptics TouchPad: (accel) acceleration threshold: 4
[     7.749] (II) event5  - PS/2 Synaptics TouchPad: is tagged by udev as: Mouse
[     7.749] (II) event5  - PS/2 Synaptics TouchPad: device is a pointer
[     7.749] (II) config/udev: Adding input device PS/2 Synaptics TouchPad (/dev/input/mouse0)
[     7.749] (II) No input driver specified, ignoring this device.
[     7.750] (II) This device may have been added with another device file.

Каков другой файл устройств, к которому это относится? Где libinput будучи выбранным как драйвер сенсорной панели, и как я могу добраться synaptics выбранный вместо этого?

Править: Моя libinput версия

kp@kvnp:~$ libinput --version
1.10.4

На вид только один метод прокрутки доступен:

kp@kvnp:~$ xinput list-props 16
Device 'PS/2 Synaptics TouchPad':
    Device Enabled (150):   1
    Coordinate Transformation Matrix (152): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
    libinput Natural Scrolling Enabled (285):   1
    libinput Natural Scrolling Enabled Default (286):   0
    libinput Scroll Methods Available (289):    0, 0, 1
    libinput Scroll Method Enabled (290):   0, 0, 1
    libinput Scroll Method Enabled Default (291):   0, 0, 1
    libinput Button Scrolling Button (292): 2
    libinput Button Scrolling Button Default (293): 2
    libinput Middle Emulation Enabled (294):    1
    libinput Middle Emulation Enabled Default (295):    0
    libinput Accel Speed (296): 0.000000
    libinput Accel Speed Default (297): 0.000000
    libinput Accel Profiles Available (298):    1, 1
    libinput Accel Profile Enabled (299):   1, 0
    libinput Accel Profile Enabled Default (300):   1, 0
    libinput Left Handed Enabled (301): 0
    libinput Left Handed Enabled Default (302): 0
    libinput Send Events Modes Available (270): 1, 0
    libinput Send Events Mode Enabled (271):    0, 0
    libinput Send Events Mode Enabled Default (272):    0, 0
    Device Node (273):  "/dev/input/event5"
    Device Product ID (274):    2, 1
    libinput Drag Lock Buttons (287):   <no items>
    libinput Horizontal Scroll Enabled (288):   1

Когда я пытаюсь получить две прокрутки пальца в libinput, я получаю следующий вывод:

kp@kvnp:~$ xinput set-prop 16 290 1 0 0 
X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  131 (XInputExtension)
  Minor opcode of failed request:  57 ()
  Value in failed request:  0x122
  Serial number of failed request:  19
  Current serial number in output stream:  20
0
задан 2 December 2019 в 01:23

2 ответа

Я переустановил ядро и затем установил обоих

xserver-xorg-input-multitouch

xserver-xorg-input-mouse

Это устранило эту проблему, позволив сенсорной панели быть распознанным как SynPS/2 Synaptics Touchpad вместо PS/2 Synaptics Touchpad. Короче говоря я думаю, что ядро определяло сенсорную панель как просто основная мышь. Я не действительно уверен почему.

0
ответ дан 21 December 2019 в 23:46

Я знаю, что эта ветка устарела, но недавно у меня была такая же проблема после обновления до Ubuntu 20.04 LTS.

Я решил эту проблему, изменив приоритет номеров синапсов в /usr/share/X11/xorg.conf.d/.

В моем случае это были выходные данные команды ls -1 /usr/share/X11/xorg.conf.d/

10-amdgpu.conf
10-quirks.conf
10-radeon.conf
40-libinput.conf
51-synaptics-quirks.conf
70-synaptics.conf
70-wacom.conf

Я изменил 70-synaptics.conf на 30-synaptics.conf с командой

mv 70-synaptics.conf 30-synaptics.conf

, которая дает ему более высокий приоритет, чем 40-libinput.conf. Обязательно сделайте это как root. Затем перезагрузите .

1
ответ дан 26 January 2021 в 15:22

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

Похожие вопросы: