X-Git-Url: https://git.yukkurigames.com/?p=enjoyable.git;a=blobdiff_plain;f=Classes%2FNJDevice.m;h=c6cc201a119b27bd672437038d4d15ec20d85a74;hp=e4c6b3d27c0f735376eeb60f8cb87c332ca86c89;hb=HEAD;hpb=561fa1774ce33b5a4a8112ba5802cc33a2ca819d diff --git a/Classes/NJDevice.m b/Classes/NJDevice.m index e4c6b3d..c6cc201 100644 --- a/Classes/NJDevice.m +++ b/Classes/NJDevice.m @@ -66,22 +66,28 @@ static NSArray *InputsForElement(IOHIDDeviceRef device, id parent) { } - (id)initWithDevice:(IOHIDDeviceRef)dev { - if ((self = [super initWithName:nil eid:nil parent:nil])) { + NSString *name = (__bridge NSString *)IOHIDDeviceGetProperty(dev, CFSTR(kIOHIDProductKey)); + if ((self = [super initWithName:name eid:nil parent:nil])) { self.device = dev; - self.productName = (__bridge NSString *)IOHIDDeviceGetProperty(dev, CFSTR(kIOHIDProductKey)); _vendorId = [(__bridge NSNumber *)IOHIDDeviceGetProperty(dev, CFSTR(kIOHIDVendorIDKey)) intValue]; _productId = [(__bridge NSNumber *)IOHIDDeviceGetProperty(dev, CFSTR(kIOHIDProductIDKey)) intValue]; self.children = InputsForElement(dev, self); + self.index = 1; } return self; } +- (BOOL)isEqual:(id)object { + return [object isKindOfClass:NJDevice.class] + && [[(NJDevice *)object name] isEqualToString:self.name]; +} + - (NSString *)name { - return [NSString stringWithFormat:@"%@ #%d", _productName, _index]; + return [NSString stringWithFormat:@"%@ #%d", super.name, _index]; } - (NSString *)uid { - return [NSString stringWithFormat: @"%d:%d:%d", _vendorId, _productId, _index]; + return [NSString stringWithFormat:@"%d:%d:%d", _vendorId, _productId, _index]; } - (NJInput *)findInputByCookie:(IOHIDElementCookie)cookie {