#import "NJInputPathElement.h"
-@interface NJInput : NSObject <NJInputPathElement>
+@interface NJInput : NJInputPathElement
-@property (nonatomic, assign) IOHIDElementCookie cookie;
-@property (nonatomic, copy) NSArray *children;
-@property (nonatomic, weak) id base;
-@property (nonatomic, copy) NSString *name;
+#define NJINPUT_EID(name, index) [[NSString alloc] initWithFormat:@"%s %d", name, index]
+#define NJINPUT_NAME(name, index) [[NSString alloc] initWithFormat:name, index]
+
+- (id)initWithName:(NSString *)name
+ eid:(NSString *)eid
+ element:(IOHIDElementRef)element
+ parent:(NJInputPathElement *)parent;
+
+@property (nonatomic, readonly) IOHIDElementCookie cookie;
@property (nonatomic, assign) BOOL active;
@property (nonatomic, assign) float magnitude;
-@property (readonly) NSString *uid;
-
-- (id)initWithName:(NSString *)newName base:(id <NJInputPathElement>)newBase;
- (void)notifyEvent:(IOHIDValueRef)value;
- (id)findSubInputForValue:(IOHIDValueRef)value;