我在 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。这主要解决了问题,触摸板总体上是可用的,尽管我需要更改一些灵敏度设置。
当我尝试使用libinput
before 而不是 时synaptics
,触摸板根本不起作用,但是我从未xorg.conf
按照@mattia.b89的建议删除突触文件。所以我synaptics
再次卸载(这是降级后)并删除了文件xorg.conf
:
xorg.conf
从我删除文件的那一刻起synaptics
,重新启动后,触摸板就可以工作,但是滚动和多点触控不起作用。我根本不明白......此时既没有安装synaptics
也libinput
没有安装。然后我安装了
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