1.KBC与PS2关系在 EC内部PS/2 接口和 KBC键盘控制器并不是两个会争夺 IRQ1 的独立实体而是一个融合的整体。IRQ1 的冲突本质上是指“同一个中断源对应了多个物理设备”而不是 KBC 和 PS/2 在打架。KBC 模块是核心PS/2 接口是它的功能延伸。它们共享同一套中断机制而不是各自独立、相互竞争的关系物理层面物理层面 EC 芯片内部集成了一个 KBC键盘控制器模块该模块兼容经典的 8042 键盘控制器。而 PS/2 接口只不过是这个 KBC 模块对外延伸出的物理连接器用于连接外部 PS/2 键盘或鼠标功能层面KBC 模块负责管理两类输入源一是板上集成的键盘矩阵即笔记本自带的键盘二是通过 PS/2 接口连接的外部设备。无论是内部矩阵按键还是外部 PS/2 键盘按键最终都会汇入 KBC 模块的同一套处理逻辑中 。中断层面当 KBC 模块需要向主机CPU报告事件时它会统一触发中断。根据标准设计键盘类事件包括内置键盘和外部 PS/2 键盘都使用 IRQ1而鼠标类事件包括触摸板和外部 PS/2 鼠标则使用 IRQ12 。所以从 EC 的角度看并不存在“PS/2 设备走 PS/2 的中断KBC 设备走 KBC 的中断”这种分立的路径。它们都通过 KBC 模块最终映射到 IRQ1 或 IRQ12 上。2.KBC命令字KBC 命令字节 (Command Byte) 位详解位名称功能Bit 7Reserved 保留未使用必须保持为 0Bit 6扫描码转换 (XLAT / Translate) 1启用翻译。控制器将键盘发来的“第二套扫描码”自动转换为“第一套扫描码”IBM PC/XT兼容模式。0禁用翻译传递原始扫描码。Bit 5鼠标禁用 (Disable Mouse) 1禁用鼠标接口通过拉低时钟线Bit 4键盘禁用 (Disable Keyboard) 1禁用键盘接口通过拉低时钟线。0启用键盘接口。Bit 3忽略键盘锁定 (Ignore Keyboard Lock) 主要见于AT系统1强制状态寄存器的Bit 4键盘锁定位为“未锁定”用于绕过物理锁定开关 。0正常操作受锁定开关影响。在PS/2系统中此位通常为0 。Bit 2系统标志 (System Flag) 此位的值会反映在状态寄存器的 Bit 2 上 。1表示系统已通过自检 warm reboot。0表示是冷启动。Bit 1鼠标中断使能 (Mouse Interrupt Enable) 1当鼠标输出缓冲器满OBF时允许触发 IRQ12 中断 。0禁用鼠标中断需用轮询方式读取鼠标数据Bit 0键盘中断使能 (Keyboard Interrupt Enable) 1当键盘输出缓冲器满OBF时允许触发 IRQ1 中断 。0禁用键盘中断需用轮询方式读取按键。