Suspend

嘗試在喚醒時禁用觸摸板

  • August 14, 2021

我正在使用 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 不是一個合適的解決方案,並且有更好的方法可以在喚醒後保持啟用跟踪點。

我可以通過以下答案解決我的問題:https ://askubuntu.com/a/1354447/270792

它實際上解決了兩個問題:

  1. 暫停後,觸摸板現在可以可靠地禁用
  2. 暫停後使用滑鼠中鍵滾動現在可以使用

引用自:https://unix.stackexchange.com/questions/651159