16 #ifndef osxHIDPointingDevice_h
17 #define osxHIDPointingDevice_h
19 #include <pointing/input/osx/osxHIDInputDevice.h>
20 #include <pointing/input/PointingDevice.h>
21 #include <pointing/utils/URI.h>
22 #include <pointing/utils/TimeStamp.h>
28 struct PointingReport {
29 TimeStamp::inttime t ;
33 PointingReport(
void) ;
34 PointingReport& operator = (PointingReport& src) ;
36 bool isOlderThan(TimeStamp::inttime t)
const ;
38 bool setButton(uint32_t index, uint32_t value) ;
39 std::string toString(
void)
const ;
42 TimeStamp::inttime epoch_mach ;
43 TimeStamp::inttime epoch ;
45 int vendorID, productID ;
46 int primaryUsagePage, primaryUsage ;
48 osxHIDInputDevice *hiddev ;
50 void *callback_context ;
51 bool use_report_callback ;
52 bool use_queue_callback ;
53 PointingReport qreport ;
55 double forced_cpi, forced_hz ;
58 bool isBluetooth(
void) ;
60 static void hidReportCallback(
void *context, IOReturn result,
void *sender,
61 IOHIDReportType type, uint32_t reportID,
62 uint8_t *report, CFIndex reportLength) ;
64 static void hidQueueCallback(
void *context, IOReturn result,
void *sender) ;
66 void report(osxHIDPointingDevice::PointingReport &r) ;
81 URI
getURI(
bool expanded=
false,
bool crossplatform=
false)
const ;
std::string getProduct(void) const
Readable product name.
Definition: osxHIDPointingDevice.cpp:165
bool isActive(void) const
Indicates whether the current device is active.
Definition: osxHIDPointingDevice.cpp:83
void setPointingCallback(PointingCallback callback, void *context=0)
Sets the callback function which is called when device events occur.
Definition: osxHIDPointingDevice.cpp:210
URI getURI(bool expanded=false, bool crossplatform=false) const
Constructs the URI according to the parameters of the device.
Definition: osxHIDPointingDevice.cpp:88
double getUpdateFrequency(double *defval=0) const
Update frequency of the mouse in Hz.
Definition: osxHIDPointingDevice.cpp:187
int getProductID(void) const
Product identifier number.
Definition: osxHIDPointingDevice.cpp:158
std::string getVendor(void) const
Readable vendor name.
Definition: osxHIDPointingDevice.cpp:151
double getResolution(double *defval=0) const
Resolution of the mouse in CPI (counts per inch).
Definition: osxHIDPointingDevice.cpp:174
Definition: DummyPointingDevice.cpp:23
The PointingDevice class is used to represent Pointing Devices connected to the computer or pseudo-de...
Definition: PointingDevice.h:35
int getVendorID(void) const
Vendor identifier number.
Definition: osxHIDPointingDevice.cpp:144
void setDebugLevel(int level)
Sets the level of information for debugging purposes (default = 0).
Definition: osxHIDPointingDevice.cpp:205
void(* PointingCallback)(void *context, TimeStamp::inttime timestamp, int dx, int dy, int buttons)
Definition: PointingDevice.h:76
Definition: osxHIDPointingDevice.h:26