现在的位置: 首页 > 综合 > 正文

disable touchepad while typing under ubuntu/linux

2013年12月05日 ⁄ 综合 ⁄ 共 2536字 ⁄ 字号 评论关闭

更好的解决办法

http://www.ubuntuhome.com/touchpad-indicator.html

  • sudo add-apt-repository ppa:lorenzo-carbonell/atareao
  • sudo apt-get update
  • sudo apt-get install touchpad-indicator

配置文件位置:

~/.config/autostart/touchpad-indicator

/usr/share/touchpad-indicator.py

----

打字时禁用笔记本触摸板,原文链接

http://www.imega.cz/Linux-Alps-Touchpad-Dell-E6410/Linux-Alps-touchpad-disable.php

 

 

以前用Thinkpad的时候就大呼IBM笔记本被联想收购后质量越来越差,可没想到自动到新公司后,用的DELL的笔记本更让人无法忍受。价钱贵,售后差,外观丑我都认了,最无法忍受的时触摸板及其让人恼火,打字时动不动光标就飞了。

让人郁闷的时自打Ubuntu升级到9.10版本之后,10.10和11的版本的菜单里面,系统->首选项->鼠标->触摸板页面也没有了,网上的那些synaptics和touchfreeze的方法也都不管用,信息时代还真是不容以,google翻了n多页才找到一个打字时屏蔽触摸板的脚本,只是自动运行加载的方式有点麻烦。不多废话了,原文翻译备份一下。

 

该脚本可首先如下功能:

a. 插入鼠标时禁用触摸板

b 打字时禁用触摸板

当然还有一个好处就是不需要yum或apt-get安装神马软件,都是脚本,有兴趣的朋友还可以学习一下。

 

1. 首先下载一个脚本包,解压缩放到/usr/local/bin目录下(最好放到该目录,因为后面好多脚本都直接使用这个目录)

  1.1 以普通用户登录

  1.2 下载脚本

> cd /tmp

> wget http://www.imega.cz/Linux-Alps-Touchpad-Dell-E6410/touchpad_disable.tar.bz2

  1.3 解压缩到/usr/local/bin目录

> sudo tar -jxvf touchpad_disable.tar.bz2  -C  /usr/local/bin

 

2. 插入鼠标进行测试

可直接跳过

 

3. 使用xinput list命令找到触摸板、鼠标、键盘的设备名

> xinput list

触摸板的名字可能是 'PS/2 Mouse' 或 'AlpsPS/2 ALPS GlidePoint')
外部鼠标的名字可能是'Logitech USB-PS/2 Optical Mouse'
笔记本键盘的名字可能是 'AT Translated Set 2 keyboard'

 

4. 编辑/usr/local/bin/touchpad_disable/disable_xinput文件,增加上面找到的设备名称

在toDisable行(大概是第6行)增加你的触摸板名字

在toDetect行(7行)增加你的外部鼠标名字

在KeyboardName行(14行)增加键盘名字

 

注意设备名中的 / 字符前要加转义字符 /

 

5. 拔下鼠标进行测试

运行如下命令后触摸板应该被禁用了

> /usr/local/bin/touchpad_disable/disable_xinput state off

恢复触摸板运行如下命令

> /usr/local/bin/touchpad_disable/disable_xinput state on

 

如果不是,说明第4步中添加的设备名称有误

 

6. 再次插入鼠标,让脚本自动识别

输入如下命令

> /usr/local/bin/touchpad_disable/disable_xinput auto

 

7. 拔下鼠标,这时候触摸板应该自动恢复了

 

8. 复制热插拔设备管理规则到制定目录

> sudo cp /usr/local/bin/touchpad_disable/90-disable_touchpad-ALPS.rules /etc/udev/rules.d

 

9. 加载上述规则

> sudo udevadm control --reload-rules

 

10. 设置自动启动脚本

在系统->首选项->启动应用程序 中添加一个启动脚本

命令行中填上如下内容

/usr/local/bin/touchpad_disable/start_disable_xinput_listen

 

11. 测试一下

 

12. 现在重新启动一下,插入外部鼠标的情况下,触摸板就被自动禁用了,不过打字的时候触摸板禁用功能还没有开,因为还需要做如下设置

 

13. 在/etc/sudoers文件中添加规则,给touchpad_disable_on_type.py脚本赋予root权限

> vi /etc/sudoers

在文件末尾添加如下行

Cmnd_Alias KBDDETECTOR_ALIAS = /usr/local/bin/touchpad_disable/touchpad_disable_on_type.py *,/usr/bin/killall --older-than 1s -e touchpad_disable_on_type.py

ALL ALL=(ALL) NOPASSWD:KBDDETECTOR_ALIAS

14. 也可以手动运行上面的脚本测试一下,例如

 

/usr/local/bin/touchpad_disable/touchpad_disable_on_type.py 'PS/2 Generic Mouse' 'AT Translated Set 2 keyboard' '0.3' 0 test
you should get

.... some lines


----------------

Test devices search

Mouse found

Keyboard found

----------------

15. 现在关键的设置来了,在下面的配置文件中打开“打字时禁用触摸板”功能

> vi /usr/local/bin/touchpad_disable/disable_xinput

USE_touchpad_disable_on_type=0 中的0改成1,大致在12行

 

16. 好了,现在体验一下吧

 

 

抱歉!评论已关闭.