【问题标题】:Simulating a keyboard's output (making a computer pose as another computer's keyboard)模拟键盘的输出(使计算机成为另一台计算机的键盘)
【发布时间】:2011-04-11 13:17:04
【问题描述】:

我希望能够将计算机A的USB端口连接到计算机B的USB端口,以使计算机A充当计算机B的键盘。

知道我会怎么做吗?

我不是在寻找现成的解决方案(尽管如果已经存在并且是开源的,我 不会反对),而是为了一个起点或一个好的资源。

我想我需要编写一个模拟键盘协议的驱动程序,并且我还需要整理整个 USB 主/从场景。

无论如何,我们将不胜感激。

附: 我也想用鼠标来做,但我想这将是一个非常相似的过程,而且我认为(但我可能大错特错)从键盘开始会更容易。

【问题讨论】:

标签: keyboard usb simulation


【解决方案1】:

我真的很高兴能从 Hagstrom Electronics 找到可以做到这一点的产品。它采用串行输入并将 USB 键盘输出发送到另一台 PC。如果您将它与现成的 USB 转串口适配器结合使用,那么您就是黄金。

http://www.hagstromelectronics.com/products/usbkm232.html

我已经找了好几个星期才找到这个,所以我决定回到一些论坛并分享这个发现。

【讨论】:

  • 正是我想要的!谢谢。
【解决方案2】:

如果不是 USB,我会通过 LAN 将两者连接起来,并有一个客户端/服务器 C# 程序来模拟键盘/鼠标(例如通过 DirectInput)。

据我所知,对于 USB 部分,您需要一些硬件适配器。如果您从事硬件开发或至少不怕烙铁和一些 µc 编程,请查看http://www.obdev.at/products/vusb/hidkeys.html,其中免费提供用于小型 atmel 芯片的 HID 堆栈。对于此解决方案,您需要两个通过 I²C 或 SPI 等进行通信的 atmega 芯片。
我也建议将两台电脑电气分离。你永远不知道它们是否共享相同的电气接地。

【讨论】:

  • 电气分离是指在“从”端我应该断开 VCC 和 GND,并光耦合 D+ 和 D- 线吗?
  • 基本上,是的,但是:由于 D+ 和 D- 线路中的不可预测的信号方向,实际上很难在电气上分离 USB 连接。但是很容易做的是(例如光学)解耦两个微控制器之间的 SPI 或此类连接。然后每个 µc 将通过其自己的 USB 连接单独供电。
  • 致亲爱的反对者:-1 有什么用?请帮助我改进:我的答案是错误的或离题怎么办?
【解决方案3】:

Linux 支持USB gadget mode,但我认为您需要特殊的硬件。 IE。普通PC的USB口不能做gadget模式。

另一种方法是将 LPT 端口连接到 PS/2 键盘输入,这在技术上更简单。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多