Ubuntu16.04默认关闭触摸板

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=禁用触摸板

你可能感兴趣的:(Linux)