通过Arduino passthrough为USB提供Diy可编程宏

通过Arduino passthrough为USB提供Diy可编程宏,arduino,keyboard,mouse,hid,Arduino,Keyboard,Mouse,Hid,我有一个罗技鼠标,但它有一些缺失的功能,我在追求。我正在寻找的功能: 跨平台 无需刷新新固件即可轻松更改宏及其绑定 以下是迄今为止我在研究中发现的备选方案: 1) 适用于Windows和Linux。这里的问题是,我找不到确凿的证据证明它能在我电脑上的所有游戏中运行,同时也不能触发诸如“VAC”和“Easy anti-作弊”等反作弊引擎的禁令。人们使用“自动热键”使机器人脚本在光标经过敌人时开火,因此它可能被反作弊引擎彻底禁止 2) 为软件堆栈添加对键盘和鼠标的支持。”GIMX'已经建立了用于

我有一个罗技鼠标,但它有一些缺失的功能,我在追求。我正在寻找的功能:

  • 跨平台
  • 无需刷新新固件即可轻松更改宏及其绑定
以下是迄今为止我在研究中发现的备选方案:

1) 适用于Windows和Linux。这里的问题是,我找不到确凿的证据证明它能在我电脑上的所有游戏中运行,同时也不能触发诸如“VAC”和“Easy anti-作弊”等反作弊引擎的禁令。人们使用“自动热键”使机器人脚本在光标经过敌人时开火,因此它可能被反作弊引擎彻底禁止

2) 为软件堆栈添加对键盘和鼠标的支持。”GIMX'已经建立了用于拦截用户输入和应用宏的代码,因此我可以将现有的“GIMX”设置用于我的PS3-如下所示:

keyboard and mouse --> RPi --> 'GIMX' adapter --> PC.
3) 最后,使用微控制器和USB主机屏蔽将每个USB外围设备连接到与主MCU通信的从MCU。从属MCU单元将转换特定于设备的宏触发器(例如,将额外的鼠标按钮重新映射到FPS武器的数字键或键盘组合)。主MCU将处理由键盘和鼠标触发的宏,最后通过内置USB串行CDC将其传递到我的PC

keyboard --> USB host shield --> slave mcu --|
                                         master mcu
mouse    --> USB host shield --> slave mcu --|
看看(),也许我可以使用Arduino的串行API作为主MCU?另外,我如何使三个与Arduino兼容的MCU能够在不影响游戏延迟的情况下进行通信?也许是SPI? 我想走硬件路线,使用第二种或第三种方法。最好是三个。然而,我不知道如何实现方法三。我不知道USB通信是如何工作的,所以我不能自己滚动库——但我确实知道如何用C++编写。所以,如果有人能给我指一些资源和Arduino库,那就太好了

可能的Arduino库:

  • 键盘
  • Arduino HID项目
  • USB主机屏蔽库2.0
编辑0:

  • 在线找到一个简单的USB中继,通过蓝牙模块捕获并发送USB数据包。我将研究它,找出它是如何工作的,以及如何添加可编程宏功能。
    • github.com/juancgarcia/HID-Relay
  • 为了满足在主MCU上存储宏配置文件的要求,我将为PC保留一个特殊的十六进制代码,以向继电器软件发送信号,将配置数据存储在EEPROM中