
Ubuntu 對筆記型電腦的支援相當令人失望。就好像 Ubuntu 和 Kubuntu 是兩個不同的世界。是否有腳本可以在運行全螢幕應用程式時停用觸控板?我嘗試自己寫,但最終沒有成功。我的猜測是xdotool
與結合xinput
。
任何不同的方法以及類似腳本的建議都非常受歡迎。
不,我對設定快捷方式不感興趣!當全螢幕應用程式處於活動狀態時,腳本應自動停用觸控板。
答案1
經過一些研究,我設法編寫了一個功能腳本。當全螢幕應用程式處於活動狀態時,它將自動停用觸控板並且滑鼠已連接。所以適合全螢幕遊戲。
您需要做的是將文字複製到 Gedit 並將文件另存為例如:(.auto_disable_touchpad.sh
因為它位於.
名稱前面,所以它是隱藏文件,但您可以將其命名為任何您想要的名稱。)。然後:右鍵單擊/屬性/權限/允許將檔案作為程式執行。要將其新增至啟動開啟Startup applications
並新增以下命令your/script/folder/.auto_disable_touchpad.sh
。
#!/bin/bash
SC1=$(xdpyinfo | grep dimensions)
SC2="${SC1#*dimensions: }"
SC3="${SC2%% pixels*}"
while :
do
TP=$(xinput list --name-only | grep -i Touchpad)
TPS1=$(xinput --list-props "$TP" | grep -i "device enabled")
TPS2="${TPS1#*:}"
MO=$(xinput list --name-only | grep -i mouse)
if [ ! -z "$MO" ];then
WN1=$(xdotool getactivewindow getwindowgeometry)
WN2="${WN1#*Geometry: }"
WNN=$(xdotool getactivewindow getwindowname)
case ${WNN,,} in
desktop|*vlc*|*smplayer*|*mozilla*firefox*) WNN=1;;
*) WNN=0;;
esac
if [ $SC3 == $WN2 ] && [ $WNN == 0 ]; then
xinput -disable "$TP"
elif [ $TPS2 == 0 ]; then
xinput -enable "$TP"
fi
else sleep 2
fi
sleep 1
done
如果您正在觀看電影或全螢幕 YouTube 視頻,當滑鼠存在時,它也會停用觸控板。所以,你可能想要添加例外。我已經添加了一些:桌面、firefox(插件容器)、VLC 和 SMPlayer。
如果您希望在全螢幕應用程式運行時啟動觸控板,請將應用程式的名稱新增至此行:
desktop|*vlc*|*smplayer*|*mozilla*firefox*) WNN=1;;
EG 將 Ubuntu 的預設視訊播放器添加到先前Videos
新增的例外中,因此它看起來像這樣:|*videos*
) WNN=1;;
desktop|*vlc*|*smplayer*|*mozilla*firefox*|*videos*) WNN=1;;
請注意,應用程式的名稱區分大小寫,因此您必須僅使用小寫字母(smplayer
但不是SMPlayer
)。