升级后触摸板无法正常工作 - Chromebook 上的 Arch

升级后触摸板无法正常工作 - Chromebook 上的 Arch

我在 Asus C201 Chromebook 上安装了 Arch Linux,使用本指南(笔记本电脑的 debian 和 fedora 指南对我不起作用,导致黑屏)。

这或多或少开箱即用,直到我使用pacman -Syu.现在触摸板不再正常工作:

行为描述(前往下面的“更新”查看奇迹解决方案)

  • 尝试用一根手指移动光标似乎会触发滚动。
  • 当我用一根手指时,我可以非常缓慢地移动光标,并用指甲刮擦触摸板。但这实际上只是移动了一点光标。

  • 我还可以按下触摸板,然后移动光标,在这种情况下,光标会移动并突出显示。

到目前为止我尝试过的

  • 我仔细检查/etc/X11/xorg.conf.d/70-synaptics.conf并使用中显示的配置拱门维基举个例子。
  • 我还有一份升级前的副本synaptics.conf,但这也没有改变行为。
  • 我卸载并重新安装xf86-input-synaptics
  • sudo dmesg | grep elan显示以下两行:

    [ 1.6 ] i2c 4-0015:驱动程序 elan_i2c 请求探测延迟

    [408.6]elan_i2c 4-0015:无效的报告ID数据(ff)

概括

根据触摸板的行为,感觉升级对触摸板配置造成了严重破坏。不过配置文件好像没问题。重新安装触摸板驱动似乎没有影响。

我能做什么还有其他想法吗?

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

我卸载并重新安装了 synaptics 驱动程序,这是配置文件:

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

我在升级之前使用的文件仅具有 arch wiki 中显示的更改配置示例

synclient-l

synclient -l返回:

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

更新

我发现拱门论坛上的帖子看起来非常接近我的问题。建议的解决方案是降级xf86-input-synaptics到 1.8.3-4。这主要解决了问题,触摸板总体上是可用的,尽管我需要更改一些灵敏度设置。

当我尝试使用libinputbefore 而不是 时synaptics,触摸板根本不起作用,但是我从未xorg.conf按照@mattia.b89的建议删除突触文件。所以我synaptics再次卸载(这是降级后)并删除了文件xorg.conf

  • xorg.conf从我删除文件的那一刻起synaptics,重新启动后,触摸板就可以工作,但是滚动和多点触控不起作用。我根本不明白......此时既没有安装synapticslibinput没有安装。

  • 然后我安装了libinput,现在滚动和多点触控按预期工作。我还没有尝试让点击工作,但无论如何它现在已经可以使用了。

这一切感觉有点像魔法。我将悬赏金暂时开放,看看是否有人可以解释刚刚发生的事情。无论如何,感谢@mattia.b89 和@CW 对此提供的帮助。

答案1

切换到xf86-input-libinput因为它更简单并且基于更现代的代码

PS:我知道,如果没有引用,我的陈述就没有用/被认为是错误的,但你可以很容易地在互联网上找到许多谈论它的来源......

答案2

所以我玩了一会儿,synaptics.conf当我启用了所有不同的滚动方法时,我遇到了麻烦。但我无法在我的机器上重现您的问题。

尝试禁用除您真正想要使用的滚动条目之外的所有滚动条目。您可以通过执行来完成此操作synclient "entry"=0(输入是您要禁用的选项)。我个人不喜欢圆形和边缘滚动。

我的synclient -l输出现在看起来像这样:

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

相关内容