IOHIDPointingDevice.h [plain text]
#ifndef _IOKIT_HID_IOHIDPOINTINGDEVICE_H
#define _IOKIT_HID_IOHIDPOINTINGDEVICE_H
#include "IOHIDDeviceShim.h"
#include "IOHIPointing.h"
class IOHIDPointingDevice : public IOHIDDeviceShim
{
OSDeclareDefaultStructors( IOHIDPointingDevice )
private:
bool _isScrollPresent;
UInt8 _numButtons;
UInt32 _resolution;
IOBufferMemoryDescriptor * _report;
IOHIPointing * _pointing;
protected:
virtual void free();
virtual bool handleStart( IOService * provider );
public:
static IOHIDPointingDevice * newPointingDeviceAndStart(IOService * owner, UInt8 numButtons = 8, UInt32 resolution = 100, bool scroll = false, UInt32 location = 0);
virtual bool initWithLocation( UInt32 location = 0 );
virtual IOReturn newReportDescriptor(
IOMemoryDescriptor ** descriptor ) const;
virtual OSString * newProductString() const;
virtual IOReturn getReport( IOMemoryDescriptor * report,
IOHIDReportType reportType,
IOOptionBits options );
virtual void postMouseEvent(UInt8 buttons, UInt16 x, UInt16 y, UInt8 wheel=0);
inline bool isScrollPresent() {return _isScrollPresent;}
};
#endif