@@ -52,10 +52,13 @@ void send_remote_wakeup(USBDriver *usbp);
52
52
53
53
/* secondary keyboard */
54
54
#ifdef NKRO_ENABLE
55
- #define NKRO_INTERFACE 4
56
- #define NKRO_ENDPOINT 5
55
+ #define NKRO_INTERFACE EXTRA_INTERFACE+1
56
+ #define NKRO_ENDPOINT EXTRA_ENDPOINT+1
57
57
#define NKRO_EPSIZE 16
58
58
#define NKRO_REPORT_KEYS (NKRO_EPSIZE - 1)
59
+ #else
60
+ #define NKRO_INTERFACE EXTRA_INTERFACE
61
+ #define NKRO_ENDPOINT EXTRA_ENDPOINT
59
62
#endif
60
63
61
64
/* extern report_keyboard_t keyboard_report_sent; */
@@ -78,12 +81,15 @@ void nkro_in_cb(USBDriver *usbp, usbep_t ep);
78
81
79
82
#ifdef MOUSE_ENABLE
80
83
81
- #define MOUSE_INTERFACE 1
82
- #define MOUSE_ENDPOINT 2
84
+ #define MOUSE_INTERFACE (KBD_INTERFACE+1)
85
+ #define MOUSE_ENDPOINT (KBD_ENDPOINT+1)
83
86
#define MOUSE_EPSIZE 8
84
87
85
88
/* mouse IN request callback handler */
86
89
void mouse_in_cb (USBDriver * usbp , usbep_t ep );
90
+ #else
91
+ #define MOUSE_INTERFACE KBD_INTERFACE
92
+ #define MOUSE_ENDPOINT KBD_ENDPOINT
87
93
#endif /* MOUSE_ENABLE */
88
94
89
95
/* ---------------
@@ -93,8 +99,8 @@ void mouse_in_cb(USBDriver *usbp, usbep_t ep);
93
99
94
100
#ifdef EXTRAKEY_ENABLE
95
101
96
- #define EXTRA_INTERFACE 3
97
- #define EXTRA_ENDPOINT 4
102
+ #define EXTRA_INTERFACE (CONSOLE_INTERFACE+1)
103
+ #define EXTRA_ENDPOINT (CONSOLE_ENDPOINT+1)
98
104
#define EXTRA_EPSIZE 8
99
105
100
106
/* extrakey IN request callback handler */
@@ -105,6 +111,9 @@ typedef struct {
105
111
uint8_t report_id ;
106
112
uint16_t usage ;
107
113
} __attribute__ ((packed )) report_extra_t ;
114
+ #else
115
+ #define EXTRA_INTERFACE CONSOLE_INTERFACE
116
+ #define EXTRA_ENDPOINT CONSOLE_ENDPOINT
108
117
#endif /* EXTRAKEY_ENABLE */
109
118
110
119
/* --------------
@@ -114,8 +123,8 @@ typedef struct {
114
123
115
124
#ifdef CONSOLE_ENABLE
116
125
117
- #define CONSOLE_INTERFACE 2
118
- #define CONSOLE_ENDPOINT 3
126
+ #define CONSOLE_INTERFACE (MOUSE_INTERFACE+1)
127
+ #define CONSOLE_ENDPOINT (MOUSE_ENDPOINT+1)
119
128
#define CONSOLE_EPSIZE 16
120
129
121
130
/* Number of IN reports that can be stored inside the output queue */
@@ -132,6 +141,9 @@ void console_flush_output(void);
132
141
133
142
/* console IN request callback handler */
134
143
void console_in_cb (USBDriver * usbp , usbep_t ep );
144
+ #else
145
+ #define CONSOLE_INTERFACE MOUSE_INTERFACE
146
+ #define CONSOLE_ENDPOINT MOUSE_ENDPOINT
135
147
#endif /* CONSOLE_ENABLE */
136
148
137
149
void sendchar_pf (void * p , char c );
0 commit comments