我已将触摸板配置为将三指点击识别为鼠标中键单击
synclient TapButton3=2
这个方法很好用,几个月前我就使用启动应用程序 GUI 工具将此命令设置为在登录后几秒自动运行。相关文件如下所示:
$ cat .config/autostart/touchpad-settings.sh.desktop
[Desktop Entry]
Type=Application
Exec=bash -c 'sleep 7 ; /usr/local/bin/touchpad-settings.sh'
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name=Touchpad settings
Comment=
$ cat /usr/local/bin/touchpad-settings.sh
#! /bin/bash
synclient TapButton3=2
所以这一直工作正常,但是从几天或几周前开始,在暂停笔记本电脑并再次唤醒后,配置会被重置。三指点击然后打开一个Alt+Tab状窗口切换器,而不是产生中键单击并查询synclient
此设置值再次确认TapButton3=0
。
知道是什么原因造成的吗?我该如何修复它,或者至少在从挂起状态唤醒后自动重新配置它?
答案1
我不知道是什么原因造成的,但可以很快解决。
您可以编写一个脚本,让它在每次挂起后执行。它的工作原理如下:
首先,创建一个包含触摸板设置的脚本。我的脚本如下:
#!/bin/bash
#=============
# touchpad.sh
#=============
# This script sets up my touchpad settings at login/after suspend
# Executed from /lib/systemd/system-sleep
# wait for a few seconds for the desktop to be set up properly first
sleep 5;
# synclient needs a server to connect to
declare -x DISPLAY=":0.0"
declare -x XAUTHORITY="/home/<YOUR USERNAME>/.Xauthority"
# enable middle click
synclient TapButton2=3
synclient TapButton3=2
# disable window switcher
synclient ClickFinger3=2
exit 0
不要忘记插入您的用户名并制作剧本可执行文件:chmod a + x /path/to/script/touchpad.sh
接下来,创建一个脚本,该脚本将在挂起后启动 touchpad.sh。对于 ubuntu 16,您需要将其保存在目录中/lib/systemd/system-sleep/
。我的脚本如下所示:
#!/bin/sh
case $1 in
pre)
# Place your pre suspend commands here, or `exit 0`
# if no pre suspend action required
exit 0
;;
post)
# Place your post suspend (resume) commands here, or
# `exit 0` if no post suspend action required
/path/to/script/touchpad.sh
exit 0
;;
esac
您需要 root 权限才能写入/lib/systemd/system-sleep/
,并且不要忘记使用以下命令使脚本可执行:sudo chmod a+x your_wakeup_script.sh
最后,应得功劳的地方就得功劳。