Skip to content

通过 Arduino Uno 转化 USB 键盘为 PS/2 接口 | Transform USB beyboard to PS/2 using Arduino Uno.

License

Notifications You must be signed in to change notification settings

zhjqcn/kbd-usb2ps2

 
 

Repository files navigation

KBD-USB2PS2

中文 | English

kbd-usb2ps2

转化 USB HID 键盘协议为 PS/2 键盘协议 (scan code set 2)

这个项目的最初想法来源于 usb2ps2,但是这个项目没有实现 PS/2 键盘协议的 启动初始化输入速率输入延迟,还有就是使用的 USB Host Shield 库太旧了,这个新的项目解决了上面提到的这些问题。

硬件需求

如何使用

  1. 安装 Arduino IDE
  2. 在 Arduino IDE 中安装 USB Host Shield Library 2.0
  3. 将这个项目 (kbd-usb2ps2.ino) 写入 Arduino Uno Rev3
  4. 将 USB Host Shield V2.0 组装在 Arduino Uno Rev3 上
  5. 将 PS/2 的 数据线时钟线 分别插在 Arduino 的 (4, 2) 上,5V与接地也要接上

⚠️ 注意: 在电脑启动前,你就应该先把 PS/2 接口插在电脑上,因为 PS/2 接口不支持 热插拔.

键盘兼容性

✔️ : 支持, ❌ : 不支持

  • 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 来完善这个键盘支持列表。

TODO

  • 支持 Num Lock
  • BIOS 启动时识别为 PS/2 键盘设备
  • 极少情况下出现CAPS LOCK键反转

Reference

About

通过 Arduino Uno 转化 USB 键盘为 PS/2 接口 | Transform USB beyboard to PS/2 using Arduino Uno.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 96.6%
  • C 3.4%