#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;
}
[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)
return;
[controller expandRecursive:handler];
- controller->programmaticallySelecting = YES;
[controller->outlineView selectRowIndexes:[NSIndexSet indexSetWithIndex:[controller->outlineView rowForItem:handler]] byExtendingSelection: NO];
+ [controller->targetController focusKey];
}
}
static int findAvailableIndex(NSArray *list, Joystick *js) {
- for (int index = 0; ; index++) {
+ for (int index = 1; ; index++) {
BOOL available = YES;
for (Joystick *used in list) {
if ([used.productName isEqualToString:js.productName] && used.index == index) {
- (void)outlineViewSelectionDidChange: (NSNotification*) notification {
[targetController reset];
[targetController load];
- if (programmaticallySelecting)
- [targetController focusKey];
- programmaticallySelecting = NO;
}
@end