hid多点触摸触摸屏调试
多点触摸界面为在应用程序中集成新的交互模式提供了很多好处。 Mac OS X和Microsoft®Windows®上较新的硬件和驱动程序允许通过单击和单击以外的各种手势创建更有效的应用程序导航。 本文提供了在较旧的支持Linux®的硬件上添加一些新手势支持所需的工具和代码。 基于synclient程序的输出,此处提供的Perl代码使您可以将特定的应用程序功能分配给“三指轻扫”以及打开和关闭捏合手势。
要求
硬件
此处提供的代码仅适用于配备Synaptics TouchPad的计算机,并且恰巧是在IBM®ThinkPad T30上开发的。 从Acer Aspires到Toshiba Tecras,许多笔记本电脑上都可以找到Synaptics触摸板。 请查阅“ 相关主题 ”以获取Synaptics TouchPad软件项目的硬件兼容性列表,以查看是否遇到了麻烦。
软件
您需要具有evdev支持的现代Linux内核。 幸运的是,大多数现代发行版都内置了此功能。Synaptics软件包还附带了许多发行版,其中包括用于监视TouchPad事件的synclient 。 例如,Fedora Core还包括适当的X Window System配置,以使用户只需进行最少的修改就可以使用TouchPad。 其他发行版,例如Ubuntu V7.10,可能需要进一步配置,然后Synaptics软件包(使用sudo apt-get install tpconfig
命令sudo apt-get install tpconfig
)才能正常工作。 咨询相关主题在Linux下实现与Synaptics的TouchPad的基本功能的更多信息。
您还需要CPAN的Time :: HiRes模块来提供亚秒级的计时控制,以处理TouchPad事件。 另外,您需要X11 :: GuiTest模块将合成的X Window事件发送到应用程序。 请参阅相关的主题为这些工具。
确保基本功能
如果使用触摸板启用了鼠标控制,请检查是否有足够的多指检测以支持手势。 运行synclient -m 100
并尝试在触摸板上进行不同的触摸。 您应该看到类似于以下的输出。
清单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
尝试用一,二和三指触摸以确保正确检测到事件。 确保触摸板能够检测到三个手指,因为要添加的第一个手势是“三指轻扫”。 请注