|
@@ -133,10 +133,19 @@ typedef struct
|
|
|
/* index of interface */
|
|
/* index of interface */
|
|
|
#define KEYBOARD_INTERFACE 0
|
|
#define KEYBOARD_INTERFACE 0
|
|
|
|
|
|
|
|
|
|
+// It is important that the Raw HID interface is at a constant
|
|
|
|
|
+// interface number, to support Linux/OSX platforms and chrome.hid
|
|
|
|
|
+// If Raw HID is enabled, let it be always 1.
|
|
|
|
|
+#ifdef RAW_ENABLE
|
|
|
|
|
+# define RAW_INTERFACE (KEYBOARD_INTERFACE + 1)
|
|
|
|
|
+#else
|
|
|
|
|
+# define RAW_INTERFACE KEYBOARD_INTERFACE
|
|
|
|
|
+#endif
|
|
|
|
|
+
|
|
|
#ifdef MOUSE_ENABLE
|
|
#ifdef MOUSE_ENABLE
|
|
|
-# define MOUSE_INTERFACE (KEYBOARD_INTERFACE + 1)
|
|
|
|
|
|
|
+# define MOUSE_INTERFACE (RAW_INTERFACE + 1)
|
|
|
#else
|
|
#else
|
|
|
-# define MOUSE_INTERFACE KEYBOARD_INTERFACE
|
|
|
|
|
|
|
+# define MOUSE_INTERFACE RAW_INTERFACE
|
|
|
#endif
|
|
#endif
|
|
|
|
|
|
|
|
#ifdef EXTRAKEY_ENABLE
|
|
#ifdef EXTRAKEY_ENABLE
|
|
@@ -145,16 +154,10 @@ typedef struct
|
|
|
# define EXTRAKEY_INTERFACE MOUSE_INTERFACE
|
|
# define EXTRAKEY_INTERFACE MOUSE_INTERFACE
|
|
|
#endif
|
|
#endif
|
|
|
|
|
|
|
|
-#ifdef RAW_ENABLE
|
|
|
|
|
-# define RAW_INTERFACE (EXTRAKEY_INTERFACE + 1)
|
|
|
|
|
-#else
|
|
|
|
|
-# define RAW_INTERFACE EXTRAKEY_INTERFACE
|
|
|
|
|
-#endif
|
|
|
|
|
-
|
|
|
|
|
#ifdef CONSOLE_ENABLE
|
|
#ifdef CONSOLE_ENABLE
|
|
|
-# define CONSOLE_INTERFACE (RAW_INTERFACE + 1)
|
|
|
|
|
|
|
+# define CONSOLE_INTERFACE (EXTRAKEY_INTERFACE + 1)
|
|
|
#else
|
|
#else
|
|
|
-# define CONSOLE_INTERFACE RAW_INTERFACE
|
|
|
|
|
|
|
+# define CONSOLE_INTERFACE EXTRAKEY_INTERFACE
|
|
|
#endif
|
|
#endif
|
|
|
|
|
|
|
|
#ifdef NKRO_ENABLE
|
|
#ifdef NKRO_ENABLE
|