O touchpad não funciona corretamente após a atualização - Arch on Chromebook

4

Eu instalei o Arch Linux em um Chromebook Asus C201 usando este guia (o debian e os guias do fedora para o notebook não funcionaram para mim e resultaram em uma tela preta).

Isso funcionou bem mais ou menos assim que atualizei o sistema usando pacman -Syu . Agora o touchpad não funciona mais corretamente:

Descrição do comportamento (vá para "Atualizar" abaixo para uma solução milagrosa)

  • Tentar mover o cursor com um único dedo parece ativar a rolagem.
  • Eu posso mover o cursor muito devagar quando uso um dedo e arranho o touchpad com a unha. Mas isso realmente só move o cursor um pouco.

  • Eu também posso pressionar o touchpad e, em seguida, mover o cursor, nesse caso, o cursor se move e destaca.

O que eu tentei até agora

  • Eu verifiquei novamente o /etc/X11/xorg.conf.d/70-synaptics.conf e estou usando a configuração mostrada no arch wiki como um exemplo.
  • Eu também tive uma cópia do pré-upgrade synaptics.conf , mas isso também não alterou o comportamento.
  • Eu desinstalei e reinstalei o xf86-input-synaptics
  • sudo dmesg | grep elan mostra as duas linhas seguintes:

    [1.6] i2c 4-0015: O driver elan_i2c solicita adiamento da sonda

    [408.6] elan_i2c 4-0015: dados de id de relatório inválidos (ff)

Resumo

Com base no comportamento do touchpad, parece que a atualização causou estragos na configuração do touchpad. No entanto, o arquivo de configuração parece estar ok. Reinstalar o driver do touchpad não parece ter impacto.

Alguma outra ideia do que eu poderia fazer?

/etc/X11/xorg.conf.d/50-synaptics.conf

Eu desinstalei e reinstalei o driver synaptics e este é o arquivo de configuração:

Section "InputClass"
    Identifier "touchpad"
    Driver "synaptics"
    MatchIsTouchpad "on"
        Option "TapButton1" "1"
        Option "TapButton2" "3"
        Option "TapButton3" "2"
        Option "VertEdgeScroll" "on"
        Option "VertTwoFingerScroll" "on"
        Option "HorizEdgeScroll" "on"
        Option "HorizTwoFingerScroll" "on"
        Option "CircularScrolling" "on"
        Option "CircScrollTrigger" "2"
        Option "EmulateTwoFingerMinZ" "40"
        Option "EmulateTwoFingerMinW" "8"
        Option "CoastingSpeed" "0"
        Option "FingerLow" "30"
        Option "FingerHigh" "50"
        Option "MaxTapTime" "125" EndSection

O arquivo que usei antes da atualização só tinha as alterações mostradas no wiki do arco como uma configuração de amostra .

synclient -l

synclient -l retorna:

Parameter settings:
    LeftEdge                = 120
    RightEdge               = 2884
    TopEdge                 = 88
    BottomEdge              = 1554
    FingerLow               = 30
    FingerHigh              = 50
    MaxTapTime              = 125
    MaxTapMove              = 150
    MaxDoubleTapTime        = 100
    SingleTapTimeout        = 180
    ClickTime               = 100
    EmulateMidButtonTime    = 0
    EmulateTwoFingerMinZ    = 40
    EmulateTwoFingerMinW    = 8
    VertScrollDelta         = 68
    HorizScrollDelta        = 68
    VertEdgeScroll          = 1
    HorizEdgeScroll         = 1
    CornerCoasting          = 0
    VertTwoFingerScroll     = 1
    HorizTwoFingerScroll    = 1
    MinSpeed                = 1
    MaxSpeed                = 1.75
    AccelFactor             = 0.0584283
    TouchpadOff             = 0
    LockedDrags             = 0
    LockedDragTimeout       = 5000
    RTCornerButton          = 0
    RBCornerButton          = 0
    LTCornerButton          = 0
    LBCornerButton          = 0
    TapButton1              = 1
    TapButton2              = 3
    TapButton3              = 2
    ClickFinger1            = 1
    ClickFinger2            = 3
    ClickFinger3            = 2
    CircularScrolling       = 1
    CircScrollDelta         = 0.1
    CircScrollTrigger       = 2
    CircularPad             = 0
    PalmDetect              = 0
    PalmMinWidth            = 10
    PalmMinZ                = 200
    CoastingSpeed           = 0
    CoastingFriction        = 50
    PressureMotionMinZ      = 30
    PressureMotionMaxZ      = 160
    PressureMotionMinFactor = 1
    PressureMotionMaxFactor = 1
    GrabEventDevice         = 0
    TapAndDragGesture       = 1
    AreaLeftEdge            = 0
    AreaRightEdge           = 0
    AreaTopEdge             = 0
    AreaBottomEdge          = 0
    HorizHysteresis         = 17
    VertHysteresis          = 17
    ClickPad                = 1
    RightButtonAreaLeft     = 1502
    RightButtonAreaRight    = 0
    RightButtonAreaTop      = 1346
    RightButtonAreaBottom   = 0
    MiddleButtonAreaLeft    = 0
    MiddleButtonAreaRight   = 0
    MiddleButtonAreaTop     = 0
    MiddleButtonAreaBottom  = 0

Atualizar

Encontrei este tópico em um fórum em arco que parecia muito próximo do meu problema. A solução proposta foi fazer downgrade de xf86-input-synaptics para 1.8.3-4. Isso resolveu principalmente os problemas, mas o touchpad era usável em geral, embora eu precisasse alterar algumas das configurações de sensibilidade.

Quando tentei usar libinput antes, em vez de synaptics , o touchpad não funcionou, mas nunca removi o arquivo synaptics xorg.conf como sugerido por @ mattia.b89. Então, eu desinstalei o synaptics novamente (isso é depois de fazer downgrade dele) e removi o arquivo xorg.conf :

  • A partir do momento em que removi o arquivo xorg.conf e synaptics , após a reinicialização, o touchpad estava funcionando, embora a rolagem e o multitouch não funcionassem. Eu não entendo nada disso ..... neste momento nem synaptics nem libinput foi instalado.

  • Eu, então, instalei libinput e agora a rolagem e o multitoque funcionam como pretendido. Eu ainda não tentei tocar para trabalhar, mas de qualquer forma está funcionando agora.

Isso tudo parece mágica um pouco. Eu deixarei a recompensa aberta um pouco só para ver se alguém pode explicar o que aconteceu. Em qualquer caso, graças a @ mattia.b89 e @ C.W. por ajudar com isso.

    
por pandita 20.11.2016 / 03:17

2 respostas

1

mude para xf86-input-libinput porque é mais simples e baseado em um código mais moderno

PS: Eu sei, minha declaração não poderia ser útil sem citação / ser considerada errada, mas você pode encontrar facilmente muitas fontes na internet que falam sobre isso ...

    
por 25.11.2016 / 15:47
1

Então eu joguei um pouco com o meu synaptics.conf e estava com problemas enquanto ativava todos os diferentes métodos de rolagem. AINDA não consigo reproduzir seu problema na minha máquina.

Tente desativar todas as entradas de rolagem, exceto aquela que você realmente deseja usar. Você pode fazer isso executando synclient "entry"=0 (a entrada é a opção que você deseja desabilitar). Eu pessoalmente não gosto da rolagem circular e de borda.

Minha saída synclient -l agora é assim:

Parameter settings:
    LeftEdge                = 1548
    RightEdge               = 5394
    TopEdge                 = 1240
    BottomEdge              = 4614
    FingerLow               = 25
    FingerHigh              = 30
    MaxTapTime              = 180
    MaxTapMove              = 261
    MaxDoubleTapTime        = 100
    SingleTapTimeout        = 180
    ClickTime               = 100
    EmulateMidButtonTime    = 0
    EmulateTwoFingerMinZ    = 282
    EmulateTwoFingerMinW    = 7
    VertScrollDelta         = 118
    HorizScrollDelta        = 118
    VertEdgeScroll          = 0
    HorizEdgeScroll         = 0
    CornerCoasting          = 0
    VertTwoFingerScroll     = 1
    HorizTwoFingerScroll    = 0
    MinSpeed                = 1
    MaxSpeed                = 1.75
    AccelFactor             = 0.0336361
    TouchpadOff             = 1
    LockedDrags             = 0
    LockedDragTimeout       = 5000
    RTCornerButton          = 0
    RBCornerButton          = 0
    LTCornerButton          = 0
    LBCornerButton          = 0
    TapButton1              = 0
    TapButton2              = 0
    TapButton3              = 0
    ClickFinger1            = 1
    ClickFinger2            = 3
    ClickFinger3            = 2
    CircularScrolling       = 0
    CircScrollDelta         = 0.1
    CircScrollTrigger       = 0
    CircularPad             = 0
    PalmDetect              = 0
    PalmMinWidth            = 10
    PalmMinZ                = 200
    CoastingSpeed           = 20
    CoastingFriction        = 50
    PressureMotionMinZ      = 30
    PressureMotionMaxZ      = 160
    PressureMotionMinFactor = 1
    PressureMotionMaxFactor = 1
    GrabEventDevice         = 0
    TapAndDragGesture       = 1
    AreaLeftEdge            = 0
    AreaRightEdge           = 0
    AreaTopEdge             = 0
    AreaBottomEdge          = 0
    HorizHysteresis         = 8
    VertHysteresis          = 8
    ClickPad                = 1
    RightButtonAreaLeft     = 3471
    RightButtonAreaRight    = 0
    RightButtonAreaTop      = 4182
    RightButtonAreaBottom   = 0
    MiddleButtonAreaLeft    = 0
    MiddleButtonAreaRight   = 0
    MiddleButtonAreaTop     = 0
    MiddleButtonAreaBottom  = 0
    
por 26.11.2016 / 18:21