中文 | English
转化 USB HID 键盘协议为 PS/2 键盘协议 (scan code set 2)
这个项目的最初想法来源于 usb2ps2,但是这个项目没有实现 PS/2 键盘协议的 启动初始化,输入速率 和 输入延迟,还有就是使用的 USB Host Shield 库太旧了,这个新的项目解决了上面提到的这些问题。
- Arduino Uno Rev3
- USB Host Shield V2.0
- PS/2 线(可以从旧的 PS/2 键盘上拆下来),需注意线序。
- 安装 Arduino IDE
- 在 Arduino IDE 中安装 USB Host Shield Library 2.0
- 将这个项目 (kbd-usb2ps2.ino) 写入 Arduino Uno Rev3
- 将 USB Host Shield V2.0 组装在 Arduino Uno Rev3 上
- 将 PS/2 的 数据线 和 时钟线 分别插在 Arduino 的 (4, 2) 上,5V与接地也要接上
✔️ : 支持, ❌ : 不支持
- HHKB Professional Hybrid Type-S (PD-KB800WS) ✔️
- HHKB Professional Type-S (PD-KB400WS) ❌
- CHERRY G80-3494LWCEU-0 ✔️
- 支持AKKO 3108DS
- ...
USB Host Shield V2.0 好像不支持自带 Hub 口的键盘,所以如果你的键盘自带 Hub 口,那插在这个系统上是不能正常使用的。
🌹 欢迎提交 PR 来完善这个键盘支持列表。
- 支持 Num Lock
- BIOS 启动时识别为 PS/2 键盘设备
- 极少情况下出现CAPS LOCK键反转
- The PS/2 Mouse/Keyboard Protocol, Adam Chapweske
- USB HID to PS/2 Scan Code Translation Table, Microsoft