全部博文(7)
分类: LINUX
2009-07-28 07:59:57
本人有一台笔记本是DELL D630,今天不是讨论它的性能怎样的。从我买它的那一天起,里面装的就是linux操作系统,有装过suse desktop版,也装过ubuntu的,但适合它身份的莫过于RHEL版,两者的商务风格不谋而合,很是般配。
不过,问题也来了,这台本本在windows下用时,有DELL的专属程序控制tochpad的启用或关闭,但在RHEL5下面,让我着实受不了,没有什么专有程序控制它,电脑本身也没有提供硬件开关,所以在操作时,不小时碰到触摸板时,mouse指针就乱飞,有时会将打的文字顺序全乱,想想总会有办法来解决它的。
linux下的触摸板驱动是由syndaemon来支持的,所以就拿它来做手脚了...
首先我们需要了解一些东西,就是syndaemon是通过由驱动程序建立的共享内存区域来访问synaptics触摸设备,这个非常重要,默认情况下syndaemon和共享内存区的通讯是关闭的。所以我们必须先将它们的通讯打开,否则在启动syndaemon时会报错而无法继续实现我们的目的。如果要建立syndaemon和共享内存区的通讯,需要修改文件/etc/X11/xorg.conf文件,找到"InputDevice"部分并按照下列格式增加"SHMCconfig"选项
Section "InputDevice"
Identifier "Synaptics"
Driver "synaptics"
Option "Device" "/dev/input/mice"
Option "Protocol" "auto-dev"
Option "Emulate3Buttons" "yes"
Option "SHMConfig" "on" ----开启共享内存区的通讯
Option "LeftEdge" "120"
Option "RightEdge" "830"
Option "TopEdge" "120"
Option "BottomEdge" "650"
EndSecion
然后保存退出。
注销并重新登录系统后,共享内存区的通讯就开启了。
然后接下来,我们就可以来写实现touchpad开关的部分了
在用户配置文件中可以设定,默认进入系统后,关闭触摸板,为了达到这个目的,我们可以在用户配置文件中做如下指定,步骤如下:
$vim ~/.bashrc
# .bashrc
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
# User specific aliases and functions
synclient touchpadoff=1 -------禁用触摸板
然后,保存并退出编辑器
使用现有的账户,重新登录系统即可,默认的触摸板就是关闭的了。
这样子,如果我们没有外接MOUSE时又不方便了,难道还要将上面新加的内容去掉,再重新进行login吗?当然不用,我们利用上面得到的知识,写一个小程序放在~/.bashrc下,以达到程序控制触摸板软开关的目的,这样子,可以自由切换,当然,可以在用户全局配置文件 /etc/bashrc中写,这样可以避免不同用户进入系统时情形不一的情况。
$vim ~/.bashrc
以下是我打开并编辑后的内容