我在读这问题是 USB 键盘使用轮询来查看是否按下了键,而 PS/2 键盘使用中断。
我想知道笔记本电脑内置键盘使用哪种方法?
答案1
大多数经典笔记本电脑(内置不可拆卸键盘)使用来自 LPC 桥(有时称为“超级 I/O”)的专用键盘控制器(直接扫描按键矩阵)。LPC(低引脚数)桥还控制所有旧设备、BIOS 芯片、计时器、RTC 等。LPC 桥来自专用 PCI 单元,LPC 总线支持所有必要的中断。
如果您检查 PC 设备管理器“按连接”,并展开“基于 ACPI xxx 的 PC”,您最终将看到所有 PCI 设备。键盘将显示为 PS/2,但这只是逻辑上的,没有实际的串行接口。因此您可以说笔记本电脑键盘使用中断。
平板电脑等各种无键盘设备都使用 USB 接口与键盘通信。可拆卸键盘也使用 USB。按键扫描电子设备位于键盘本地,并在本地处理所有按键和按键释放事件。总线使用称为“中断管道”的 USB 周期性事务来获取键盘数据,这在形式上是一种轮询。
答案2
内置键盘使用与其使用的接口相对应的方法,该接口通常是 PS/2 或 USB。
在 Windows 7 中,您可以通过打开设备管理器并查看键盘来进行检查。在我的一个样本中,我得到了 和HID Keyboard Device
。Standard PS/2 Keyboard
前者是外置 USB 键盘(拔下后它会消失),因此后者一定是我的内置键盘。