Windows 触控概述 (Windows 7)

Windows 触控是 Windows 7 操作系统中触控和多点触控功能的名称。 在 Windows 触控的上下文中,“触摸”是指支持单个物理接触点,而“多点触控”是指支持两个或多个并发物理接触。

选择提供驱动程序

在 Windows 7 中,支持 Windows 触控的供应商可能需要提供驱动程序。 如果你的数字化仪设备在固件中支持 HID,则无需提供驱动程序。 如果你的设备在固件中不支持 HID,则必须包含模拟 HID 支持的驱动程序。

我们建议触摸设备是 USB HID 设备,并且供应商不提供驱动程序。 在这种情况下,报告描述符和相关信息在固件中提供。

无论你是否提供驱动程序,你都必须在你的 INF 文件中支持选择性挂起。 有关如何支持选择性挂起的更多信息,请参阅为 HID 设备启用 USB 选择性挂起

供应商提供的驱动程序应限制其执行的处理,以避免在移动场景中降低系统性能和缩短电池寿命。 触控设备应尽可能多地处理固件,以提供最佳的用户体验。

驱动程序模型

如果你提供驱动程序,我们建议你编写基于 KMDF 的下层过滤器驱动程序。 你的驱动程序应提供与 HID 微型驱动程序相同的功能,但在最小 WDM 驱动程序(也称为填充码驱动程序)下注册为筛选器驱动程序。 填充码驱动程序是必需的,因为 KMDF 1.9 本身不支持 HID 微型驱动程序。 在 Windows 7 和更高版本的 Windows 中,你可以将系统提供的 Mshidkmdf.sys 驱动程序用作填充码。

Mshidkmdf.sys 在早期版本的 Windows 中不是系统提供的。 如果你支持早于 Windows 7 的 Windows 版本,你可以自己生成填充码驱动程序。 MSDN 代码库在示例包的 hidmapper 子目录中包含此驱动程序的源代码。 有关如何生成填充码驱动程序的详细信息,请参阅 MSDN 代码库中的 HIDUSBFX2 示例自述文件。

不建议将 WDM 用于任何自然输入驱动程序,包括支持 Windows 触控的驱动程序。

示例

WacomKMDFEloMT 示例驱动程序展示了如何将 Mshidkmdf.sys 与供应商提供的较低筛选器驱动程序配对。

EloMT 是一个基于 KMDF 的示例数字化仪驱动程序,提供多点触控支持。 WacomKMDF 是基于 KMDF 的示例笔驱动程序。

这两个示例都使用 Mshidkmdf.sys 作为标称 HID 微型驱动程序,而供应商提供的 KMDF 驱动程序是 Mshidkmdf.sys 下的较低的筛选器驱动程序。 Mshidkmdf.sys 将 IRP 转发到供应商提供的较低筛选器驱动程序。

EloMT 示例包含多点触控驱动程序在 Windows 7 上运行所需的所有功能。 Elotouch 驱动程序既可以用作多点触控驱动程序,也可以用作鼠标驱动程序。