希望現在大家都已經擺脫了 PS/2 鼠標和鍵盤,但如果您仍然有一些舊系統與 PS/2 硬件一起運行,那麼目前正在開發的 Linux 6.5 內核還需要一些改進。
維護者 Dmitry Torokhov 上週發布的輸入子系統更新包括對舊式 PS/2 硬件的一些改進…他總結為,“在 EC 已經鎖定掃描碼的情況下對 PS/2 處理的改進在數據寄存器中,但內核希望收到對其發送到設備的命令(例如鍵盤 LED 切換)的 ACK。”
Torokhov 在原始補丁中進一步闡述系列關於這項工作的重點是老化的 PS/2 內核驅動程序代碼:
“這個補丁系列的主要原因是為了處理 EC/鍵盤控制器已經鎖存了一個主機(內核)向控制器/設備發送 PS/2 命令的同時掃描輸出緩衝區中的代碼。設備應停止掃描(鍵盤)或發送坐標數據(鼠標),而是發送確認(0xfa)然後可能是命令響應,但如果輸出緩衝區已包含掃描碼字節,則不能用 ACK 字節替換。
典型情況是用戶激活 CapsLock 功能,主機發送命令來切換 CapsLock LED。如果同時鍵盤傳輸該鍵的中斷代碼,內核可能會將其誤認為是垃圾命令響應並感到困惑。”
除了 PS/2 的改進之外,還有各種其他更改,包括 uinput 現在允許用戶空間為輸入事件注入時間戳並支持帶有 Atmel 觸摸控制器驅動程序的電容式按鍵。輸入子系統的完整列表是通過此拉動進行更改的,該拉動已於上週得到認可並合併。
與此相關的是,Linux 6.5 的 HID 子系統帶來了 NVIDIA SHIELD 控制器驅動程序、Xbox 控制器震動支持以及現代硬件的其他顯著改進。