- (void)expandRecursive:(NJInputPathElement *)pathElement {
if (pathElement) {
- [self expandRecursive:pathElement.base];
+ [self expandRecursive:pathElement.parent];
[outlineView expandItem:pathElement];
}
}
[self expandRecursive:handler];
[outlineView selectRowIndexes:[NSIndexSet indexSetWithIndex:[outlineView rowForItem:handler]]
byExtendingSelection: NO];
- [outputController focusKey];
+ if (!self.simulatingEvents)
+ [outputController focusKey];
}
- (void)hidManager:(NJHIDManager *)manager
valueChanged:(IOHIDValueRef)value
fromDevice:(IOHIDDeviceRef)device {
- if (self.translatingEvents) {
+ if (self.simulatingEvents
+ && !NSApplication.sharedApplication.isActive) {
[self runOutputForDevice:device value:value];
} else {
[self showOutputForDevice:device value:value];
didPresentSelector:nil
contextInfo:nil];
}
- self.translatingEvents = NO;
+ self.simulatingEvents = NO;
if (manager.running)
[self hidManagerDidStart:manager];
else
- (NJInput *)selectedInput {
NJInputPathElement *item = [outlineView itemAtRow:outlineView.selectedRow];
- return (NJInput *)((!item.children && item.base) ? item : nil);
+ return (NJInput *)((!item.children && item.parent) ? item : nil);
}
- (NSInteger)outlineView:(NSOutlineView *)outlineView
forKey:@"expanded rows"];
}
-- (void)setTranslatingEvents:(BOOL)translatingEvents {
- if (translatingEvents != _translatingEvents) {
- _translatingEvents = translatingEvents;
- NSInteger state = translatingEvents ? NSOnState : NSOffState;
+- (void)setSimulatingEvents:(BOOL)simulatingEvents {
+ if (simulatingEvents != _simulatingEvents) {
+ _simulatingEvents = simulatingEvents;
+ NSInteger state = simulatingEvents ? NSOnState : NSOffState;
translatingEventsButton.state = state;
- NSString *name = translatingEvents
- ? NJEventTranslationActivated
- : NJEventTranslationDeactivated;
+ NSString *name = simulatingEvents
+ ? NJEventSimulationStarted
+ : NJEventSimulationStopped;
[NSNotificationCenter.defaultCenter postNotificationName:name
object:self];
- if (!translatingEvents && !NSApplication.sharedApplication.isActive)
+ if (!simulatingEvents && !NSApplication.sharedApplication.isActive)
[self stopHid];
else
[self startHid];
}
- (void)stopHidIfDisabled:(NSNotification *)application {
- if (!self.translatingEvents)
+ if (!self.simulatingEvents)
[self stopHid];
}
-- (IBAction)translatingEventsChanged:(NSButton *)sender {
- self.translatingEvents = sender.state == NSOnState;
+- (IBAction)simulatingEventsChanged:(NSButton *)sender {
+ self.simulatingEvents = sender.state == NSOnState;
}
@end