LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1167|回复: 3

alps触摸板在Linux下的功能实现

[复制链接]
发表于 2007-2-25 11:28:25 | 显示全部楼层 |阅读模式
我的笔记本是hp的dv4000系列的DV4131EA,前段时间一直被触摸板给困扰住,因为有鼠标,所以平时也没怎么管它。后来想想,Win下可以实现的东西,Linux下应该也行,于是趁着假期,把它搞掂

首先要说的是alps触摸板和synaptics的,它们的设置方法还是不一样的,之前我就是以为这些东西都一样,所以才搞不好。总的来说,我是参照gentoo的wiki来修改的。

下面是具体的步骤:
1,确保内核Input Device Support里面的Event Interface、PS/2 mouse编成模块或者编进内核;安装synaptics软件包:pacman -S synaptics

2,用命令查看:cat /proc/bus/input/devices ,下面是我的机器上面和触摸板有关的显示:
I: Bus=0011 Vendor=0002 Product=0008 Version=7321
N: Name="AlpsPS/2 ALPS GlidePoint"
P: Phys=isa0060/serio4/input0
S: Sysfs=/class/input/input7
H: Handlers=mouse1 event7
B: EV=f
B: KEY=420 0 70000 0 0 0 0 0 0 0 0
B: REL=3
B: ABS=1000003

我们需要注意的是Handlers这一行。然后再试试这个命令:cat /dev/input/event7
执行这个命令后,随便碰碰触摸板,看看有没有输出,有的话证明触摸板可用。

3,接下来就是最重要的修改xorg.conf了:首先,在已有的几段Section "InputDevice"最后面(中间也行,随便)再添加一段Section "InputDevice",如下:
Section "InputDevice"
  Driver        "synaptics"
  Identifier    "Touchpad"
  Option        "Device"        "/dev/input/event7"
  Option        "rotocol"      "event"
  Option "LeftEdge" "120"
  Option "RightEdge" "830"
  Option "TopEdge" "120"
  Option "BottomEdge" "650"
  Option "FingerLow" "14"
  Option "FingerHigh" "15"
  Option "MaxTapTime" "180"
  Option "MaxTapMove" "110"
  Option "ClickTime" "0"
  Option "EmulateMidButtonTime" "75"
  Option "VertScrollDelta" "10"
  Option "HorizScrollDelta" "0"
  Option "MinSpeed" "0.45"
  Option "MaxSpeed" "0.75"
  Option "AccelFactor" "0.020"
  Option "EdgeMotionMinSpeed" "200"
  Option "EdgeMotionMaxSpeed" "200"
  Option "UpDownScrolling" "1"
  Option "CircularScrolling" "0"
  Option "CircScrollDelta" "0.1"
  Option "CircScrollTrigger" "2"
  Option "SHMConfig" "true"
EndSection
我着重讲讲:
Driver        "synaptics"
  Identifier    "Touchpad"
  Option        "Device"        "/dev/input/event7"
  Option        "rotocol"      "event"
之所以Driver叫"synaptics"是因为我们之前pacman -S synaptics所装的驱动就是叫synaptics; Identifier 可以随便起个名字,不一定叫"Touchpad" ,但是一定要和Section "ServerLayout"那里所要添加的东西一致;Option "Device" 的值"/dev/input/event7"很重要,你一定要指定你的触摸板的Handlers;Option  "rotocol" "event"是关键,alps的触摸板建议用"event",我之前就是用默认的"auto-dev"结果老是配置不好。根据gentoo wiki所说,有的alps触摸板还是可以用"auto-dev",见仁见智吧,如果你用"auto-dev"不行那就请用"event"试试。

至于
Option "LeftEdge" "120"
  Option "RightEdge" "830"
  Option "TopEdge" "120"
  Option "BottomEdge" "650"
  Option "FingerLow" "14"
  Option "FingerHigh" "15"
  Option "MaxTapTime" "180"
  Option "MaxTapMove" "110"
  Option "ClickTime" "0"
  Option "EmulateMidButtonTime" "75"
  Option "VertScrollDelta" "10"
  Option "HorizScrollDelta" "0"
  Option "MinSpeed" "0.45"
  Option "MaxSpeed" "0.75"
  Option "AccelFactor" "0.020"
  Option "EdgeMotionMinSpeed" "200"
  Option "EdgeMotionMaxSpeed" "200"
  Option "UpDownScrolling" "1"
  Option "CircularScrolling" "0"
  Option "CircScrollDelta" "0.1"
  Option "CircScrollTrigger" "2"
  Option "SHMConfig" "true"
这些是触摸板的微调参数,我现在还没全部研究透,希望大伙一起努力。我要讲的是
Option "SHMConfig" "true" ,这个参数很有用,当你pacman -S gsynaptics(一个配置触摸板的图形界面程序,for gnome),就可以不用重起xserver而来开/关触摸板了。
http://gentoo-wiki.com/HARDWARE_Synaptics_Touchpad 有更多的微调参数。

我们还要在Section "Module"里面添加一行:Load "synaptics" 意思是启动X的时候加载触摸板的驱动。

最后在Section "ServerLayout" 里面添加一行:InputDevice    "Touchpad"  "AlwaysCore"
其中"Touchpad"和Section "InputDevice"中Identifier的值一定要对应; "AlwaysCore"这个值也很重要,系统不允许出现两个CorePointer,如果你像我一样,在使用触摸板的同时还使用鼠标,那就让触摸板用AlwaysCore,反正没有什么不好的地方。

修改完毕了,这时候注销看看。应该可以了吧,还不满意的话就好好钻研一下那些微调参数。有什么心得记得和大家分享哦,哈哈
发表于 2007-2-27 14:18:09 | 显示全部楼层
很复杂的样子。不过这些东西应该都是通用的。不仅仅是arch上。

我还没有nb,就算有nb有没有触摸板也不知道。嘎嘎

先顶一下
回复 支持 反对

使用道具 举报

发表于 2007-2-27 14:39:52 | 显示全部楼层
我的触摸板好像直接就可以用。。。
回复 支持 反对

使用道具 举报

发表于 2007-2-27 15:49:42 | 显示全部楼层
Post by wd_afei
我的触摸板好像直接就可以用。。。

估计功能不太全 最简单的测试方法 : 点击触摸板来实现单击, 如果是一碰就是单击的, 就没装驱动. 正常情况下应该有一个小延迟的.

Arch还是要手装synaptics驱动的.
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表