我使用的是 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
实际上解决了两个问题:
- 现在,触摸板在暂停后可以可靠地禁用
- 现在可以在暂停后使用鼠标中键滚动