我想将一台电脑用作另一台电脑的 USB 键盘。它必须与实际的 USB 键盘没有区别。我该如何实现?
适用于 Ubuntu Linux 14 及以上版本、OS X 10.11 或 Windows 10 的解决方案是可以接受的。应该适用于 USB 2.0 或 3.0。
编辑:接收输入的机器不需要安装任何特定软件或网络访问。我需要使用物理 USB 电缆,并且目标机器应该像该 USB 端口上有物理键盘一样做出反应。
答案1
您可以在 USB 小工具模式下使用 Raspberry Pi Zero。在此模式下,Raspberry Pi 可以充当许多标准 USB 设备(键盘、鼠标、大容量存储等),然后您将能够从 Pi 上运行的程序“注入”按键(然后您可以根据需要远程控制此程序)。
Raspberry Pi Zero 不是唯一允许这样做的设备;但它很便宜,很容易买到,并且有很多文档解释如何做到这一点,所以(在我看来)它对于这样的项目来说是一个很好的起点!
答案2
我成功了以太钥匙, A蒂西和一个UART 转 USB 桥接器。
主机通过 UART 桥向 Teensy 发送命令。Teensy 假装自己是键盘并按下另一台 PC 上的虚拟按钮。Etherkey 是在 Teensy 上运行的软件,它将主机上的按键转发到虚拟键盘。
目标计算机立即检测到新的“键盘”,无需任何设置。
編輯:我也是在 ATmega32u4 开发板上运行 Etherkey,比 Teensy 更容易获得,而且更便宜。
答案3
我最终找到了一个硬件设备来做到这一点在 AliExpress。这使得它有点像一个黑匣子,尽管我怀疑它的内部运作方式与Sjoerd 的回答。
设备的 USB 端在主机上显示为 HID 键盘,我可以从另一台计算机连接到串行端并向其发送字符,然后这些字符将被“输入”。有一些特殊模式允许修饰键。如果发送计算机没有真正的串行端口,也可以使用通用的 USB 串行适配器,尽管这使得更难分辨哪一端假装是键盘。
这是迄今为止我发现的最便宜的解决方案,约 10 美元,而我见过的其他产品则标价 100 美元或更高。如果我需要更多,而 AliExpress 产品不见了,我会尝试 Teensy 解决方案。
答案4
考虑到原帖与现在之间的时间间隔,这可能毫无意义。但是,对于有类似问题的其他任何人,我建议以下解决方案:
- 购买一个便宜的 USB 键盘,大约 5 到 20 美元左右。
- 将其拆开并取出控制器和 USB 插头部分,然后将“控制器”连接到用于键盘矩阵的接触连接。(不用说,需要焊接。)
- 通过检查接触矩阵或通过程序来绘制引脚图。
- 使用映射制作您的控制程序。
- 设置您的程序以加载并运行 OnBoot,然后您就可以开始了!
控制程序可以用任何支持输出方式的语言编写,该输出方式将控制键盘控制器的“键”矩阵输入,以及 USB 端插头,根据需要作为 USB 键盘插入目标计算机。
如果使用基于 Linux 的操作系统,Python 可能是您的首选语言。如果使用基于 Windows 的操作系统,.Net 可能是您的首选语言(具体风格 C#、VB 由您决定)。如果您可以控制 GPIO 或并行端口引脚,那么甚至可能可以使用 Node.js 或 PHP。
快乐黑客!