如何为 HID 指定设备功能

注意有关 Windows 10,请参阅Windows 10 的不同之处。

 

包清单是一个 XML 文档,其中包含系统部署、显示或更新 Windows 运行时应用程序所需的信息。 此信息包括包标识、包依赖项、所需功能、可视元素和扩展点。 每个应用包都必须包含一个包清单。

访问 HID 设备的 Windows 运行时应用必须在其清单的 "功能" 节点中包含特定的DeviceCapability数据。 此数据标识设备及其目的 (或函数) 。 请注意,某些设备可能有多个功能。

设备 Id元素对应于设备标识符。 此元素可以指定 (vid) 和产品 Id的组合供应商 id (pid) ;或者,它可以指定泛型字符串 ( "any" ) 。 此外, 设备 ID 可能包含可选的提供程序字符串 "usb" 或 "蓝牙"。

函数 Type元素指定设备函数。 此元素包含一个或多个 HID 使用值。 这些值由 使用情况页 和可选 使用 Id组成,其中每个值都是16位的十六进制值。

示例 DeviceCapabilities

本部分包含三个 HID 设备的示例 DeviceCapabilities 条目。 前两个对应于 HID 设备上供应商定义的用法、第三个到游戏设备 (游戏控件页面) ,第四个对应游戏板和游戏板。

在以下供应商定义的使用情况数据中,设备由 供应商 id产品 Id 组合标识。

<!-- HID Device -->
<DeviceCapability Name="humaninterfacedevice">
    <Device Id="vidpid:0A81 0701">
      <Function Type="usage:ffa0 0001"/>
    </Device>
</DeviceCapability>

以下与第一个相同,但在 设备 Id 元素中 ( "usb" ) 的其他提供程序字符串除外。

<!-- HID Device -->
<DeviceCapability Name="humaninterfacedevice">
    <Device Id="vidpid:0A81 0701 usb">
      <Function Type="usage:ffa0 0001"/>
    </Device>
</DeviceCapability>

以下游戏-设备数据中没有 供应商 id产品 id

<!-- Any gamepad device  -->
<DeviceCapability Name="humaninterfacedevice">
    <Device Id="any">
      <Function Type="usage:0005 *"/>
    </Device>
</DeviceCapability>

以下操纵杆和游戏板数据中没有 供应商 id产品 id

<!-- Any generic gaming device  -->
<DeviceCapability Name="humaninterfacedevice">
    <Device Id="any">
      <Function Type="usage:0004 *"/>
      <Function Type="usage:0005 *"/>
    </Device>
</DeviceCapability>

Windows 8 x 电话应用的要求

Windows 8. x 电话应用可以访问Windows。如果制造商为特定设备支持 HID 协议,并为应用开发人员提供了相应的设备数据,则为 HumanInterfaceDevice API。 请参阅制造商的文档,了解支持的 HID 设备的列表,以及实现设备发现所需的数据。

Windows.Devices.HumanInterfaceDevice