Como configurar o Debian com o trackpad / clickpad do Thinkpad T440?

4

Eu tenho dificuldade em tentar descobrir como configurar o trackpad do Lenovo Thinkpad T440 ("clickpad") com o sistema operacional Linux. Eu gosto da maneira como o Windows configurou o trackpad dos laptops e quer imitá-lo no Debian.

Aqui estão algumas especificações:

O sistema operacional é Debian 7.7.0 rodando com o Gnome.

Eu segui parte deste guia: link

e copiou este código dentro do 50-synapticconf:

# 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"
    Option "TapButton1" "1"
        Option "TapButton 2" "3"
        # uncommenting this should make three finger click the middle button
        # Option "TapButton 3" "2"
# 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*"
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
# non-synaptics clickpads.
# This option is only interpreted by clickpads.
Section "InputClass"
        Identifier "Default clickpad buttons"
        MatchDriver "synaptics"
        Option "SoftButtonAreas" "60% 0 0 5% 40% 60% 0 5%"
#       To disable the bottom edge area so the buttons only work as buttons,
#       not for movement, set the AreaBottomEdge
        Option "AreaTopEdge" "4%"
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

Aqui está uma imagem:

O que faz atualmente com o código acima: O canto superior esquerdo funciona, mas o botão direito não. O canto inferior esquerdo do touchpad funciona e o mesmo acontece à direita. Além disso, o clicker do meio não funciona no meio superior entre as linhas vermelhas. Estou preocupado com esses botões porque quero usar o trackpoint em conjunto com esses três botões.

O que eu pretendo fazer:

|LLLLLL MMMM  RRRRR|
|                  |
|                  |
|                  |
|                  |
|                  |
|LLLLLL      RRRRRR|
    
por engight 29.12.2014 / 17:26

2 respostas

2

No meu Thinkpad X240 (mesma geração, similar se não for o mesmo clickpad irritante), eu chamo o seguinte shell script no meu ~/.Xsession :

#!/bin/sh

# Configure the X240 ClickPad

# 1 finger = left click, 2 finger = right click, 3 finger = middle click
synclient TapButton2=3
synclient TapButton3=2
synclient ClickFinger2=3
synclient ClickFinger3=2

# enable horizontal two-finger scrolling (vertical is enabled by default)
synclient HorizTwoFingerScroll=1
synclient VertTwoFingerScroll=1

# Where does the touch pad end to leave the remainder as real buttons
synclient AreaTopEdge=2000

# Areas must not overlap or it throws BadValue errors
synclient MiddleButtonAreaLeft=3000
synclient MiddleButtonAreaRight=4049
synclient MiddleButtonAreaTop=0
synclient MiddleButtonAreaBottom=2000

synclient RightButtonAreaLeft=4050
synclient RightButtonAreaRight=0
synclient RightButtonAreaTop=0
synclient RightButtonAreaBottom=2000

synclient faz parte do pacote Debian xserver-xorg-input-synaptics .

Esse script deve fornecer os botões na borda superior. Não sei se também é possível adicionar os botões da borda inferior dessa maneira, mas a menção de SecondarySoftButtonAreas na página de manual synaptics(4) sugere isso. (Infelizmente, só encontrei essa opção, o synaptics(4) no Debian 8 Jessie, mas não no Debian 7 Wheezy. Em Jessie, os modelos Thinkpad T440, T540 e X240 são mencionados explicitamente nesse contexto.)

Pode ser necessário ajustar alguns dos valores caso seu clickpad use coordenadas diferentes ou você prefira uma altura de botão diferente, etc.

Tenho certeza de que essa forma de configurar o teclado também funciona com outros modelos do Thinkpad dessa geração, pois inicialmente recebi um script semelhante de um amigo que possui um modelo T540.

BTW: A Lenovo finalmente parece ter entendido que a… 40 clickpads sem botões da geração foram uma má ideia e a próxima geração de Thinkpads até esta primavera terá botões reais para o mouse novamente. E estou realmente pensando em comprar um novo Thinkpad daquela geração, apesar de meu X240 ter menos de um ano. (IMHO que é a solução real para esse problema.;)

    
por 08.01.2015 / 01:14
0

Há uma seção especial sobre wayland/libinput wiki sobre série Lenovo * 40 . Um botão virtual disfuncional pode ser um sintoma de coordenadas fora do intervalo (como acontece com a série E540 ) ; veja aqui para ajustar .

Uma vez que os intervalos de coordenadas são fixos, um conf Xorg pega-tudo deve funcionar fora da caixa, f.i .:

$ cat /etc/X11/xorg.conf.d/40-libinput.conf
# Match on all types of devices but tablet devices and joysticks
Section "InputClass"
        Identifier "libinput pointer catchall"
        MatchIsPointer "on"
        MatchDevicePath "/dev/input/event*"
        Driver "libinput"
EndSection

Section "InputClass"
        Identifier "libinput keyboard catchall"
        MatchIsKeyboard "on"
        MatchDevicePath "/dev/input/event*"
        Driver "libinput"
        Option "XkbModel" "thinkpad"
        Option "xkb_layout" "ch"
        Option "xkb_variant" "fr"
        Option "XkbOptions" "ctrl:nocaps,terminate:ctrl_alt_shift_bksp,compose:caps"
EndSection

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

Section "InputClass"
        Identifier "libinput touchscreen catchall"
        MatchIsTouchscreen "on"
        MatchDevicePath "/dev/input/event*"
        Driver "libinput"
EndSection

Section "InputClass"
        Identifier "libinput tablet catchall"
        MatchIsTablet "on"
        MatchDevicePath "/dev/input/event*"
        Driver "libinput"
EndSection

No meu E540, isso dá três botões nas bordas superior e inferior.

    
por 19.11.2017 / 15:58