ELAN touchpad (04F3: 0401) permite rolagem com dois dedos

0

Estou tendo problemas para ativar a rolagem com dois dedos no novo Asus X540L.

sugarman@sugarman:~$ xinput list
⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ ELAN1000:00 04F3:0401                     id=10   [slave  pointer  (2)]

sugarman@sugarman:~$ cat /proc/bus/input/devices | grep ELAN
N: Name="ELAN1000:00 04F3:0401"
S: Sysfs=/devices/pci0000:00/INT3433:00/i2c-9/i2c-ELAN1000:00/0018:04F3:0401.0001/input/input6

sugarman@sugarman:~$ uname -a
Linux sugarman 3.16.0-4-amd64 #1 SMP Debian 3.16.36-1+deb8u1 (2016-09-03) x86_64 GNU/Linux

Eu tenho um touchpad ELAN e eu uso o Debian. Eu segui as instruções desta página: link .

Eu copiei o /usr/share/X11/xorg.conf.d/50-synaptics.conf - > para /etc/X11/xorg.conf.d/synaptics.conf

Eu modifiquei o arquivo para atender às minhas necessidades, aqui está:

# Example xorg.conf.d snippet that assigns the touchpad driver
# to all touchpads. See xorg.conf.d(5) for more information on
# InputClass.
# DO NOT EDIT THIS FILE, your distribution will likely overwrite
# it when updating. Copy (and rename) this file into
# /etc/X11/xorg.conf.d first.
# Additional options may be added in the form of
#   Option "OptionName" "value"
#
Section "InputClass"
        Identifier "touchpad catchall"
        Driver "synaptics"
        MatchIsTouchpad "on"
# This option is recommend on all Linux systems using evdev, but cannot be
# enabled by default. See the following link for details:
# http://who-t.blogspot.com/2010/11/how-to-ignore-configuration-errors.html
        MatchDevicePath "/dev/input/event*"
        Option          "MinSpeed"              "0.5"
        Option          "MaxSpeed"              "1.0"
        Option          "AccelFactor"           "0.075"
        Option          "VertTwoFingerScroll"   "1"     # multitouch
        Option          "HorizTwoFingerScroll"  "1"     # multitouch
EndSection

Section "InputClass"
        Identifier "touchpad ignore duplicates"
        MatchIsTouchpad "on"
        MatchOS "Linux"
        MatchDevicePath "/dev/input/mouse*"
        Option "Ignore" "on"
EndSection

# This option enables the bottom right corner to be a right button on clickpads
# and the right and middle top areas to be right / middle buttons on clickpads
# with a top button area.
# This option is only interpreted by clickpads.
Section "InputClass"
        Identifier "Default clickpad buttons"
        MatchDriver "synaptics"
        Option "SoftButtonAreas" "50% 0 82% 0 0 0 0 0"
        Option "SecondarySoftButtonAreas" "58% 0 0 15% 42% 58% 0 15%"
EndSection

# This option disables software buttons on Apple touchpads.
# This option is only interpreted by clickpads.
Section "InputClass"
        Identifier "Disable clickpad buttons on Apple touchpads"
        MatchProduct "Apple|bcm5974"
        MatchDriver "synaptics"
        Option "SoftButtonAreas" "0 0 0 0 0 0 0 0"
EndSection

De acordo com esta página: link , o problema é causado porque o dispositivo é carregado duas vezes, uma vez com um caminho / dev / input / eventX e outra hora com o caminho / dev / input / mouseX.

Após a reinicialização, essas novas configurações ainda causam erros no driver "ic2_hid":

sugarman@sugarman:~$ sudo cat /var/log/kern.log | grep hid
Sep 18 10:27:28 sugarman kernel: [    0.773763] hidraw: raw HID events driver (C) Jiri Kosina
Sep 18 10:27:28 sugarman kernel: [    7.930955] i2c_hid i2c-ELAN1000:00: error in i2c_hid_init_report size:653 / ret_size:7
Sep 18 10:27:28 sugarman kernel: [    7.935696] i2c_hid i2c-ELAN1000:00: error in i2c_hid_init_report size:131 / ret_size:7
Sep 18 10:27:28 sugarman kernel: [    7.935941] hid-generic 0018:04F3:0401.0001: input,hidraw0:  HID v1.00 Mouse [ELAN1000:00 04F3:0401] on 

E eu ainda recebo esses erros mesmo que o pacote xserver-xorg-input-synaptics esteja instalado (driver synaptics).

sugarman@sugarman:~$ synclient 
Couldn't find synaptics properties. No synaptics driver loaded?
sugarman@sugarman:~$ syndaemon 
Unable to find a synaptics device.
    
por sugarraysam 18.09.2016 / 16:49

2 respostas

0

Não copie nenhum arquivo de configuração, apenas coloque isso na inicialização automática do ambiente de área de trabalho: synclient VertTwoFingerScroll=1

    
por 19.09.2016 / 07:23
0

De acordo com o Debian Wiki, parece que você está usando o driver libinput em vez do synaptics, e é por isso que o comando synclient falha. Como recomendado pelo Debian Wiki:

You can make the synaptics driver take precedence over libinput by copying /usr/share/X11/xorg.conf.d/50-synaptics.conf into /etc/X11/xorg.conf.d, so as to make it take precendence over the libinput configuration file found at /usr/share/X11/xorg.conf.d/90-libinput.conf.

Faça a cópia, modifique o arquivo copiado como desejar, mas mantenha o mesmo nome (por exemplo,50-synaptics.conf) no novo diretório, pois esse número é um tipo de número de prioridade. Para encontrar o arquivo conf correto em sua execução do sistema

find / -name '*.conf' |grep synaptics

Por exemplo, no meu pc, o arquivo é denominado 70-synaptics.conf e não 50.

Além disso, para ter certeza de que o driver libinput está fora do jogo, eu uso para fazer o seguinte: Eu localizo o arquivo conf libinput: find / -name '*.conf' |grep libinput
Eu edito esse arquivo 90-libinput.conf (seu libinput.conf pode ter um número diferente) e comento a parte que se refere ao touchpad para ter certeza de que o libinput não manipulará o touchpad:

#Section "InputClass"
#        Identifier "libinput touchpad catchall"
#        MatchIsTouchpad "on"
#        MatchDevicePath "/dev/input/event*"
#        Driver "libinput"
#EndSection

Quando a libinput estiver fora do jogo e o driver synaptics for usado, você deverá ser capaz de usar o synclient.

    
por 14.01.2017 / 01:56