libinput detecção de palma não funciona

2

Comprei recentemente um novo Dell XPS 15 e instalei o Debian nele. Anteriormente executava o Windows 10, e a detecção / rejeição da palma da mão funcionava perfeitamente, exatamente como eu esperava. Mas agora, rodando Debian e usando libinput , a detecção de palma é (até onde eu sei) inexistente / completamente quebrada.

Saída de xinput | grep -i touchpad :

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

Saída de xinput list-props 13 :

Device 'SynPS/2 Synaptics TouchPad':
    Device Enabled (116):   1
    Coordinate Transformation Matrix (118): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
    libinput Tapping Enabled (269): 1
    libinput Tapping Enabled Default (270): 0
    libinput Tapping Drag Enabled (271):    1
    libinput Tapping Drag Enabled Default (272):    1
    libinput Tapping Drag Lock Enabled (273):   0
    libinput Tapping Drag Lock Enabled Default (274):   0
    libinput Tapping Button Mapping Enabled (275):  1, 0
    libinput Tapping Button Mapping Default (276):  1, 0
    libinput Accel Speed (251): 0.000000
    libinput Accel Speed Default (252): 0.000000
    libinput Natural Scrolling Enabled (256):   0
    libinput Natural Scrolling Enabled Default (257):   0
    libinput Send Events Modes Available (236): 1, 1
    libinput Send Events Mode Enabled (237):    0, 0
    libinput Send Events Mode Enabled Default (238):    0, 0
    libinput Left Handed Enabled (258): 0
    libinput Left Handed Enabled Default (259): 0
    libinput Scroll Methods Available (260):    1, 1, 0
    libinput Scroll Method Enabled (261):   1, 0, 0
    libinput Scroll Method Enabled Default (262):   1, 0, 0
    libinput Click Methods Available (277): 1, 1
    libinput Click Method Enabled (278):    1, 0
    libinput Click Method Enabled Default (279):    1, 0
    libinput Middle Emulation Enabled (265):    0
    libinput Middle Emulation Enabled Default (266):    0
    libinput Disable While Typing Enabled (280):    1
    libinput Disable While Typing Enabled Default (281):    1
    Device Node (239):  "/dev/input/event1"
    Device Product ID (240):    2, 7
    libinput Drag Lock Buttons (267):   <no items>
    libinput Horizontal Scroll Enabled (268):   1

Meu arquivo /etc/X11/xorg.conf.d/40-libinput.conf :

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

Uma amostra de eventos de entrada gerada com sudo evemu-record /dev/input/event1 >> eventlog-finger.log , usando meu dedo no touchpad como faço durante o uso normal.

Uma amostra de eventos de entrada gerada com sudo evemu-record /dev/input/event1 >> eventlog-palm.log , usando minha palma no touchpad como acontece enquanto tento digitar.

Se você observar os logs de eventos, verá que ABS_TOOL_WIDTH aparece apenas uma vez no início de cada log. Pelo que eu encontrei, aqui e aqui , este é um problema (um pouco) conhecido onde ABS_TOOL_WIDTH nunca é reportado como nada diferente de 0. Isso aparentemente quebra a detecção de palma usando drivers de synaptics e estou assumindo também na libinput.

Tentar fazer qualquer coisa no meu laptop sem conectar um mouse externo e desativar o touchpad é quase impossível, o mouse pula e é mais problemático, às vezes minha palma da mão pode clicar no touchpad, fazendo-me digitar em algum lugar imprevisível ou em nenhum lugar. / p>

Se alguém souber alguma coisa sobre como iniciar consertar isso, será muito apreciado.

Editar 1:

Eu devo mencionar que eu já tentei usar os drivers do touchpad Synaptics, incluindo fazer o seguinte:

apt install -y xserver-xorg-input-synaptics
synclient PalmDetect=1

e, em seguida, mexendo com as seguintes configurações sem sucesso:

synclient PalmMinWidth=4
synclient PalmMinZ=80

Eu tentei de tudo entre 0 e 15 para PalmMinWidth e 50 a 150 para PalmMinZ . Nada funciona. Mas se já não estava claro - eu já sei que isso acontece porque ABS_TOOL_WIDTH não é reportado . Eu tenho certeza disso, e, portanto, essa não é a base da minha pergunta - minha pergunta diz respeito a como eu iria consertar o relatório de ABS_TOOL_WIDTH ou outra solução alternativa que produziria um resultado semelhante.

    
por Trevor Sears 19.08.2018 / 06:48

3 respostas

0

Muitas semanas de grandes aborrecimentos e finalmente cheguei à solução estupidamente simples:

apenas atualize os pacotes .

Eu baixei os 4 pacotes a seguir:

  • libinput10_1.11.3-1_amd64.deb
  • libinput-bin_1.11.3-1_amd64.deb
  • libwacom2_0.30-1_amd64.deb
  • libwacom-common_0.30-1_all.deb

E os instalou com dpkg da seguinte forma:

trevor@xps:~$ cd ~/downloads/
trevor@xps:~$ sudo dpkg -i libwacom-common_0.30-1_all.deb
...dpkg runs...
trevor@xps:~$ sudo dpkg -i libwacom2_0.30-1_amd64.deb
...dpkg runs...
trevor@xps:~$ sudo dpkg -i libinput-bin_1.11.3-1_amd64.deb
...dpkg runs...
trevor@xps:~$ sudo dpkg -i libinput10_1.11.3-1_amd64.deb
...dpkg runs...

E reiniciei meu sistema (reiniciar o X também deveria funcionar). Depois que meu laptop inicializou, a detecção de palma funcionou como um encanto.

    
por 10.09.2018 / 19:29
1

Crie o arquivo /etc/X11/xorg.conf.d/50-synaptics.conf com o conteúdo:

Section "InputClass"
        Identifier      "touchpad catchall"
        MatchIsTouchpad "on"
        MatchDevicePath "/dev/input/event*"
        Driver          "synaptics"
        Option          "PalmDetect"          "1"
        Option          "PalmMinWidth"        "5"
        Option          "PalmMinZ"            "100"
EndSection

Reinicie o seu laptop depois para aplicar a nova configuração. Jogue com a opção PalmMinWidth para obter o melhor resultado - experimente os valores 3 , 4 etc.

Outra maneira é definir propriedades temporariamente, apenas executar no terminal:

xinput set-prop 13 "Synaptics Palm Detection" 1
xinput set-prop 13 "Synaptics Palm Dimensions" 5, 5

Experimente valores diferentes para Synaptics Palm Dimensions .

Leia adicionalmente o driver de entrada do touchpad Synaptics - Synaptics .

    
por 19.08.2018 / 08:10
0

O libinput faz detecção de palmas baseada em pressão, mas precisa dos limiares, veja o link dele aqui: link

Isso é tudo que você pode fazer aqui porque a largura da ferramenta nunca é definida (embora libinput não olhe para isso de qualquer maneira), mas as chances são altas de definir a pressão em um arquivo peculiar (ou hwdb se você estiver em libinput < = 1.11) vai funcionar.

Registre um bug, por favor, depois de ter identificado o limite de pressão.

    
por 04.09.2018 / 04:03