Dell Inspiron 14R/7420 Ubuntu 13.04 系统禁用触摸板

这台电脑触摸板所在的位置并不在键盘的正下方,这导致双手打字的时候经常误触,很闹心。
参照这篇文章把触摸板禁用。

禁用触摸板

触摸板在 Ubuntu 中当作 USB 鼠标,相当于一个串联的鼠标,和外接的 USB 鼠标共同工作,而并不作为触摸板设备列出在设置面板里。

既然如此,那就禁用它。

首先,通过命令找到它的 ID:

#!bash
[~]|$ xinput list                          
⎡ Virtual core pointer                    id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ Logitech Unifying Device.                 id=11   [slave  pointer  (2)]
⎜   ↳ PS/2 Generic Mouse                        id=14   [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)]
    ↳ Video Bus                                   id=8    [slave  keyboard (3)]
    ↳ Power Button                                id=9    [slave  keyboard (3)]
    ↳ Sleep Button                                id=10   [slave  keyboard (3)]
    ↳ Laptop_Integrated_Webcam_HD                 id=12   [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard                id=13   [slave  keyboard (3)]
    ↳ Dell WMI hotkeys                            id=15   [slave  keyboard (3)]

其中第 5 行 PS/2 Generic Mouse 即为触摸板设备,其设备 ID 在我这里是 14,在你的机器上可能不同。

然后通过命令禁用它:

[~]|$ xinput set-prop 14 "Device Enabled" 0

这样,这个触摸板和它的鼠标键就禁用了。要启用它,把上述命令中的 0 更改为 1 即可。

写进 .zshrc

每次禁用启用都要输入那么长一串命令很是麻烦,在 .zshrc 中把它简化一下,并通过通知区域来告知是否禁用。

用编辑器打开 .zshrc ,添加这样几行:

#!bash
# 第一行通过 grep 和 sed 来获得设备 id,保存在变量 x 中,后两行利用这个 id 来禁用触摸板
x=`xinput list | grep 'PS/2 Generic Mouse' | sed -e 's/⎜.*id=//' -e 's/\t.*]//'`
alias tp0='xinput set-prop $x "Device Enabled" 0 && notify-send "触摸板已禁用!"'
alias tp1='xinput set-prop $x "Device Enabled" 1 && notify-send "触摸板已启用!"'

这样,直接在终端输入 tp0 就直接禁用触摸板,同时在通知区域显示「触摸板已禁用!」;输入 tp1 就会启用触摸板,同时在通知区域显示「触摸板已启用!」

2013-09-16 10:2050
comments powered by Disqus