IOHIDKeyboardDevice.h [plain text]
#ifndef _IOKIT_HID_IOHIDKEYBOARDDEVICE_H
#define _IOKIT_HID_IOHIDKEYBOARDDEVICE_H
#include "IOHIDDeviceShim.h"
#include "IOHIKeyboard.h"
class IOHIDKeyboardDevice : public IOHIDDeviceShim
{
OSDeclareDefaultStructors( IOHIDKeyboardDevice )
private:
IOBufferMemoryDescriptor * _report;
IOHIKeyboard * _provider;
UInt8 _cachedLEDState;
UInt8 _adb2usb[0x80];
bool _pmuControlledLED;
protected:
virtual void free();
virtual bool handleStart( IOService * provider );
public:
static IOHIDKeyboardDevice * newKeyboardDevice(IOService * owner);
virtual bool init( OSDictionary * dictionary = 0 );
virtual IOReturn newReportDescriptor(
IOMemoryDescriptor ** descriptor ) const;
virtual IOReturn getReport( IOMemoryDescriptor * report,
IOHIDReportType reportType,
IOOptionBits options );
virtual IOReturn setReport( IOMemoryDescriptor * report,
IOHIDReportType reportType,
IOOptionBits options );
virtual void postKeyboardEvent(UInt8 key, bool keyDown);
virtual void setCapsLockLEDElement(bool state);
virtual void setNumLockLEDElement(bool state);
};
#endif