为通过USB连接的某些硬件编写游戏控制器驱动程序

我期待为游戏控制器创build一个驱动程序(钴stream量www.cobaltflux.com)。 物理控制器本身有九个面部button和两个控制盒button(开始/select)。 控制箱有一个USB端口,但据我所知,从来没有人曾经为它写驱动程序。 我想要的最终结果是能够通过USB端口插入钴stream量,并让Windows将其识别为游戏控制器。

我有一些编程经验。 我是加州大学戴维斯分校计算机科学的高级本科学生,也是大型embedded式系统公司的实习生,但是这个项目涉及到几个方面,我没有经验:通过USB端口连接硬件和软件,调查硬件反馈(我按下button时点亮了哪些位?),并创build驱动程序和一般的Windows程序。

由于我个人不了解任何能够让我在正确的轨道上解决这个问题的工作stream程,所以我在这里问。 我想象的方法是这样的:

我通过USB连接设备

我打开一个程序来查询USB通道上推button的效果

我写了一个程序,将来自USB端口的信号连接到Windows所拥有的游戏控制器驱动程序

值得注意的是,我需要有joyPAD支持,而不是joySTICK支持button,因为游戏将涉及一次按下任意数量的button,并且游戏杆通常只在任何给定时间注册一个方向的input。

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

    我在一年多的时间里遇到了同样的问题,但是我还没有找到合适的解决方案。

    当您通过USB插入打击垫时,会通过设备ID和供应商ID进行通知。 Windows即插即用开始搜索驱动程序。 这个机制指出它是一个指针设备(在我的情况下是一个或两个鼠标),并确保它被视为原始数据输入设备。 来自这些设备的输入被转换成由OS处理的消息。 解决方案似乎是将这种原始输入设备的消息传递给正确的处理程序。 在我的情况下,两只老鼠都被认为是老鼠,这些消息被同样的处理程序使用,而第三只鼠标是我的指针设备。 为了挖掘rawinput API,我在C ++编码方面经验不足。 我刚刚收到一个有趣的链接作为我的问题的答案: http : //www.icculus.org/manymouse/至少这给了我的问题的答案。 可能会给你写你的驱动程序的想法! 祝你好运 !!! 斯特凡