|
楼主 |
发表于 2003-10-28 17:49:23
|
显示全部楼层
改好了,如下
标题:[原创] IBM ThinkPad 的 Linux 配置 - TrackPoint 和 UltraNav 的滚动键配置
提要:目前,越来越多的笔记本电脑用户加入了 Linux 用户之列,但其中硬件厂商定制的一些方便功能在 Linux 环境中却因缺少驱动获指导性的配置而无法发挥其完全的功能。作者也有过这种经历,因此希望整理一些东西给像我一样的笔记本用户,特别是 IBM ThinkPad 用户,以各种例子和资源帮助人们找到使用各种 ThinkPad Specific 的功能。
本文是这种想法的尝试,介绍了带有滚动键指点杆/UltraNav双指点设备的配置。
正文:
本文以下面的场景作为例子。
机器:
IBM ThinkPad X21
PIII 700M, 384M RAM, 40G HDD
操作系统:
Gentoo Linux 1.4
主要参考资源:Thinkpad Scroll Daemon 主页
http://rsim.cs.uiuc.edu/~sachs/tp-scroll/
在下面站点下载驱动程序包
http://rsim.cs.uiuc.edu/~sachs/tp-scroll/tp-scroll-1.0.tgz
如果使用 RPM 的发行版,可以到 Thinkpad Scroll Daemon 主页上下载 rpm 的版本。不过作者没有测试过。
切换到 root 用户。解开压缩包,编译安装:
# make
# make install
或者不用 make 直接编译也可以,不过作者没有测试:
# gcc -o tp-scroll tp-scroll.c -lm
创建设备:
# mkfifo /dev/imouse
修改 /etc/X11/XF86Config (或者其他等同与它的 xfree86 配置文件),增加一个输入设备配置项:
Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
Option "Device" "/dev/imouse"
Option "rotocol" "ExplorerPS/2"
Option "Emulate3Buttons" "off"
Option "ZAxisMapping" "4 5"
EndSection
注意:Mouse0 是任意取的字符串,只要 Section"ServerLayout"中也指定一个就行。作者的配置是:
Section "InputDevice"
Identifier "TrackPoint"
Driver "mouse"
Option "Device" "/dev/imouse"
Option "rotocol" "ExplorerPS/2"
Option "Emulate3Buttons" "off"
Option "ZAxisMapping" "4 5"
EndSection
......
Section "ServerLayout"
...
InputDevice "TrackPoint" "CorePointer"
InputDevice "USB External Mouse" "SendCoreEvents"
...
EndSection
检查一下系统的指点杆连在了哪个设备名上,一般 IBM 的指点杆是在 /dev/psaux,可以这样检查一下,到控制台输入:
# cat /dev/psaux
动动指点杆看看是不是有一些乱码随着鼠标移动出现在终端输出上,如果是,那么指点杆设备位置就是在 /dev/psaux 了,按 Ctrl-C 中断命令。也可以这样检查别的鼠标。
现在来测试一下 tp-scroll 驱动。到 X 窗口开一个有滚动条的窗口(最好不要选 Mozilla/Phoenix/Firebird 浏览器窗口,老版本的这些程序有的本身不支持滚轮。可以选标准的文件管理器窗口。)打开一个终端窗口,以 root 身份运行:
# /usr/sbin/tp-scroll -i /dev/psaux -o /dev/imouse -x 1.0 -z 1.2 -m 0.02
看看 TrackPoint / UltraNav 是不是可以用,特别是第三滚动键是否对窗口滚动条有效。确定没有问题后在刚才的控制台窗口按 Ctrl-C 结束测试。命令行中 -x -z -m 分别是鼠标加速等参数,默认值分别为 1.6, 1.2, 0.02,根据个人习惯调节试出满意的参数。
现在要把指点杆驱动加入系统启动时自动执行的程序(类似于 Windows 平台下的 TrackPoint Service)。作者的系统是 Gentoo Linux 1.4,于是加在 /etc/conf.d/local.start (RedHat 加在 /etc/rc.local, SuSE 加在 /etc/init.d/boot.local)
# vi /etc/conf.d/local.start。加入一行
# start-stop-daemon --start --background --quiet --make-pidfile --pidfile /var/run/tp-scroll.pid --exec /usr/sbin/tp-scroll -- -i /dev/psaux -o /dev/imouse -x 1.0 -z 1.2 -m 0.02
# vi /etc/conf.d/local.stop。加入一行
# start-stop-daemon --stop --quiet --pidfile /var/run/tp-scroll.pid
注意选用适合自己使用的 -x, -z, -m 参数。保存配置。
重启后即可使用 TrackPoint / UltraNav 的滚动功能了。
注:对于 Gentoo Linux, 更规范的方法是编写 init rc-script,将启动和终止脚本存成 /etc/init.d/tp-scroll,将配置文件放在 /etc/conf.d/tp-scroll(用于保存 -i -o -x -z -m 的参数取值)。再用 rc-update 添加到 default 运行级里。作者的一台 ThinkPad 笔记本上就是这样实现的。也可以利用 X 的 xinitrc 来实现自动启动滚屏键服务,主要命令和上述相同,但作者还没有尝试过,此处不赘。 |
|