X-Git-Url: https://git.friedersdorff.com/?a=blobdiff_plain;f=protocol%2Flufa%2Fdescriptor.h;h=44f20d5a26b36855d24f7cbd59cacb007cc69428;hb=232ab308e358e41f3253d66fa009c1ebca0951a2;hp=19bce999f225964c9142850a17df37b7712c01b6;hpb=f2ebac101d367ee091f54b8d43b39a4d74f3b90e;p=max%2Ftmk_keyboard.git diff --git a/protocol/lufa/descriptor.h b/protocol/lufa/descriptor.h index 19bce999..44f20d5a 100644 --- a/protocol/lufa/descriptor.h +++ b/protocol/lufa/descriptor.h @@ -1,3 +1,10 @@ +/* + * Copyright 2012 Jun Wako + * This file is based on: + * LUFA-120219/Demos/Device/Lowlevel/KeyboardMouse + * LUFA-120219/Demos/Device/Lowlevel/GenericHID + */ + /* LUFA Library Copyright (C) Dean Camera, 2012. @@ -50,24 +57,26 @@ typedef struct USB_HID_Descriptor_HID_t Keyboard_HID; USB_Descriptor_Endpoint_t Keyboard_INEndpoint; - // Mouse HID Interface #ifdef MOUSE_ENABLE + // Mouse HID Interface USB_Descriptor_Interface_t Mouse_Interface; USB_HID_Descriptor_HID_t Mouse_HID; USB_Descriptor_Endpoint_t Mouse_INEndpoint; #endif +#ifdef EXTRAKEY_ENABLE + // Extrakey HID Interface + USB_Descriptor_Interface_t Extrakey_Interface; + USB_HID_Descriptor_HID_t Extrakey_HID; + USB_Descriptor_Endpoint_t Extrakey_INEndpoint; +#endif + +#ifdef CONSOLE_ENABLE // Console HID Interface USB_Descriptor_Interface_t Console_Interface; USB_HID_Descriptor_HID_t Console_HID; USB_Descriptor_Endpoint_t Console_INEndpoint; USB_Descriptor_Endpoint_t Console_OUTEndpoint; - - // Extra HID Interface -#ifdef EXTRAKEY_ENABLE - USB_Descriptor_Interface_t Extra_Interface; - USB_HID_Descriptor_HID_t Extra_HID; - USB_Descriptor_Endpoint_t Extra_INEndpoint; #endif } USB_Descriptor_Configuration_t; @@ -82,12 +91,16 @@ typedef struct #endif #ifdef EXTRAKEY_ENABLE -# define EXTRA_INTERFACE (MOUSE_INTERFACE + 1) +# define EXTRAKEY_INTERFACE (MOUSE_INTERFACE + 1) #else -# define EXTRA_INTERFACE MOUSE_INTERFACE +# define EXTRAKEY_INTERFACE MOUSE_INTERFACE #endif -#define CONSOLE_INTERFACE (EXTRA_INTERFACE + 1) +#ifdef CONSOLE_ENABLE +# define CONSOLE_INTERFACE (EXTRAKEY_INTERFACE + 1) +#else +# define CONSOLE_INTERFACE EXTRAKEY_INTERFACE +#endif /* nubmer of interfaces */ @@ -96,15 +109,29 @@ typedef struct // Endopoint number and size #define KEYBOARD_IN_EPNUM 1 -#define MOUSE_IN_EPNUM 2 -#define CONSOLE_IN_EPNUM 3 -#define CONSOLE_OUT_EPNUM 4 -#define EXTRA_IN_EPNUM 5 + +#ifdef MOUSE_ENABLE +# define MOUSE_IN_EPNUM (KEYBOARD_IN_EPNUM + 1) +#else +# define MOUSE_IN_EPNUM KEYBOARD_IN_EPNUM +#endif + +#ifdef EXTRAKEY_ENABLE +# define EXTRAKEY_IN_EPNUM (MOUSE_IN_EPNUM + 1) +#else +# define EXTRAKEY_IN_EPNUM MOUSE_IN_EPNUM +#endif + +#ifdef CONSOLE_ENABLE +# define CONSOLE_IN_EPNUM (EXTRAKEY_IN_EPNUM + 1) +# define CONSOLE_OUT_EPNUM (EXTRAKEY_IN_EPNUM + 2) +#endif + #define KEYBOARD_EPSIZE 8 #define MOUSE_EPSIZE 8 -#define CONSOLE_EPSIZE 8 -#define EXTRA_EPSIZE 8 +#define EXTRAKEY_EPSIZE 8 +#define CONSOLE_EPSIZE 32 uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,