2 // NJDeviceController.h
5 // Created by Sam McCall on 4/05/09.
6 // Copyright 2009 University of Otago. All rights reserved.
9 #import "NJHIDManager.h"
13 @
class NJInputPathElement
;
16 @protocol NJInputControllerDelegate
;
18 @interface NJInputController
: NSObject
<NJHIDManagerDelegate
>
20 @
property (nonatomic
, weak
) IBOutlet id
<NJInputControllerDelegate
> delegate
;
22 @
property (nonatomic
, assign
) NSPoint mouseLoc
;
23 @
property (nonatomic
, assign
) BOOL simulatingEvents
;
24 @
property (nonatomic
, readonly
) NSArray
*devices
;
26 @
property (nonatomic
, readonly
) NJMapping
*currentMapping
;
27 @
property (nonatomic
, readonly
) NSArray
*mappings
;
29 - (NJMapping
*)mappingForKey
:(NSString
*)name
;
30 - (NSInteger
)indexOfMapping
:(NJMapping
*)mapping
;
32 - (void)addMapping
:(NJMapping
*)mapping
;
33 - (void)insertMapping
:(NJMapping
*)mapping atIndex
:(NSInteger
)idx
;
34 - (void)removeMappingAtIndex
:(NSInteger
)idx
;
35 - (void)mergeMapping
:(NJMapping
*)mapping intoMapping
:(NJMapping
*)existing
;
36 - (void)moveMoveMappingFromIndex
:(NSInteger
)fromIdx toIndex
:(NSInteger
)toIdx
;
37 - (void)renameMapping
:(NJMapping
*)mapping to
:(NSString
*)name
;
39 - (void)activateMapping
:(NJMapping
*)mapping
;
40 - (void)activateMappingForProcess
:(NSRunningApplication
*)app
;
45 - (NJInputPathElement
*)elementForUID
:(NSString
*)uid
;
49 @protocol NJInputControllerDelegate
51 - (void)deviceController
:(NJInputController
*)dc didAddDevice
:(NJDevice
*)device
;
52 - (void)deviceController
:(NJInputController
*)dc didRemoveDeviceAtIndex
:(NSInteger
)idx
;
53 - (void)deviceController
:(NJInputController
*)dc didInput
:(NJInput
*)input
;
54 - (void)deviceControllerDidStartHID
:(NJInputController
*)dc
;
55 - (void)deviceControllerDidStopHID
:(NJInputController
*)dc
;
56 - (void)deviceController
:(NJInputController
*)dc didError
:(NSError
*)error
;