Desativar clique do meio no Elan touchpad e xinput no Ubuntu 17.10

2

Muito feliz com o GNOME (no X, no wayland) e com o Ubuntu 17.10, exceto pelo clique do meio configurado por padrão no meu touchpad. Eu acerto por engano o tempo todo e o clique do meio parece ser mapeado para "fazer coisas malucas" em cada aplicativo. Eu realmente preciso desativá-lo.

Eu estou em um 2017 Lenovo Yoga com um touchpad Elan. Estou usando o libinput e não tenho o driver synaptics instalado. Todas as soluções encontrei sinápticos de referência. Eu tentei seguir esse caminho, mas o touchpad ficou muito pior, então eu gostaria de evitar isso.

    
por Adam Drew 24.10.2017 / 22:43

2 respostas

1

Claro que eu descobri logo após postar :) Colocando a resposta aqui apenas no caso de alguém ver isso

Encontre seu ID do touchpad:

adam@adam720:~$ xinput list | grep -i elan
⎜   ↳ ELAN0651:00 04F3:3052 Touchpad            id=14   [slave  pointer  (2)]

Encontre o ID da propriedade do clique do meio:

adam@adam720:~$ xinput --list-props 14 | grep  -i middle
    libinput Middle Emulation Enabled (320):    1
    libinput Middle Emulation Enabled Default (321):    0

Alterne a propriedade do clique do meio. No meu caso, foi definido como 0, então eu configurei para 1:

adam@adam720:~$ xinput --set-prop 14 320 1

No exemplo acima, 14 é o ID do touchpad e 320 é o ID da propriedade.

Agora, isso funcionou, mas também levanta algumas perguntas que não posso responder.

  1. Por que o Middle Click Enabled foi definido como 0 por padrão e por que 1 foi desativado?
  2. O que é "padrão ativado pelo clique do meio" e por que o erro ocorre se você tentar defini-lo?

EDITAR! Eu queria tornar isso persistente nas reinicializações, mas me deparei com um problema. O dispositivo e os IDs do prop mudam na inicialização. Então, eu escrevi um script que procura os IDs do dispositivo e prop e, em seguida, define o botão do meio para desativar. Eu duvido que alguém mais precise, mas caso eu coloque o script no github

    
por Adam Drew 24.10.2017 / 23:06
0

Além da solução de Adam, a seguinte linha única identifica o id do TouchPad (supondo que seja Synaptics TouchPad) e DESATIVE o clique do meio também (definindo-o como 1):

xinput set-prop 'xinput list | grep 'Synaptics TouchPad' | grep -oP '(?<=id=)[0-9]+'' "libinput Middle Emulation Enabled" 1

Aproveite!

    
por Simon Mattes 19.06.2018 / 00:00