跳转到内容

Windows 11 键盘端口参数:MaximumPortsServiced 与 SendOutputToAllPorts

本页内容

MaximumPortsServiced 和 SendOutputToAllPorts 属于键盘类端口的旧式路径。在 Windows 11 25H2 中已确认 kbdclass.sys 的读取、默认值和作用范围。对于普通 USB 键盘,修改不会带来可测量的效果:建议保留默认的 3/1。

我们检查了键盘类在初始化时会读取哪些参数、它们会改变什么行为,以及这些行为适用于哪些设备。另外还核对了它们是否影响轮询率和 USB HID 路径。

Windows 11 25H2 build 26200.9168,系统组件 kbdclass.sys。检查了键盘类的初始化以及设备枚举时对参数的访问。其他控制器、筛选驱动和 PS/2 组合未单独检查。

将参数与 kbdclass.sys 的代码进行静态比对,并在所研究的 Windows 11 25H2 的系统跟踪中观察其读取情况。

HKLM\SYSTEM\CurrentControlSet\Services\kbdclass\Parameters

Value Type Windows 11 25H2 缺少记录时 作用
MaximumPortsServiced REG_DWORD 3 1 class driver 所服务的 legacy ports 数量
SendOutputToAllPorts REG_DWORD 1 0 将 output 广播到所有匹配的 ports

kbdclass.sys 在键盘类设备初始化时读取参数。MaximumPortsServiced 限制通过旧式端口机制建立的连接数量;当为 0 时,该机制中的枚举循环 KeyboardClass<N> 会被完全跳过。SendOutputToAllPorts 被解释为布尔值,决定是否将输出数据(包括 LED 指示灯命令)发送到所有已连接的端口设备。

这些参数不控制轮询率或 USB HID 报告间隔。现代 USB 键盘可以通过 HID 工作,完全不使用这一旧式机制。

两个参数都会在键盘类初始化时被读取。在所研究的版本中设置了值 3/1;删除记录会导致回退到 1/0。旧式端口路径不参与普通 USB HID 键盘的输入处理。

只有在具有多个旧式键盘端口的特殊配置中,提高上限才有意义。在其他情况下,修改通常不会产生效果。记录 0/0 会禁用此类端口的枚举和输出数据广播,但不会缩短输入路径,也不会改变轮询率。对于普通键盘,默认的 3/1 就足够了。

  • 所研究版本中参数的路径、类型和默认值。
  • 键盘类初始化时对参数的读取。
  • 参数在旧式端口路径范围内的作用,包括输出数据广播。
  • 驱动在缺少记录时使用的回退值 1/0。
  • 对轮询率和 USB HID 报告间隔的影响。
  • 对 PS/2、第三方筛选器和其他控制器的效果。
  • 修改对游戏或日常工作的实际用处。

对于普通键盘,请保留默认的 3/1:修改不会缩短输入路径,也不会改变轮询率。仅在具有多个旧式端口的特殊配置中使用记录 0/0,并提前检查所需的设备。

将 MaximumPortsServiced 和 SendOutputToAllPorts 恢复为表中的值,然后重启 Windows。删除记录不会恢复出厂值 3/1:驱动会使用回退值 1/0。

参数的读取已在 Windows 11 25H2 的 kbdclass.sys 中得到确认。所有 USB HID、PS/2 控制器和筛选驱动的组合未单独检查。

在所研究的 Windows 中设置了值 3/1。如果删除记录,驱动会使用自己的回退值 1/0,因此删除不会使该系统恢复到出厂设置。

如何复现观察中的动态部分——参见如何自行检查。

研究与所用工具归 BoosterX 开发者所有,因此开发者对结果存在直接利益关系。方法和适用范围已在上文说明,结论可通过公开数据和所列公开来源进行验证。

公开来源检查于:2026-09-02。

  • 2026-09-20: 添加了关于利益冲突的免责声明,以及方法中自行检查动态观察的链接。
  • 2026-09-02: 首次发布;确认了参数的读取和作用范围,添加了适用范围和回退值。