首页 > 解决方案 > 通过 Arduino 直通用于 USB 的 Diy 可编程宏

问题描述

我有一个允许编程宏的罗技鼠标,但它缺少一些我所追求的功能。我正在寻找的功能:

以下是我迄今为止在研究中发现的替代方案:

1) Windows的“AutoHotKey”和 Linux的“AutoKey”。这里的问题是我找不到确凿的证据表明它可以在我的 PC 上的所有游戏中运行,同时不会触发像“VAC”和“Easy Anti-Cheat”这样的反作弊引擎的禁令。人们使用“AutoHotKey”制作机器人脚本,当他们的光标经过敌人时触发,因此它可能会被反作弊引擎彻底禁止。

2) 添加对“GIMX”软件堆栈的键盘和鼠标的支持。'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 库:

编辑0:

标签: arduinokeyboardmousehid

解决方案


推荐阅读