Keyboard port parameters Windows 11: MaximumPortsServiced and SendOutputToAllPorts
On this page
Short answer
Section titled “Short answer”MaximumPortsServiced and SendOutputToAllPorts belong to the legacy port path of the keyboard class. In Windows 11 25H2, reading of kbdclass.sys, default values and scope are confirmed. For an ordinary USB keyboard, changing them produces no measurable effect: the stock 3/1 remain recommended.
What was checked
Section titled “What was checked”We checked which keyboard class parameters are read during initialization, what behavior they change and which devices this applies to. Separately, we verified whether they affect the polling rate and the USB HID path.
Scope of research
Section titled “Scope of research”Windows 11 25H2 build 26200.9168, system component kbdclass.sys. Keyboard class initialization and parameter accesses during device enumeration were checked. Other controllers, filter drivers and PS/2 combinations were not checked separately.
Methodology
Section titled “Methodology”Static mapping of the parameters to the kbdclass.sys code and observation of their reads in a system trace of the researched Windows 11 25H2.
Canonical values
Section titled “Canonical values”HKLM\SYSTEM\CurrentControlSet\Services\kbdclass\Parameters
| Value | Type | Windows 11 25H2 | When the entry is absent | Role |
|---|---|---|---|---|
MaximumPortsServiced |
REG_DWORD |
3 |
1 |
number of legacy ports serviced by the class driver |
SendOutputToAllPorts |
REG_DWORD |
1 |
0 |
broadcast output to all matching ports |
What the driver does
Section titled “What the driver does”kbdclass.sys reads the parameters during initialization of a keyboard class device. MaximumPortsServiced limits the number of connections through the legacy port mechanism; with 0 the enumeration loop KeyboardClass<N> in this mechanism is skipped entirely. SendOutputToAllPorts is treated as a boolean value and determines whether output data, including LED indicator commands, is sent to all connected port devices.
The parameters do not control the polling rate or the USB HID report interval. A modern USB keyboard may operate through HID without using this legacy mechanism at all.
Results
Section titled “Results”Both parameters are read during keyboard class initialization. In the researched build, the values 3/1 are set; deleting the entries leads to the fallback 1/0. The legacy port path does not participate in input processing for an ordinary USB HID keyboard.
Usefulness
Section titled “Usefulness”Increasing the limit makes sense only in a special configuration with multiple legacy keyboard ports. In other cases, the change usually has no effect. The entry 0/0 disables enumeration of such ports and broadcasting of output data, without shortening the input path and without changing the polling rate. For an ordinary keyboard, the stock 3/1 are sufficient.
What is confirmed
Section titled “What is confirmed”- The paths, types and default values of the parameters in the researched build.
- Reading of the parameters during keyboard class initialization.
- The effect of the parameters within the legacy port path, including broadcasting of output data.
- The fallback values
1/0that the driver uses when the entries are absent.
What is not confirmed
Section titled “What is not confirmed”- Effect on the polling rate and the USB HID report interval.
- Effect on PS/2, third-party filters and other controllers.
- Practical benefit of the change for games or everyday work.
Practical conclusion
Section titled “Practical conclusion”For an ordinary keyboard, leave the stock 3/1: the change does not shorten the input path and does not change the polling rate. Apply the entry 0/0 only in a special configuration with multiple legacy ports, and verify the required devices in advance.
Restoring the state
Section titled “Restoring the state”Return MaximumPortsServiced and SendOutputToAllPorts to the values from the table and reboot Windows. Deleting the entries does not restore the factory 3/1: the driver uses the fallback 1/0.
Limitations and sources
Section titled “Limitations and sources”Reading of the parameters is confirmed in kbdclass.sys Windows 11 25H2. All combinations of USB HID, PS/2 controllers and filter drivers were not checked separately.
In the researched Windows, the values 3/1 are set. If the entries are deleted, the driver uses its fallback values 1/0, so deletion does not return this system to the factory setting.
For how to reproduce the dynamic part of the observations, see How to check it yourself.
The research and the tools used belong to the BoosterX developer, so the developer has a direct interest in the results. The methodology and the boundaries of applicability are described above, and the conclusions can be verified against open data and the listed public sources.
- Keyboard class driver, Microsoft Learn, checked 2026-09-01.
Public sources checked: 2026-09-02.
Change history
Section titled “Change history”- 2026-09-20: added a conflict-of-interest disclaimer and a link to independent verification of the dynamic observations in the methodology.
- 2026-09-02: first publication; reading and scope of the parameters confirmed, boundaries of applicability and fallback values added.
