![Raspberry Pi Zero 作为启动键盘 USB 小工具](https://linux22.com/image/1594705/Raspberry%20Pi%20Zero%20%E4%BD%9C%E4%B8%BA%E5%90%AF%E5%8A%A8%E9%94%AE%E7%9B%98%20USB%20%E5%B0%8F%E5%B7%A5%E5%85%B7.png)
我正在尝试将 Raspberry Pi Zero W 变成“启动兼容”键盘(USB 小工具)。我已关注本教程为了使其在 OS 中工作,即当插入已开机并登录用户的 Mac 计算机时,我可以通过运行将字节写入设备文件 (/dev/hidg0) 的脚本将击键通过 Raspberry Pi 发送到 Mac。本教程使用了两个模块:dwc2 和 libcomposite。
但是,我需要 Pi 在 Mac 的 EFI(BIOS)中用作键盘。具体来说,我想在 Mac 启动时发送 Command+R 按键以进入恢复模式。
看着官方文件根据 USB 组织的规定,启动键盘需要主机支持 SET_PROTOCOL 和 GET_PROTOCOL 请求(附录 B.1 和 F.3)。我确实修改了报告描述符,如附录 B.1 所示。
根据第 496 至 606 行这个班在 Raspberry Pi Linux 源代码中,该模块似乎支持 SET_PROTOCOL 和 GET_PROTOCOL 请求。
但是,Pi 作为键盘小工具无法在 EFI 中使用,只能在 OS 中使用。
libcomposite 不包含 f_hid.c 类吗?如果没有,有人知道如何实现启动键盘小工具吗?我觉得我遗漏了一些东西。
提前非常感谢您!
供参考,这是我的报告描述。