|
|
1.1 root 1: #ifndef _IOHITABLET_H
2: #define _IOHITABLET_H
3:
4: #include <IOKit/hidsystem/IOHIPointing.h>
5: #include <IOKit/hidsystem/IOLLEvent.h>
6:
7: class IOHITabletPointer;
8:
9: #define kIOHIVendorID "VendorID"
10: #define kIOHISystemTabletID "SystemTabletID"
11: #define kIOHIVendorTabletID "VendorTabletID"
12:
13: typedef void (*TabletEventAction)(OSObject *target,
14: NXEventData *tabletData, // Do we want to parameterize this?
15: AbsoluteTime ts);
16:
17: typedef void (*ProximityEventAction)(OSObject *target,
18: NXEventData *proximityData, // or this?
19: AbsoluteTime ts);
20:
21: class IOHITablet : public IOHIPointing
22: {
23: OSDeclareDefaultStructors(IOHITablet);
24:
25: public:
26: UInt16 _systemTabletID;
27:
28: private:
29: OSObject * _tabletEventTarget;
30: TabletEventAction _tabletEventAction;
31: OSObject * _proximityEventTarget;
32: ProximityEventAction _proximityEventAction;
33:
34: protected:
35: virtual void dispatchTabletEvent(NXEventData *tabletEvent,
36: AbsoluteTime ts);
37:
38: virtual void dispatchProximityEvent(NXEventData *proximityEvent,
39: AbsoluteTime ts);
40:
41: virtual bool startTabletPointer(IOHITabletPointer *pointer, OSDictionary *properties);
42:
43: public:
44: static UInt16 generateTabletID();
45:
46: virtual bool init(OSDictionary * propTable);
47: virtual bool open(IOService * client,
48: IOOptionBits options,
49: RelativePointerEventAction rpeAction,
50: AbsolutePointerEventAction apeAction,
51: ScrollWheelEventAction sweAction,
52: TabletEventAction tabletAction,
53: ProximityEventAction proximityAction);
54:
55: };
56:
57: #endif /* !_IOHITABLET_H */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.