尝试在唤醒时禁用触摸板

尝试在唤醒时禁用触摸板

我使用的是 Thinkpad L13 Yoga,并且遇到了唤醒后指点杆停止工作的问题。所以我遵循以下提示(基本上在唤醒时重新加载 psmouse 模块):https://askubuntu.com/a/1159960/270792

将文件放置到位后,指点杆在唤醒时不再出现故障,但是触摸板现在已被激活。然而,我希望保持触摸板处于禁用状态,因为我有时会无意中用手掌触摸它。

所以我尝试在唤醒时禁用触摸板。这是我的/lib/systemd/system-sleep/trackpoint-fix脚本目前的样子:

#!/bin/bash

case $1/$2 in
  pre/*)
    echo "Going to $2..."
    # Place your pre suspend commands here, or `exit 0` if no pre suspend action required
    modprobe -r psmouse
    ;;
  post/*)
    echo "Waking up from $2..."
    # Place your post suspend (resume) commands here, or `exit 0` if no post suspend action required
    sleep 2
    echo "Will now modprobe psmouse..."
    modprobe psmouse
    sleep 2
    echo "Will now disable the touchpad..."
    DISPLAY=:0 xinput disable 'Elan Touchpad'
    sleep 2
    echo "Will now show touchpad state..."
    DISPLAY=:0 xinput list-props 'Elan Touchpad' | grep 'Device Enabled'
    ;;
esac

这是我在日志中找到的内容:

Mai 24 15:13:42 ThinkpadL13Yoga systemd-sleep[2919]: Going to suspend...
Mai 24 15:13:42 ThinkpadL13Yoga systemd-sleep[2916]: Suspending system...
Mai 24 15:13:50 ThinkpadL13Yoga systemd-sleep[2916]: System resumed.
Mai 24 15:13:50 ThinkpadL13Yoga systemd-sleep[3073]: Waking up from suspend...
Mai 24 15:13:52 ThinkpadL13Yoga systemd-sleep[3073]: Will now modprobe psmouse...
Mai 24 15:13:54 ThinkpadL13Yoga systemd-sleep[3073]: Will now disable the touchpad...
Mai 24 15:13:56 ThinkpadL13Yoga systemd-sleep[3073]: Will now show touchpad state...
Mai 24 15:13:56 ThinkpadL13Yoga systemd-sleep[3326]:         Device Enabled (184):        0

因此,查看最后一行,触摸板设备似乎已成功禁用。但是,触摸板仍然处于活动状态。如果我在唤醒后检查 X 会话内触摸板的状态,它会告诉我该设备确实已启用:

$ DISPLAY=:0 xinput list-props 'Elan Touchpad' | grep 'Device Enabled'
    Device Enabled (184):   1

我完全不明白触摸板如何再次启用,并希望将其禁用。重新加载 psmouse 可能不是一个合适的解决方案,并且有更好的方法可以在唤醒后保持轨迹点启用。

答案1

我可以通过以下答案解决我的问题:https://askubuntu.com/a/1354447/270792

实际上解决了两个问题:

  1. 现在,触摸板在暂停后可以可靠地禁用
  2. 现在可以在暂停后使用鼠标中键滚动

相关内容