免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1459 | 回复: 0
打印 上一主题 下一主题

RHEL5实现笔记本电脑触摸板开关功能 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-07-28 07:59 |只看该作者 |倒序浏览

                                                                 
本人有一台笔记本是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
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP