diff --git a/macosx/mac-joypad.mm b/macosx/mac-joypad.mm index 67b78838..35a0388e 100755 --- a/macosx/mac-joypad.mm +++ b/macosx/mac-joypad.mm @@ -700,14 +700,15 @@ std::unordered_map GetJuypadButtons(uint32 ve void SetUpHID (void) { hidManager = IOHIDManagerCreate(kCFAllocatorDefault, kIOHIDOptionsTypeNone); - IOHIDManagerRegisterInputValueCallback(hidManager, gamepadAction, NULL); - IOHIDManagerScheduleWithRunLoop(hidManager, CFRunLoopGetMain(), kCFRunLoopDefaultMode); - IOHIDManagerSetDeviceMatching(hidManager, NULL); - - ParseDefaults(); if (hidManager != NULL && IOHIDManagerOpen(hidManager, kIOHIDOptionsTypeNone) == kIOReturnSuccess) { + IOHIDManagerRegisterInputValueCallback(hidManager, gamepadAction, NULL); + IOHIDManagerScheduleWithRunLoop(hidManager, CFRunLoopGetMain(), kCFRunLoopDefaultMode); + IOHIDManagerSetDeviceMatching(hidManager, NULL); + + ParseDefaults(); + NSSet* devices = (NSSet *)CFBridgingRelease(IOHIDManagerCopyDevices(hidManager)); NSMutableArray *orderedDevices = [devices.allObjects mutableCopy]; @@ -763,6 +764,7 @@ void SetUpHID (void) } else { + printf("Unable to open IOHIDManager\n"); hidManager = NULL; } }