PS/2键盘采用双向同步串行通讯协议,其按键扫描码存在通码和断码,实现了全键盘任意按键无冲突。
USB HID采用报文形式,轮询率通常是125Hz,每次向主机发送8字节报文。其扫描码不区分通码和断码,实现任意6键同时按下无冲突,最多14键同时按下无冲突。
为解决USB键盘无全键盘任意按键无冲突问题,键盘制造商采取虚拟多个USB HID设备和自定义USB HID报文格式等手段。然而,自定义报文格式的键盘可能遇到兼容性问题。
键盘内部的按键冲突源于矩阵按键扫描时电流逆流导致的“幽灵按键”。薄膜键盘通过优化布线缓解冲突,但无法彻底解决。机械键盘采用设置二极管避免问题。
矩阵按键由列线和行线构成,控制器扫描时检测按键状态。遇到“幽灵按键”时,可采取屏蔽部分按键或优化布线的办法。设置二极管是彻底避免问题的方法,常见于机械键盘。
键盘控制器不断扫描矩阵,检测按键触发,将其转换为键盘码值存储并编码为报文发送给主机。对于PS/2键盘,控制器还通过与状态比较确定按键是按下还是释放。
本文如未解决您的问题请添加抖音号:51dongshi(抖音搜索懂视),直接咨询即可。