X-Git-Url: https://git.yukkurigames.com/?p=enjoyable.git;a=blobdiff_plain;f=JoystickController.m;h=6b748df7a33eaae1322268b63f4bbd59951e03df;hp=15512956eb64ef04eeeb26eba2ce878be1a95e29;hb=51ca12b552a9c17c4d4029b0340e193b273044a8;hpb=fc6d0fdabe55f8ae0c417f7c4be745d51a47e0bd diff --git a/JoystickController.m b/JoystickController.m index 1551295..6b748df 100644 --- a/JoystickController.m +++ b/JoystickController.m @@ -23,7 +23,7 @@ -(void) finalize { for(int i=0; i<[joysticks count]; i++) { - [[joysticks objectAtIndex:i] invalidate]; + [joysticks[i] invalidate]; } IOHIDManagerClose(hidManager, kIOHIDOptionsTypeNone); CFRelease(hidManager); @@ -33,8 +33,8 @@ static NSMutableDictionary* create_criterion( UInt32 inUsagePage, UInt32 inUsage ) { NSMutableDictionary* dict = [[NSMutableDictionary alloc] init]; - [dict setObject: [NSNumber numberWithInt: inUsagePage] forKey: (NSString*)CFSTR(kIOHIDDeviceUsagePageKey)]; - [dict setObject: [NSNumber numberWithInt: inUsage] forKey: (NSString*)CFSTR(kIOHIDDeviceUsageKey)]; + dict[(NSString*)CFSTR(kIOHIDDeviceUsagePageKey)] = [NSNumber numberWithInt: inUsagePage]; + dict[(NSString*)CFSTR(kIOHIDDeviceUsageKey)] = [NSNumber numberWithInt: inUsage]; return dict; } @@ -65,7 +65,7 @@ void input_callback(void* inContext, IOReturn inResult, void* inSender, IOHIDVal IOHIDDeviceRef device = IOHIDQueueGetDevice((IOHIDQueueRef) inSender); Joystick* js = [self findJoystickByRef: device]; - if([[[NSApplication sharedApplication] delegate] active]) { + if([(ApplicationController *)[[NSApplication sharedApplication] delegate] active]) { // for reals JSAction* mainAction = [js actionForEvent: value]; if(!mainAction) @@ -74,7 +74,7 @@ void input_callback(void* inContext, IOReturn inResult, void* inSender, IOHIDVal [mainAction notifyEvent: value]; NSArray* subactions = [mainAction subActions]; if(!subactions) - subactions = [NSArray arrayWithObject:mainAction]; + subactions = @[mainAction]; for(id subaction in subactions) { Target* target = [[self->configsController currentConfig] getTargetForAction:subaction]; if(!target) @@ -121,7 +121,7 @@ int findAvailableIndex(id list, Joystick* js) { for(int index=0;;index++) { available = YES; for(int i=0; i<[list count]; i++) { - js2 = [list objectAtIndex: i]; + js2 = list[i]; if([js2 vendorId] == [js vendorId] && [js2 productId] == [js productId] && [js index] == index) { available = NO; break; @@ -169,12 +169,9 @@ void remove_callback(void* inContext, IOReturn inResult, void* inSender, IOHIDDe -(void) setup { hidManager = IOHIDManagerCreate( kCFAllocatorDefault, kIOHIDOptionsTypeNone); - NSArray *criteria = [NSArray arrayWithObjects: - create_criterion(kHIDPage_GenericDesktop, kHIDUsage_GD_Joystick), + NSArray *criteria = @[create_criterion(kHIDPage_GenericDesktop, kHIDUsage_GD_Joystick), create_criterion(kHIDPage_GenericDesktop, kHIDUsage_GD_GamePad), - create_criterion(kHIDPage_GenericDesktop, kHIDUsage_GD_MultiAxisController), - //create_criterion(kHIDPage_GenericDesktop, kHIDUsage_GD_Keyboard), - nil]; + create_criterion(kHIDPage_GenericDesktop, kHIDUsage_GD_MultiAxisController)]; IOHIDManagerSetDeviceMatchingMultiple(hidManager, (CFArrayRef)criteria); @@ -234,13 +231,13 @@ void remove_callback(void* inContext, IOReturn inResult, void* inSender, IOHIDDe - (id)outlineView:(NSOutlineView *)outlineView child:(int)index ofItem:(id)item { if(item == nil) - return [joysticks objectAtIndex: index]; + return joysticks[index]; if([item isKindOfClass: [Joystick class]]) - return [[item children] objectAtIndex: index]; + return [item children][index]; if([item isKindOfClass: [JSAction class]]) - return [[item subActions] objectAtIndex:index]; + return [item subActions][index]; return NULL; }