Keyboard 能否将USB 3主机编程为USB 3外围设备(或HID键盘)?

Keyboard 能否将USB 3主机编程为USB 3外围设备(或HID键盘)?,keyboard,usb,artificial-intelligence,driver,hid,Keyboard,Usb,Artificial Intelligence,Driver,Hid,我想做什么: 主机上的一种人工智能程序,从感测目标机器屏幕的摄像头读取输入,并通过USB连接将控制输出到目标机器——将主机的USB主机编程为连接到目标机器的USB外围设备 我想一步一步地做什么:(是否可以实施以下步骤?) 拥有主机a和目标机器B 使用USB 3.0 A类公电缆连接A和B USB连接在B上显示为HID键盘设备 编写代码,模拟A上的按键发送到B。 (例如,在a上运行的程序上调用press('F'),将F键入B的输入) 它不需要在B上安装任何程序 我已经搜索的内容: USB 3.0主机

我想做什么:

主机上的一种人工智能程序,从感测目标机器屏幕的摄像头读取输入,并通过USB连接将控制输出到目标机器——将主机的USB主机编程为连接到目标机器的USB外围设备

我想一步一步地做什么:(是否可以实施以下步骤?)

  • 拥有主机a和目标机器B
  • 使用USB 3.0 A类公电缆连接A和B
  • USB连接在B上显示为HID键盘设备
  • 编写代码,模拟A上的按键发送到B。
    (例如,在a上运行的程序上调用
    press('F')
    ,将
    F
    键入B的输入)
  • 它不需要在B上安装任何程序
  • 我已经搜索的内容:

  • USB 3.0主机到主机连接是可能的:

  • USB 2.0主机到主机连接不可能:

  • 在不假设USB 3.0主机到主机连接是可能的情况下提出的类似问题:


  • 建议按可行性的升序排列:

    USB小工具 您使用的是linux,因此默认方法是创建/配置/加载小工具驱动程序。看一看,虽然一个覆盆子,应该在你的电脑上也工作。但是,我找不到有关USB3使用的任何信息-本教程假设您的主机正在使用其OTG端口之一,而您的PC很可能没有该端口。因此,这是否适用于USB3.1 A-to-A型连接,您需要进行测试

    USBIP 共享USB设备(不仅仅是键盘)的想法。使用USBIP,您可以将任何本地USB设备“导出”到网络,您的客户端需要客户端USBIP驱动程序才能访问键盘

    根本不用担心USB,只需使用以太网即可 我只需编写两个userland脚本/程序来发送/接收并执行击键。非常容易实现,您可能已经熟悉python了


    如果你绝对不能在客户端PC上安装软件,并且你的Type-C-to-Type-C连接不支持USB小工具,还有另一种方法。它基本上包括使用两个USB到串行适配器(~15$)和一条串行电缆。虽然它不会被列举为键盘,而是串行端口,但它是在客户端上传输数据而无需额外软件的最省力的解决方案。两台计算机都只进行文件I/O。如果您的计算机仍有COM端口,您甚至可以省略串行转换器