两个不同游戏控制器(joyGetPosEx)中相同按钮的不同位?

时间:2014-07-15 18:49:55

标签: winapi joystick winmm gamecontroller

我有两个不同的游戏控制器,我一直在使用joyGetPosEx(Windows API)从中获取信息。它们每个都有具有相同物理标签的按钮,但其中一些按钮具有不同的位值(按下按钮时由joyGetPosEx返回)。这令我感到惊讶,因为他们都宣称与PS3兼容。

例如,它们都有“形状”按钮 - 三角形,圆形,X形和正方形。但是在一个控制器(由“Snakebyte”制作)上,这些按钮根据joyGetPosEx具有以下位值:

Triangle = 1
Circle = 2
X = 4
Square = 8

在另一方面(由“摇滚糖果”制作),他们有:

Triangle = 8
Circle = 4
X = 2
Square = 1

另一个区别是4096是Snakebyte上的DPad Up和摇滚糖果上的Home,8192,16384和32768是Snakebyte上的其他DPad方向,而Rock Candy上没有任何内容。 Rock Candy的DPad按钮没有位值(虽然它们确实将POV设置为与Snakebyte相同),而Snakebyte的Home按钮没有位值。

从16到2048的所有其他位在两个控制器之间匹配。

那么,我怎么知道什么位对应任意控制器上的什么按钮?或者至少是任意“PS3兼容”控制器。我天真地想象,由于它们被认为是“PS3兼容”的事实,它们会遵循一些标准的位和按钮映射。

0 个答案:

没有答案