// Endopoint number and size
-#define CUR_EPNUM 1
-#define KEYBOARD_IN_EPNUM CUR_EPNUM
+#define KEYBOARD_IN_EPNUM 1
#ifdef MOUSE_ENABLE
-# define CUR_EPNUM (CUR_EPNUM + 1)
-# define MOUSE_IN_EPNUM CUR_EPNUM
+# define MOUSE_IN_EPNUM (KEYBOARD_IN_EPNUM + 1)
+#else
+# define MOUSE_IN_EPNUM KEYBOARD_IN_EPNUM
#endif
#ifdef EXTRAKEY_ENABLE
-# define CUR_EPNUM (CUR_EPNUM + 1)
-# define EXTRAKEY_IN_EPNUM CUR_EPNUM
+# define EXTRAKEY_IN_EPNUM (MOUSE_IN_EPNUM + 1)
+#else
+# define EXTRAKEY_IN_EPNUM MOUSE_IN_EPNUM
#endif
#ifdef CONSOLE_ENABLE
-# define CUR_EPNUM (CUR_EPNUM + 1)
-# define CONSOLE_IN_EPNUM CUR_EPNUM
-# define CONSOLE_OUT_EPNUM CUR_EPNUM
+# define CONSOLE_IN_EPNUM (EXTRAKEY_IN_EPNUM + 1)
+# define CONSOLE_OUT_EPNUM (EXTRAKEY_IN_EPNUM + 1)
+#else
+# define CONSOLE_OUT_EPNUM EXTRAKEY_IN_EPNUM
#endif
#ifdef NKRO_ENABLE
-# define CUR_EPNUM (CUR_EPNUM + 1)
-# define NKRO_IN_EPNUM CUR_EPNUM
+# define NKRO_IN_EPNUM (CONSOLE_OUT_EPNUM + 1)
+#else
+# define NKRO_IN_EPNUM CONSOLE_OUT_EPNUM
#endif
/* Check number of endpoints. ATmega32u2 has only four except for control endpoint. */
-#if defined(__AVR_ATmega32U2__) && CUR_EPNUM > 4
+#if defined(__AVR_ATmega32U2__) && NKRO_IN_EPNUM > 4
# error "Endpoints are not available enough to support all functions. Disable some of build options in Makefile.(MOUSEKEY, EXTRAKEY, CONSOLE, NKRO)"
#endif
uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,
- const uint8_t wIndex,
+ const uint16_t wIndex,
const void** const DescriptorAddress)
ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3);
-
-/* new API */
-#if LUFA_VERSION_INTEGER < 0x140302
- #undef VERSION_BCD
- #define VERSION_BCD(Major, Minor, Revision) \
- CPU_TO_LE16( ((Major & 0xFF) << 8) | \
- ((Minor & 0x0F) << 4) | \
- (Revision & 0x0F) )
-#endif
-
#endif