向配备触摸板的膝上型计算机添加多触点手势支持

通过分析 Synaptics TouchPad 的 synclient 程序输出来启用 Linux® 应用程序的点击(swipe)和按压(pinch)手势。

多触点界面为在应用程序中集成新的交互模式提供了大量优点。Mac OS X 和 Microsoft® Windows® 中较新的硬件和驱动程序支持除指向和单击以外的更多的手势,从而可以实现更高效的应用程序导航。本文提供了一些工具和代码,可以在支持 Linux 的旧式硬件上添加某些新手势支持。本文中提供的 Perl 代码是在 synclient 程序输出的基础上构建的,它将允许您把特定应用程序函数赋给 “三指击键(Three-Finger Swipe)” 以及打开按压(Open-Pinch)和关闭按压(Close-Pinch)手势。

要求

硬件

本文中提供的代码专门针对仅配备了 Synaptics TouchPad 的计算机,并且在 IBM® ThinkPad T30 中开发。在从 Acer Aspire 到 Toshiba Tecra 的许多膝上型计算机中,您都可以找到 Synaptics 触摸板。要获得 Synaptics TouchPad 软件项目硬件兼容性列表以查看您的硬件是否在列表中,请参阅 参考资料 小节。

软件

您需要具有提供 evdev 支持的最新 Linux 内核。幸运的是,大多数最新发行版都内置了这项功能。许多发行版还附带了 Synaptics 包,该包包含用于监视 TouchPad 事件的 synclient。例如,Fedora Core 还附带了合适的 X Window System 配置,用户稍微修改后即可启用 TouchPad。其他发行版(例如 Ubuntu V7.10)可能需要更多配置,然后才能正常运行 Synaptics 包 — 用 sudo apt-get install tpconfig 命令安装。有关在 Linux 中使用 Synaptics TouchPad 实现基本功能的更多信息,请参阅 参考资料

您还需要有 CPAN 的 Time::HiRes 模块才能提供处理 TouchPad 事件的亚秒级时间控制。此外,您还需要 X11::GuiTest 模块才能把 synthetic X Window 事件发送给应用程序。要获得这些工具,请参阅 参考资料





回页首


确保基本功能

如果用 TouchPad 启用了鼠标控制,请检查是否有足够的多触点检测以提供手势支持。运行 synclient -m 100 命令并尝试在 TouchPad 中进行不同的触摸操作。您应当会看到类似下面的输出:


清单 1. 示例 synclient -m 100 输出
                
time x y z f w l r u d m multi gl gm gr gdx gdy
13.872 5680 4409 0 0 0 0 0 0 0 0 00000000 0 0 0 0 0
14.891 1072 3945 28 1 4 0 0 0 0 0 00000000 0 0 0 0 0
14.994 3529 2667 104 2 5 0 0 0 0 0 00000000 0 0 0 0 0
15.605 3669 3667 0 0 0 0 0 0 0 0 00000000 0 0 0 0 0
16.625 2628 2841 255 3 5 0 0 0 0 0 00000000 0 0 0 0 0
17.951 3117 2843 255 3 5 0 0 0 0 0 00000000 0 0 0 0 0
18.053 2902 3142 3 1 15 0 0 0 0 0 00000000 0 0 0 0 0
18.155 2430 3062 0 0 0 0 0 0 0 0 00000000 0 0 0 0 0

尝试单指、双指和三指触摸以确保事件会被正确检测到。确保 TouchPad 可以检测到三指,因为要添加的第一个手势是......







本文转自IBM Developerworks中国

      请点击此处查看全文

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值