X-Git-Url: https://git.yukkurigames.com/?p=enjoyable.git;a=blobdiff_plain;f=JoystickController.m;h=0675075f158545ed1fba58d7e7cd7b2e95cc964e;hp=317e9a51c9b09ae0680c9cf42b9565ee9c8fd447;hb=08c920c47d68423c16a6deba2a59488772066f6b;hpb=3f6df7a954fb74bcebf6fc6c0e60821843b0f31b diff --git a/JoystickController.m b/JoystickController.m index 317e9a5..0675075 100644 --- a/JoystickController.m +++ b/JoystickController.m @@ -7,9 +7,16 @@ #import "JoystickController.h" +#import "ApplicationController.h" +#import "Config.h" +#import "ConfigsController.h" +#import "Joystick.h" +#import "JSAction.h" +#import "Target.h" +#import "TargetController.h" + @implementation JoystickController { IOHIDManagerRef hidManager; - BOOL programmaticallySelecting; NSTimer *continuousTimer; } @@ -62,7 +69,7 @@ static void input_callback(void *ctx, IOReturn inResult, void *inSender, IOHIDVa [mainAction notifyEvent:value]; NSArray *children = mainAction.children ? mainAction.children : mainAction ? @[mainAction] : @[]; for (JSAction *subaction in children) { - Target *target = [controller.currentConfig getTargetForAction:subaction]; + Target *target = controller.currentConfig[subaction]; target.magnitude = mainAction.magnitude; target.running = subaction.active; if (target.running && target.isContinuous) @@ -76,8 +83,8 @@ static void input_callback(void *ctx, IOReturn inResult, void *inSender, IOHIDVa return; [controller expandRecursive:handler]; - controller->programmaticallySelecting = YES; [controller->outlineView selectRowIndexes:[NSIndexSet indexSetWithIndex:[controller->outlineView rowForItem:handler]] byExtendingSelection: NO]; + [controller->targetController focusKey]; } } @@ -184,9 +191,6 @@ static void remove_callback(void *ctx, IOReturn inResult, void *inSender, IOHIDD - (void)outlineViewSelectionDidChange: (NSNotification*) notification { [targetController reset]; [targetController load]; - if (programmaticallySelecting) - [targetController focusKey]; - programmaticallySelecting = NO; } @end