USB Touch Pad 建立

  • 精确式触控板 ( Precision Touchpad , PTP )
1.  触控板装置应该使用 Human Interface Device ( HID ) 通讯协定与其 Windows 主机通讯。

2.  需要 I ² C HID 描述项。



3.  Windows精确度触控板装置应公开 3 个强制的最上层集合 : Windows精确度触控板、鼠标和设定
鼠标集合 : Windows Precision Touchpad 的鼠标集合提供主机符合 HID 规范的鼠标报告。 对于无法使用Windows Precision Touchpad 集合来取用输入的主机而言,这特别重要。
鼠标集合应该支援输入报表,以便至少报告 (x、y) 和左右按钮的相对位置。

设定集合 : Windows Precision Touchpad 的组态集合可让主机设定装置的两个不同层面。 集合应支援两个功能报告:一个允许主机选取输入模式,另一个则允许主机在报告的内容中选择性。
a. 输入模式功能报告是由主机与 Windows Precision Touchpad 通讯,以指出应该使用哪一个最上层集合来输入报告。 有两个集合可用于输入报告:鼠标集合和Windows Precision Touchpad 集合。
b. 选择性报告功能报告是由主机与Windows精确度触控板通讯,以指出应该报告哪种类型的输入。 有两种类型的输入可以报告:表面接触点和按钮状态。

Windows Precision Touchpad 集合 : 提供丰富的多连络人(下面所描述的连络人指的是手指)和按钮报告给主机,以及与这些报表相关的装置资讯。
集合应支援两个功能报告:一个可让主机取得装置功能,另一个则用来取得装置的认证状态。
举例 : 扫描时间配置,Finger 计数设置,按键状态配置,最大连络人计数报告,设备证书状态功能报表配置。
  • Touch Pad Deivce Descriptor

1.  在 Function "USB_DeviceGetDeviceDescriptor()" 中可以追踪到 g_UsbDeviceDescriptor , 借由设定 g_UsbDeviceDescriptor 内容来让 USB 获得 device descriptor 参数。

如下范例即为此次的 device descriptor 配置




                

  • Touch Pad Configration Descriptor

1.  在 Function "USB_DeviceGetConfigurationDescriptor()" 中可以追踪到 g_UsbDeviceConfigurationDescriptor , 借由设定 g_UsbDeviceConfigurationDescriptor 内容来让 USB 获得 Configuration Descriptor 参数。

如下范例即为此次的 Configuration Descriptor 配置






2.  在 g_UsbDeviceConfigurationDescriptor 中接着 Configuration Descriptor 后继续设定 Interface Descriptor 、 HID Descriptor 和 Endpoint Descriptor 参数。


如下范例即为此次的 Interface Descriptor 、 HID Descriptor 和 Endpoint Descriptor 配置






  • Touch Pad HID Report Descriptor

1.  在 Function "USB_DeviceGetHidReportDescriptor()" 中可以追踪到 g_UsbDeviceHidPTPReportDescriptor, 借由设定 g_UsbDeviceHidPTPReportDescriptor内容来让 USB 获得 hid report descriptor 参数。

可参考如下微软的 hid report descriptor 配置





  • 回复 USB data 内容

1.  获取 PTP 装置功能报告内容

2.  将获取的报告内容放入 usb buffer 并透过相对应 Interrupt 的 endpoint 回复给 host



* 参考文献 : 

1. 必要的隐藏描述项 (windows-精确度-触控板-必要-) HID | Microsoft Learn

2. 需要触控板的 HID Top-Level集合 | Microsoft Learn

3. windows-precision-touchpad-sample-report-descriptors (范例报表描述元) | Microsoft Learn

★博文内容均由个人提供,与平台无关,如有违法或侵权,请与网站管理员联系。

★博文作者未开放评论功能