X-Git-Url: https://git.yukkurigames.com/?p=enjoyable.git;a=blobdiff_plain;f=Joystick.m;h=c86a3637a19a6460df653108bf0d835664056834;hp=7870ce0589ec6e6a44f0d54790726eb0bf664d0b;hb=2fb801b58b29997f54443d9879d2e20ae8b169ad;hpb=cc2c6ed12ca38c56a4263d95af75692d6cf716a5 diff --git a/Joystick.m b/Joystick.m index 7870ce0..c86a363 100644 --- a/Joystick.m +++ b/Joystick.m @@ -18,6 +18,7 @@ static NSArray *ActionsForElement(IOHIDDeviceRef device, id base) { int buttons = 0; int axes = 0; + int hats = 0; for (int i = 0; i < CFArrayGetCount(elements); i++) { IOHIDElementRef element = (IOHIDElementRef)CFArrayGetValueAtIndex(elements, i); @@ -40,7 +41,7 @@ static NSArray *ActionsForElement(IOHIDDeviceRef device, id base) { idx:++buttons max:max]; } else if (usage == kHIDUsage_GD_Hatswitch) { - action = [[JSActionHat alloc] init]; + action = [[JSActionHat alloc] initWithIndex:++hats]; } else if (usage >= kHIDUsage_GD_X && usage <= kHIDUsage_GD_Rz) { // TODO(jfw): Scaling equation doesn't seem right if min != 0. action = [[JSActionAnalog alloc] initWithIndex:++axes