0

我想知道 PS/2 鼠标的 DeviceID 和 PNPDeviceID 格式。在我的系统上,PS/2 鼠标的设备 ID 是 ACPI\PNP0F13\4&1F1D307&0。那么格式是 ACPI\PNPxxxx{something} 还是其他?我的意思是 ACPI 对 PS/2 鼠标是强制性的吗?

4

1 回答 1

0

PS/2 端口不在可以发现与其连接的所有设备的总线上。即它不是即插即用。因此,操作系统依赖系统的固件来查找所有无法发现的设备。在现代 x86 系统上,这种机制就是 ACPI。但是,Windows 95 等较旧的操作系统使用称为 PNPBIOS 的不同固件接口来执行相同的操作。PNP0F13 pnpid 是 PNPBIOS 的遗留物。ACPI\ 前缀表明它是由 ACPI 总线驱动程序枚举的。Windows 驱动程序模型对鼠标驱动程序隐藏了这些细节——它可以只在其 .inf 中列出 pnpid,并获得一个 AddDevice,而不管它的设备是由哪个平台枚举器找到的。

当然,PS/2 鼠标在 ACPI 甚至 Win95 之前就已经存在。当您在 DOS 上使用鼠标时,设备驱动程序只是假设端口位于特定的 io 或内存位置,并自行探测这些位置。乐趣!

于 2010-05-06T02:21:29.003 回答