windows – 如何将来自两个游戏控制器的输入混合并匹配到一个“虚拟”控制器中?

想象如下:

>您使用的是Windows XP(即使下面显示的对话框是Vista屏幕截图).
>你有两个物理USB游戏控制器,我们称之为A和B.
>你有一个软件显然以传统的方式访问操纵杆,只识别并允许使用一个操纵杆.
>使用此软件时,您希望同时使用两个控制器,例如:

>使用A中的左拇指操纵杆和B中的右拇指操纵杆
>使用A中的按钮#1,#2和#6以及B中的按钮#2和#8

我想这个问题肯定已经出现在某个地方的硬核游戏中,并且可以使用一种“虚拟游戏控制器驱动程序”或其他软件.这将理想地显示为Windows中的游戏控制器,并允许如上所述的虚拟设置使用物理连接的控制器上可用的任何输入来创建复合虚拟控制器.

如果是这种情况,我很想知道从哪里弄到这一点.如果没有,欢迎任何关于试图实现这一目标的指示.我想我必须阅读DirectInput,然后除了我不存在的C技能之外的灰尘了吗?

像Runeborg回答的那样,如果我希望这种情况发生,现在看起来我可能不得不试图编写自己的“虚拟游戏控制器设备驱动程序”. 🙁

快速更新:have asked same question on smartgamer希望另一群人可能会想出现有答案.

最佳答案 如果你想让它对所有的Windows应用程序都是通用的,我想你必须编写自己的虚拟游戏控制器设备驱动程序.这
gamedev.net thread似乎有一些线索.看看
Johnny Chung Lee’s Wiimote magic
the Wiimote project可能也很有趣.Johnny Chung也链接到
Managed Library for Nintendo’s Wiimote.

Wii项目应该包含足够的信息,如果你挖一点让你去.除了可能通过拦截消息以某种方式插入应用程序和窗口之间的中间件之外,我无法想到任何其他方式.

点赞