Chinaunix首页 | 论坛 | 博客
  • 博客访问: 92598
  • 博文数量: 7
  • 博客积分: 1436
  • 博客等级: 上尉
  • 技术积分: 184
  • 用 户 组: 普通用户
  • 注册时间: 2007-12-19 10:42
文章存档

2010年(1)

2009年(6)

我的朋友

分类: 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

以下是我打开并编辑后的内容

# .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给你带来的乐趣吧!

阅读(1832) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~