飞行模式无线电管理
从 Windows 8 开始,Windows 操作系统通过 HID 为飞行模式无线电管理控制提供支持。
体系结构和概述
飞行模式的目的是让个人电脑制造商提供一个按钮或开关(可能还有一个指示状态的 LED 灯),使最终用户能够一次性打开/关闭所有无线控制。 这主要使需要打开/关闭飞行模式的用户能够以编程方式进行操作,从而使操作系统能够 (a) 识别开关状态和 (b) 通过软件来控制各种无线无线电设备。
Windows 在“通用桌面使用”页面上提供对以下 HID 用法的支持。
用法 ID | 用法名称 | 使用情况类型 |
---|---|---|
0x000C | 无线无线电控件 | 集合应用程序 (CA) |
0x00C6 | 无线无线电按钮 | 开/关控件 (OOC) |
0x00C7 | 无线无线电 LED | 开/关控件 (OOC) |
0x00C8 | 无线无线电滑块开关 | 开/关控件 (OOC) |
以下是支持无线电管理/飞行模式的 HID 客户端结构图。
ShellHW 检测服务 (SHSVCD.dll) 是以用户模式运行的 HID 客户端驱动程序/服务,为无线电管理设备提供支持。 它可监控是否存在 HID 顶层集合类型
- USAGE_PAGE(通用桌面)05 01
- USAGE(无线无线电控件)09 0C
示例报告描述符
以下部分提供了电脑制造商必须利用的报告描述符示例。 请注意,如果顶层集合是已有另一个顶层集合的报告描述符的一部分,则必须包含报告 ID(下面的示例中没有显示)。
下一部分为电脑制造商提供更多信息,并确定哪种报告描述符示例最适合其系统设计:
- 无状态按钮通常用于键盘消费者控制按钮(独立使用或与许多移动系统的功能按钮结合使用,如 Fn+F5)。
- 滑块开关通常用于带有物理滑块开关的移动系统(例如带有飞行模式开关的笔记本电脑)。
- LED 通常用作独立的飞机指示灯,或与无状态按钮或滑块开关配合使用。 Windows 用户不需要在移动设备上使用这种 LED 指示灯,因为用户界面上有关于飞行模式的视觉指示。
不带 LED 指示灯的无状态按钮
USAGE_PAGE (Generic Desktop) 05 01
USAGE (Wireless Radio Controls) 09 0C
COLLECTION (Application) A1 01
LOGICAL_MINIMUM (0) 15 00
LOGICAL_MAXIMUM (1) 25 01
USAGE (Wireless Radio Button) 09 C6
REPORT_COUNT (1) 95 01
REPORT_SIZE (1) 75 01
INPUT (Data,Var,Rel) 81 06
REPORT_SIZE (7) 75 07
INPUT (Cnst,Var,Abs) 81 03
END_COLLECTION C0
带 LED 指示灯的无状态按钮
USAGE_PAGE (Generic Desktop) 05 01
USAGE (Wireless Radio Controls) 09 0C
COLLECTION (Application) A1 01
LOGICAL_MINIMUM (0) 15 00
LOGICAL_MAXIMUM (1) 25 01
USAGE (Wireless Radio Button) 09 C6
REPORT_COUNT (1) 95 01
REPORT_SIZE (1) 75 01
INPUT (Data,Var,Rel) 81 06
REPORT_SIZE (7) 75 07
INPUT (Cnst,Var,Abs) 81 03
USAGE (Wireless Radio LED) 09 C7
REPORT_SIZE (1) 75 01
OUTPUT (Data,Var,Rel) 91 02
REPORT_SIZE (7) 75 07
OUTPUT (Cnst,Var,Abs) 91 03
END_COLLECTION C0
滑块开关(无 LED)
USAGE_PAGE (Generic Desktop) 05 01
USAGE (Wireless Radio Controls) 09 0C
COLLECTION (Application) A1 01
LOGICAL_MINIMUM (0) 15 00
LOGICAL_MAXIMUM (1) 25 01
USAGE (Wireless Radio Slider Switch) 09 C8
REPORT_COUNT (1) 95 01
REPORT_SIZE (1) 75 01
INPUT (Data,Var,Abs) 81 02
REPORT_SIZE (7) 75 07
INPUT (Cnst,Var,Abs) 81 03
END_COLLECTION C0
带 LED 的滑块开关
USAGE_PAGE (Generic Desktop) 05 01
USAGE (Wireless Radio Controls) 09 0C
COLLECTION (Application) A1 01
LOGICAL_MINIMUM (0) 15 00
LOGICAL_MAXIMUM (1) 25 01
USAGE (Wireless Radio Slider Switch) 09 C8
REPORT_COUNT (1) 95 01
REPORT_SIZE (1) 75 01
INPUT (Data,Var,Abs) 81 02
REPORT_SIZE (7) 75 07
INPUT (Cnst,Var,Abs) 81 03
USAGE (Wireless Radio LED) 09 C7
REPORT_SIZE (1) 75 01
OUTPUT (Data,Var,Rel) 91 02
REPORT_SIZE (7) 75 07
OUTPUT (Cnst,Var,Abs) 91 03
END_COLLECTION C0
LED(无按钮或滑块)
USAGE_PAGE (Generic Desktop) 05 01
USAGE (Wireless Radio Controls) 09 0C
COLLECTION (Application) A1 01
LOGICAL_MINIMUM (0) 15 00
LOGICAL_MAXIMUM (1) 25 01
USAGE (Wireless Radio LED) 09 C7
REPORT_COUNT (1) 95 01
REPORT_SIZE (1) 75 01
OUTPUT (Data,Var,Rel) 91 02
REPORT_SIZE (7) 75 07
OUTPUT (Cnst,Var,Abs) 91 03
END_COLLECTION C0
排查常见错误
提示 1:使用无线电管理器按钮时,电脑制造商应在按钮松开时发送一个 HID 信号,而不是在按钮按下时发送。 这是因为切换按钮通常是相对输入,而不是绝对输入。
提示 2:飞行模式无线电管理 HID 使用只能在移动系统(电池供电)上运行,并且需要 Windows 8 或更高版本的 Windows。
提示 #3:有关飞行模式单选管理按钮的更多信息,请参阅 Windows 8 键盘增强功能白皮书。
提示 4:有关按钮的更多信息,并确保使用了正确的硬件,请查看 Windows 8 系统徽标要求。