触摸板电源管理问题、“粘滞光标”、输入检测延迟(自动暂停)

触摸板电源管理问题、“粘滞光标”、输入检测延迟(自动暂停)

我在 Acer aspire v3 572g、任何发行版和任何“新”版本上都遇到了这个问题(在 ubuntu 10.04lts 上没有出现任何问题)。触摸板在启动后工作正常,但使用一段时间后(如果不使用或几乎不使用它,它仍然工作),触摸板似乎进入了某种节能模式:如果几秒钟不使用,它检测到的第一个输入会有半秒的延迟。无论使用 nvidia 专有或开源驱动程序,有无 synaptics 驱动程序,甚至卸载 xserver-xorg-input-libinput 并使用 synaptics(键盘停止工作但问题仍然存在),问题仍然存在。我在这里粘贴了一些来自 Ubuntu 19.10 的 xinput 和 synclient 输出,但我不确定它们是否与问题有关:

xin输入列表

⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ SYN1B7E:01 06CB:2970 Touchpad             id=12   [slave  pointer  (2)]
⎣ Virtual core keyboard                     id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=6    [slave  keyboard (3)]
    ↳ Video Bus                                 id=7    [slave  keyboard (3)]
    ↳ Power Button                              id=8    [slave  keyboard (3)]
    ↳ Sleep Button                              id=9    [slave  keyboard (3)]
    ↳ Video Bus                                 id=10   [slave  keyboard (3)]
    ↳ HD WebCam: HD WebCam                      id=11   [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=13   [slave  keyboard (3)]
    ↳ Acer WMI hotkeys                          id=14   [slave  keyboard (3)]

xinput--列表属性“12”

Device 'SYN1B7E:01 06CB:2970 Touchpad':
    Device Enabled (197):   1
    Coordinate Transformation Matrix (199): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
    Device Accel Profile (326): 1
    Device Accel Constant Deceleration (327):   2.500000
    Device Accel Adaptive Deceleration (328):   1.000000
    Device Accel Velocity Scaling (329):    12.640978
    Synaptics Edges (330):  49, 1187, 48, 850
    Synaptics Finger (331): 25, 30, 0
    Synaptics Tap Time (332):   180
    Synaptics Tap Move (333):   67
    Synaptics Tap Durations (334):  180, 180, 100
    Synaptics ClickPad (335):   1
    Synaptics Middle Button Timeout (336):  0
    Synaptics Two-Finger Pressure (337):    282
    Synaptics Two-Finger Width (338):   7
    Synaptics Scrolling Distance (339): 30, 30
    Synaptics Edge Scrolling (340): 0, 0, 0
    Synaptics Two-Finger Scrolling (341):   1, 1
    Synaptics Move Speed (342): 1.000000, 1.750000, 0.130976, 0.000000
    Synaptics Off (343):    0
    Synaptics Locked Drags (344):   0
    Synaptics Locked Drags Timeout (345):   5000
    Synaptics Tap Action (346): 2, 3, 0, 0, 1, 3, 0
    Synaptics Click Action (347):   1, 3, 0
    Synaptics Circular Scrolling (348): 0
    Synaptics Circular Scrolling Distance (349):    0.100000
    Synaptics Circular Scrolling Trigger (350): 0
    Synaptics Circular Pad (351):   0
    Synaptics Palm Detection (352): 0
    Synaptics Palm Dimensions (353):    10, 200
    Synaptics Coasting Speed (354): 20.000000, 50.000000
    Synaptics Pressure Motion (355):    30, 160
    Synaptics Pressure Motion Factor (356): 1.000000, 1.000000
    Synaptics Resolution Detect (357):  1
    Synaptics Grab Event Device (358):  0
    Synaptics Gestures (359):   1
    Synaptics Capabilities (360):   1, 0, 0, 1, 1, 0, 0
    Synaptics Pad Resolution (361): 12, 12
    Synaptics Area (362):   0, 0, 0, 0
    Synaptics Soft Button Areas (363):  618, 0, 736, 0, 0, 0, 0, 0
    Synaptics Noise Cancellation (364): 7, 7
    Device Product ID (322):    1739, 10608
    Device Node (321):  "/dev/input/event6"

synclient-l

Parameter settings:
    LeftEdge                = 49
    RightEdge               = 1187
    TopEdge                 = 48
    BottomEdge              = 850
    FingerLow               = 25
    FingerHigh              = 30
    MaxTapTime              = 180
    MaxTapMove              = 67
    MaxDoubleTapTime        = 180
    SingleTapTimeout        = 180
    ClickTime               = 100
    EmulateMidButtonTime    = 0
    EmulateTwoFingerMinZ    = 282
    EmulateTwoFingerMinW    = 7
    VertScrollDelta         = 30
    HorizScrollDelta        = 30
    VertEdgeScroll          = 0
    HorizEdgeScroll         = 0
    CornerCoasting          = 0
    VertTwoFingerScroll     = 1
    HorizTwoFingerScroll    = 1
    MinSpeed                = 1
    MaxSpeed                = 1.75
    AccelFactor             = 0.130976
    TouchpadOff             = 0
    LockedDrags             = 0
    LockedDragTimeout       = 5000
    RTCornerButton          = 2
    RBCornerButton          = 3
    LTCornerButton          = 0
    LBCornerButton          = 0
    TapButton1              = 1
    TapButton2              = 3
    TapButton3              = 0
    ClickFinger1            = 1
    ClickFinger2            = 3
    ClickFinger3            = 0
    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
    ResolutionDetect        = 1
    GrabEventDevice         = 0
    TapAndDragGesture       = 1
    AreaLeftEdge            = 0
    AreaRightEdge           = 0
    AreaTopEdge             = 0
    AreaBottomEdge          = 0
    HorizHysteresis         = 7
    VertHysteresis          = 7
    ClickPad                = 1
    RightButtonAreaLeft     = 618
    RightButtonAreaRight    = 0
    RightButtonAreaTop      = 736
    RightButtonAreaBottom   = 0
    MiddleButtonAreaLeft    = 0
    MiddleButtonAreaRight   = 0
    MiddleButtonAreaTop     = 0
    MiddleButtonAreaBottom  = 0

这可能是电源管理问题,我试图按照此链接上的步骤操作,但我真的不知道我在这里做什么: https://wiki.ubuntu.com/DebuggingTouchpadDetection

提前感谢任何建议。

答案1

我找到了解决问题的方法:

正如这里所建议的https://wiki.ubuntu.com/DebuggingTouchpadDetection我试图通过以 root 身份运行以下命令来禁用触摸板的电源管理:

echo 'on' > '/path/to/device/power/control'

但当使用 中写入的设备路径时,这不起作用/proc/bus/input/devices

所以我安装了动力顶并且我能够找到正确的设备和路径来使用:Runtime PM for I2C Adapter i2c-0 (Synopsys DesignWare I2C adapter)

以 root 身份运行 powertop 命令来禁用此设备的自动挂起功能:

echo 'on' > '/sys/bus/i2c/devices/i2c-0/device/power/control'

这确实解决了问题!我现在唯一不知道的是如何启动时运行它。(因为我没有 /etc/rc.local)

(编辑)

要在系统启动时运行解决方法,请使用systemd创建/etc/systemd/system/disable-touchpad-pm.service包含以下内容:

[Unit]
Description=disables Acer aspire v3 572g touchpad PM to work around input delays

[Service]
Type=oneshot
ExecStart=/bin/sh -c "echo on > /sys/bus/i2c/devices/i2c-0/device/power/control"

[Install]
WantedBy=multi-user.target

然后在终端上运行:

sudo systemctl daemon-reload && sudo systemctl enable disable-touchpad-pm

相关内容