- 论坛徽章:
- 0
|
本人有一台笔记本是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
以下是我打开并编辑后的内容
# .bashrc
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
# User specific aliases and functions
function touchpad()
{
if [ "$1" == "on" ]; then
synclient touchpadoff=0
elif [ "$1" == "off" ]; then
synclient touchpadoff=1
fi
}
然后完成后保存退出,重新进入系统或是重新启动X服务即可实现前面预想的功能了。
当再次进入系统后,我们使用如下命令打开或关闭tochpad:
$touchpad on
$touchpad off
最后,说明一下,我的本本除了触摸板外,还有指点设备,和Tinkpad的类似,不过DELL的商务机是“小蓝帽”,在我实现上述功能时,并没有能成功关闭指点设备的使用,这是由于它们使用不同的模块驱动所致。不过,指点设备不用关,想必用了linux+指点设备的朋友们,都能感觉到,它们是绝配!
如果你也有类似情况,试一下,享受linux给你带来的乐趣吧!
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/57352/showart_2010054.html |
|