/*
LUFA Library
Copyright (C) Dean Camera, 2010.
-
+
dean [at] fourwalledcubicle [dot] com
- www.fourwalledcubicle.com
+ www.lufa-lib.org
*/
/*
Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
- Permission to use, copy, modify, distribute, and sell this
+ Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
- without fee, provided that the above copyright notice appear in
+ without fee, provided that the above copyright notice appear in
all copies and that both that the copyright notice and this
- permission notice and warranty disclaimer appear in supporting
- documentation, and that the name of the author not be used in
- advertising or publicity pertaining to distribution of the
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
The author disclaim all warranties with regard to this
/* Includes: */
#include <LUFA/Drivers/USB/USB.h>
-
- #include "HIDReport.h"
-
- /* Macros: */
- /** Interface Class value for the Human Interface Device class */
- #define KEYBOARD_CLASS 0x03
- /** Interface Protocol value for a Boot Protocol Keyboard compliant device */
- #define KEYBOARD_PROTOCOL 0x01
+ #include "HIDReport.h"
- /** Descriptor header type constant for a HID descriptor */
- #define DTYPE_HID 0x21
+ /* Macros: */
+ /** Pipe number for the keyboard report data pipe. */
+ #define KEYBOARD_DATA_IN_PIPE 1
- /** Descriptor header type constant for a HID report descriptor */
- #define DTYPE_Report 0x22
-
/* Enums: */
- /** Enum for the possible return codes of the ProcessConfigurationDescriptor() function. */
+ /** Enum for the possible return codes of the \ref ProcessConfigurationDescriptor() function. */
enum KeyboardHostWithParser_GetConfigDescriptorDataCodes_t
{
SuccessfulConfigRead = 0, /**< Configuration Descriptor was processed successfully */
ControlError = 1, /**< A control request to the device failed to complete successfully */
DescriptorTooLarge = 2, /**< The device's Configuration Descriptor is too large to process */
InvalidConfigDataReturned = 3, /**< The device returned an invalid Configuration Descriptor */
- NoHIDInterfaceFound = 4, /**< A compatible HID interface was not found in the device's Configuration Descriptor */
- NoHIDDescriptorFound = 5, /**< A compatible HID descriptor was not found in the device's HID interface */
- NoEndpointFound = 5, /**< A compatible HID IN endpoint was not found in the device's HID interface */
+ NoCompatibleInterfaceFound = 4, /**< A compatible interface with the required endpoints was not found */
};
/* Function Prototypes: */
uint8_t DComp_NextKeyboardInterface(void* CurrentDescriptor);
uint8_t DComp_NextKeyboardInterfaceDataEndpoint(void* CurrentDescriptor);
uint8_t DComp_NextHID(void* CurrentDescriptor);
-
+
#endif
+