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

Kil*_* TV 1 touchpad input-devices power-management libinput

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

\n\n

x输入列表

\n\n
\xe2\x8e\xa1 Virtual core pointer                      id=2    [master pointer  (3)]\n\xe2\x8e\x9c   \xe2\x86\xb3 Virtual core XTEST pointer                id=4    [slave  pointer  (2)]\n\xe2\x8e\x9c   \xe2\x86\xb3 SYN1B7E:01 06CB:2970 Touchpad             id=12   [slave  pointer  (2)]\n\xe2\x8e\xa3 Virtual core keyboard                     id=3    [master keyboard (2)]\n    \xe2\x86\xb3 Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]\n    \xe2\x86\xb3 Power Button                              id=6    [slave  keyboard (3)]\n    \xe2\x86\xb3 Video Bus                                 id=7    [slave  keyboard (3)]\n    \xe2\x86\xb3 Power Button                              id=8    [slave  keyboard (3)]\n    \xe2\x86\xb3 Sleep Button                              id=9    [slave  keyboard (3)]\n    \xe2\x86\xb3 Video Bus                                 id=10   [slave  keyboard (3)]\n    \xe2\x86\xb3 HD WebCam: HD WebCam                      id=11   [slave  keyboard (3)]\n    \xe2\x86\xb3 AT Translated Set 2 keyboard              id=13   [slave  keyboard (3)]\n    \xe2\x86\xb3 Acer WMI hotkeys                          id=14   [slave  keyboard (3)]\n\n
Run Code Online (Sandbox Code Playgroud)\n\n

xinput --list-props“12”

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

同步客户端-l

\n\n
Parameter settings:\n    LeftEdge                = 49\n    RightEdge               = 1187\n    TopEdge                 = 48\n    BottomEdge              = 850\n    FingerLow               = 25\n    FingerHigh              = 30\n    MaxTapTime              = 180\n    MaxTapMove              = 67\n    MaxDoubleTapTime        = 180\n    SingleTapTimeout        = 180\n    ClickTime               = 100\n    EmulateMidButtonTime    = 0\n    EmulateTwoFingerMinZ    = 282\n    EmulateTwoFingerMinW    = 7\n    VertScrollDelta         = 30\n    HorizScrollDelta        = 30\n    VertEdgeScroll          = 0\n    HorizEdgeScroll         = 0\n    CornerCoasting          = 0\n    VertTwoFingerScroll     = 1\n    HorizTwoFingerScroll    = 1\n    MinSpeed                = 1\n    MaxSpeed                = 1.75\n    AccelFactor             = 0.130976\n    TouchpadOff             = 0\n    LockedDrags             = 0\n    LockedDragTimeout       = 5000\n    RTCornerButton          = 2\n    RBCornerButton          = 3\n    LTCornerButton          = 0\n    LBCornerButton          = 0\n    TapButton1              = 1\n    TapButton2              = 3\n    TapButton3              = 0\n    ClickFinger1            = 1\n    ClickFinger2            = 3\n    ClickFinger3            = 0\n    CircularScrolling       = 0\n    CircScrollDelta         = 0.1\n    CircScrollTrigger       = 0\n    CircularPad             = 0\n    PalmDetect              = 0\n    PalmMinWidth            = 10\n    PalmMinZ                = 200\n    CoastingSpeed           = 20\n    CoastingFriction        = 50\n    PressureMotionMinZ      = 30\n    PressureMotionMaxZ      = 160\n    PressureMotionMinFactor = 1\n    PressureMotionMaxFactor = 1\n    ResolutionDetect        = 1\n    GrabEventDevice         = 0\n    TapAndDragGesture       = 1\n    AreaLeftEdge            = 0\n    AreaRightEdge           = 0\n    AreaTopEdge             = 0\n    AreaBottomEdge          = 0\n    HorizHysteresis         = 7\n    VertHysteresis          = 7\n    ClickPad                = 1\n    RightButtonAreaLeft     = 618\n    RightButtonAreaRight    = 0\n    RightButtonAreaTop      = 736\n    RightButtonAreaBottom   = 0\n    MiddleButtonAreaLeft    = 0\n    MiddleButtonAreaRight   = 0\n    MiddleButtonAreaTop     = 0\n    MiddleButtonAreaBottom  = 0\n\n
Run Code Online (Sandbox Code Playgroud)\n\n

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

\n\n

提前感谢任何建议。

\n

Kil*_* TV 5

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

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

echo 'on' > '/path/to/device/power/control'
Run Code Online (Sandbox Code Playgroud)

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

因此,我安装了powertop,并且能够找到要使用的正确设备和路径:Runtime PM for I2C Adapter i2c-0 (Synopsys DesignWare I2C adapter)

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

echo 'on' > '/sys/bus/i2c/devices/i2c-0/device/power/control'
Run Code Online (Sandbox Code Playgroud)

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

(编辑)

要在使用包含以下内容的systemd create的系统上启动时运行解决方法:/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
Run Code Online (Sandbox Code Playgroud)

然后在终端上运行:

sudo systemctl daemon-reload && sudo systemctl enable disable-touchpad-pm
Run Code Online (Sandbox Code Playgroud)