2

所以我在玩 IOKit 并从我的 PS3 控制器获取输入。它可以工作,我可以读取每个按钮和两个摇杆的状态。有点。我只能从触发器和 dpad 中得到一个 0 或 1 的整数值。当我在http://html5gamepad.com/上测试控制器时,我看到两者都有一个 0-1 的浮点值。有人知道如何获得模拟值吗?

我的输入值回调如下所示:

inputCallback(void * context, IOReturn result, void * sender, IOHIDValueRef valueRef)
{
    if (IOHIDValueGetLength(valueRef) > 2) {
        return;
    }

    IOHIDElementRef element = IOHIDValueGetElement(valueRef);

    if (CFGetTypeID(element) != IOHIDElementGetTypeID()) {
        return;
    }

    int usagePage = IOHIDElementGetUsagePage(element);
    int usage = IOHIDElementGetUsage(element);
    CFIndex value = IOHIDValueGetIntegerValue(valueRef);

    switch (usagePage)
    ...

我在 OS X 10.10 上。

谢谢

4

0 回答 0