【问题标题】:How to send keystrokes from one computer to another by USB?如何通过 USB 将按键从一台计算机发送到另一台计算机?
【发布时间】:2011-01-16 17:24:07
【问题描述】:

有没有办法使用一台计算机通过 USB 向另一台计算机发送击键?

我要做的是捕获键盘使用的 USB 信号(例如使用 USBTrace)并将其与 PC-1 一起使用以将其发送到 PC-2。 以便 PC-2 将其重新转换为常规键盘输入。

非常感谢您提供一些线索。

【问题讨论】:

标签: keyboard usb


【解决方案1】:

您基本上需要的是 PC-1 上的 USB 端口,它将充当 PC-2 的 USB 设备。

这对于绝大多数 PC 系统来说是不可能的,因为 USB 是一种非对称总线,具有主机/设备(或主/从,如果您愿意)架构。大多数 PC 上的 USB 控制器(及其端口)只能在主机模式下工作,不能模拟设备。

这就是如果没有带有专用电子设备的特殊电缆,您无法通过 USB 将计算机联网的原因。

唯一的例外是您的 PC 以某种方式支持USB On-The-Go 标准,该标准允许 USB 端口在主机和设备模式下运行。 USB-OTG 设备确实存在,但它们通常是嵌入式设备(智能手机等)。不知道有没有办法给普通PC加USB-OTG接口。

编辑:

如果您在 PC-2 上的操作系统启动之前不需要键盘,您可以使用一对 USB 蓝牙适配器 - 每台 PC 上一个。您必须在 PC-1 上使用专门的软件,但这绝对是可能的——我已经看到了possible implementation on Linux,而且我有理由确定必须有一个适用于 Windows 的软件。如果尚未安装,您还需要 PC-2 上的蓝牙 HID 驱动程序。

另一方面,您是否考虑过纯软件/网络解决方案,例如TightVNC

【讨论】:

  • 感谢您的回复。所以我将不得不使用类似的东西:usbgear.com/link/index.html.
  • @Lucas:我认为这不会有帮助。您需要发送该设备无法通过的低级 USB 数据包 - 它的电子设备是为传输数据而设计的。顺便说一句,尽管它的描述中提到了任何内容,但它并不是真正的无人驾驶。这意味着它包含一个带有驱动程序的小型闪存驱动器,并且不需要单独的 CD。 Windows 没有此类设备的驱动程序。
  • 好吧,这就是我的怀疑。我可以在两台 PC 之间使用某种设备吗? PC-1 将向该设备发送低级 USB 数据包,该设备会将其发送到 PC-2。
  • @Lucas:你到底想做什么?根据可用资源(操作系统等),您可以例如使用一对 USB 蓝牙适配器为 PC-2 提供键盘输入。
  • 我想为平板电脑创建一个虚拟键盘,但我需要先执行一些测试。两台 PC 都在 Windows 7 下运行。我将进一步了解这些蓝牙适配器,谢谢。
【解决方案2】:

有一个解决办法:

https://github.com/Flowm/etherkey

这使用从您的计算机到连接到 teensy(usb 开发板)的 raspi 的网络连接来发送击键。

此解决方案不是开箱即用的产品。所需的技能类似于对其他一些设备(如 arduino)进行编程。但这是一个完整且有效的设置。

【讨论】:

    【解决方案3】:

    最便宜的选择是商业微控制器(例如 arduino 平台、pic 等)或现成的 USB 键盘控制器(例如 i-pac、街机控制器等)

    【讨论】:

      【解决方案4】:

      搜索这个程序:

      TWedge:Keyboard Wedge 软件(RS232、串口、TCP、蓝牙)

      然后,制作您自己的连接电缆:

      (usb <-> rs232) + (NULL MODEM) + (rs232 <-> usb)
      

      连接两台电脑,编写自己的程序发送信号到你的(usb rs232)单元,然后你可以在TWedge的帮助下控制另一台电脑。

      【讨论】:

      • 如果他想控制他的 BIOS 则不可用。
      【解决方案5】:

      上面提到的https://github.com/Flowm/etherkey 是一种方式。键盘是从 rPi 模拟的,但原理可以在 PC 到 PC(或从 Mac 到任何东西)中使用。您问题的核心答案是使用支持 OTG 的芯片,然后您通过 USB 串行适配器控制该芯片。

      https://euer.krebsco.de/a-software-kvm-switch.html 使用非常相似的方法,使用 Arduino 而不是 Teensy。

      一般的答案是:您需要一个支持 OTG 或支持从属的设备:Arduino、Teensy、Pi 0(来自 Rapberry 或 Orange 品牌,都可以工作;只有零型号支持 OTG),或者,一个 rPi- A 有大量定制(因为它不包括 USB 集线器,所以理论上可以转换为从机;从未找到任何公开教程可以做到这一点),或任何智能手机(三星、诺基亚、HTC、Oukitel ......大多数智能手机都是 OTG有能力的)。如果你想要一个 Pi 或手机,那么你想要挖掘 USB Gadget。更便宜的解决方案(Arduino/Teensy)需要定制固件。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-02-10
        • 1970-01-01
        • 2018-06-07
        • 2019-06-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多