14

我正在寻找为我拥有的游戏控制器(钴通量 www.cobaltflux.com )创建驱动程序。物理控制器本身有九个面部按钮和两个控制框按钮(开始/选择)。控制盒有一个 USB 端口,但据我所知,以前没有人为它编写过驱动程序。我想要的最终结果是能够通过 USB 端口插入钴通量并让 Windows 将其识别为游戏控制器。

我有一些编程经验。我是加州大学戴维斯分校计算机科学专业的高年级本科生,也是一家大型嵌入式系统公司的实习生,但是这个项目涉及我没有经验的几个方面:通过 USB 端口连接硬件和软件,调查来自硬件的反馈我没有't build(当我按下按钮时哪些位会亮起?),并为 Windows 创建驱动程序和程序。

由于我个人不知道任何人能够让我走上正确的工作流程来解决这个问题,我在这里问。我想这种方法是这样的:

我通过 USB 连接设备

我打开一个程序来调查按下按钮对 USB 通道的影响

我编写了一个程序,将这些信号从 USB 端口连接到 windows 具有的游戏控制器驱动程序

可能值得注意的是,我需要对按钮有joyPAD 支持而不是joySTICK 支持,因为播放将涉及一次按下任意数量的按钮,并且操纵杆通常在任何给定时间只记录一个输入方向。

任何建议或帮助将不胜感激。我无法弄清楚从哪里开始。

4

1 回答 1

6

一年多以来我一直遇到同样的问题,但我还没有找到正确的解决方案。

当您通过 USB 插入打击垫时,它会通过设备 ID 和供应商 ID 宣布它是哪个设备。Windows 即插即用开始搜索驱动程序。这个机制发现它是一个指针设备(在我的例子中是一个或两个鼠标),并确保它被视为一个原始数据输入设备。来自这些设备的输入被转换为操作系统处理的消息。解决方案似乎是将这种原始输入设备的消息传递给正确的处理程序。在我的情况下,两只鼠标都被识别为鼠标,并且消息由同一个处理程序使用,这些消息来自第三个鼠标,它实际上是我的指针设备。我在 C++ 编码方面经验不足,无法深入研究 rawinput API。我刚刚收到一个有趣的链接作为我的问题的答案:http: //www.icculus.org/manymouse/至少这可以回答我的问题。也许它会给你编写驱动程序的想法!祝你好运 !!!斯特凡

于 2013-08-19T17:30:23.750 回答