Ubuntu16.04默认关闭触摸板
由于Ubuntu16.04默认开机是开启触摸板的,而每次通过Fn + F7 快捷键关闭,重启电脑之后又会自动打开。导致打字的时候总是误触,鼠标乱跑,所以就想能不能开机让它自动关闭。于是google之,发现可以实现,在这里记录一下,方便以后自己查看,也方便跟我有一样需求的同学们解决这个问题。
解决办法
1. 先通过 xinput 命令查看一下有哪些输入设备,找出触摸板的名称,结果如下:
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ SINO WEALTH USB Composite Device id=12 [slave pointer (2)]
⎜ ↳ SynPS/2 Synaptics TouchPad id=15 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ Power Button id=8 [slave keyboard (3)]
↳ Sleep Button id=9 [slave keyboard (3)]
↳ Video Bus id=10 [slave keyboard (3)]
↳ SINO WEALTH USB Composite Device id=11 [slave keyboard (3)]
↳ HD WebCam id=13 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=14 [slave keyboard (3)]
↳ Acer WMI hotkeys id=16 [slave keyboard (3)]
从输出结果第4行可以看出,触摸板名称为”SynPS/2 Synaptics TouchPad”, id为15
2. 再通过xinput list-props 15 | grep Device\ Enabled
查看触摸板相关属性,结果如下:
# 此时触板为关闭状态
Device Enabled (142): 0
3. 我们可以通过以下两条命令进行触摸板开启关闭的操作:
# 关闭触摸板
xinput set-prop 'SynPS/2 Synaptics TouchPad' 'Device Enabled' 0
# 开启触摸板
xinput set-prop 'SynPS/2 Synaptics TouchPad' 'Device Enabled' 1
但是,每次都打这两条命令又很麻烦,并不实用。于是,出现了以下两种解决方案:
方案一
- 编辑 ~/.bashrc 文件,为这两条命令添加别名。
- alias tpOff=”xinput set-prop ‘SynPS/2 Synaptics TouchPad’ ‘Device Enabled’ 0”
- alias tpOn=”xinput set-prop ‘SynPS/2 Synaptics TouchPad’ ‘Device Enabled’ 1”
- 执行
source .bashrc
,使刚才起的别名生效。
方案二
- 创建一个脚本文件,放到你的常用目录下。(以我为例,我把该脚本放在了我平时存放各种代码的目录中,然后创建了一个符号链接到home下,通过符号链接调用该脚本,命令行参数决定触摸板的开关)
- 代码如下:
#!/bin/bash
if [ $# == 1 ]
then
if [ $1 == 'on' ]
then
xinput set-prop 'SynPS/2 Synaptics TouchPad' 'Device Enabled' 1
echo "触摸板开启成功!"
elif [ $1 == 'off' ]
then
xinput set-prop 'SynPS/2 Synaptics TouchPad' 'Device Enabled' 0
echo "触摸板关闭成功!"
fi
else
echo "请输入参数:on/off"
echo "开启触摸板:touchpadEnable on"
echo "禁用触摸板:touchpadEnable off"
fi
4. 如何开机默认关闭触摸板
终于到了正题。你需要在 ~/.config/autostart/新建一个xinput.desktop 然后写入以下代码。
[Desktop Entry]
Type=Application
Exec=xinput set-prop 'SynPS/2 Synaptics TouchPad' 'Device Enabled' 0
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name[zh_CN]=touchpad enable
Name=touchpad enable
Comment[zh_CN]=禁用触摸板
Comment=禁用触摸板