问题 我正在开发一个自定义硬件控制器,我想在用 Java 处理它之后将它的输入映射到一个虚拟 XInput 控制器。基本上出于所有意图和目的,我想直接从 java 控制 XInput 控制器。
我想到的解决方案
- 编写设备驱动程序,这似乎是我很乐意避免的真正痛苦。我以前从未编写过设备驱动程序,也不知道如何注册 XInput 控制器。这似乎需要很长时间才能完成,我没有也不想花时间。
- 使用 PPJoy 和这个库。我想避免这种情况,因为 PPJoy 已经过时了(自我能找到的上次更新以来已超过 10 年),并且需要一个额外的层来将 DirectInput 转换为 XInput。该库也拒绝为我编译。
- 为VJoy开发一个包装器。然而,这需要从 DirectInput 重新映射到 XInput。我不熟悉 C/C++ 包装,但到目前为止这似乎是最好的选择。
有谁知道如何解决这个问题?我曾考虑跳过 XInput 并使用机器人 (AWT) 使用键盘/鼠标来完成,但游戏拒绝接收软件输入,很可能它们只读取硬件数据。模拟键盘/鼠标会很好,但不是最佳的,因为它会很尴尬,但是我无法找到一种方法来以游戏识别的方式来做到这一点。所有帮助表示赞赏!