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 |
driver 的作用
Section titled “driver 的作用”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 開發者,因此開發者對結果有直接利益關係。方法與適用範圍已於上文說明,而結論可透過公開資料與所列的公開來源加以驗證。
- Keyboard class driver,Microsoft Learn,查核於 2026-09-01。
公開來源查核日期:2026-09-02。
- 2026-09-20: 新增利益衝突免責聲明,以及方法中自行檢查動態觀察的連結。
- 2026-09-02: 首次發布;確認參數的讀取與作用範圍,新增適用範圍與備援值。
