Перейти к содержимому

Keyboard port parameters 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 число legacy ports, обслуживаемых class driver
SendOutputToAllPorts REG_DWORD 1 0 рассылка output на все подходящие ports

kbdclass.sys читает параметры при инициализации устройства класса клавиатуры. MaximumPortsServiced ограничивает число подключений через устаревший механизм портов; при 0 цикл перечисления KeyboardClass<N> в этом механизме полностью пропускается. SendOutputToAllPorts трактуется как булево значение и определяет, отправлять ли выходные данные, включая команды светодиодных индикаторов, всем подключённым устройствам портов.

Параметры не управляют частотой опроса или интервалом отчётов 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.

Чтение параметров подтверждено в kbdclass.sys Windows 11 25H2. Все сочетания USB HID, контроллеров PS/2 и драйверов-фильтров отдельно не проверялись.

В исследованной Windows установлены значения 3/1. Если удалить записи, драйвер использует свои резервные значения 1/0, поэтому удаление не возвращает эту систему к заводской настройке.

Как повторить динамическую часть наблюдений — см. Как проверить самостоятельно.

Исследование и использованные инструменты принадлежат разработчику BoosterX, поэтому у разработчика есть прямой интерес к результатам. Методика и границы применимости описаны выше, а выводы можно проверить по открытым данным и перечисленным публичным источникам.

Публичные источники проверены: 2026-09-02.

  • 2026-09-20: добавлен дисклеймер о конфликте интересов и ссылка на самостоятельную проверку динамических наблюдений в методике.
  • 2026-09-02: первая публикация; подтверждены чтение и область действия параметров, добавлены границы применимости и резервные значения.