aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--keyboard/macway/Makefile.lufa2
-rw-r--r--protocol/lufa/descriptor.c65
-rw-r--r--protocol/lufa/descriptor.h29
-rw-r--r--protocol/lufa/lufa.c32
4 files changed, 105 insertions, 23 deletions
diff --git a/keyboard/macway/Makefile.lufa b/keyboard/macway/Makefile.lufa
index a3395a2ab..8f50776df 100644
--- a/keyboard/macway/Makefile.lufa
+++ b/keyboard/macway/Makefile.lufa
@@ -100,9 +100,9 @@ F_USB = $(F_CPU)
100# comment out to disable the options. 100# comment out to disable the options.
101# 101#
102MOUSEKEY_ENABLE = yes # Mouse keys 102MOUSEKEY_ENABLE = yes # Mouse keys
103#PS2_MOUSE_ENABLE = yes # PS/2 mouse(TrackPoint) support
104EXTRAKEY_ENABLE = yes # Audio control and System control 103EXTRAKEY_ENABLE = yes # Audio control and System control
105#NKRO_ENABLE = yes # USB Nkey Rollover 104#NKRO_ENABLE = yes # USB Nkey Rollover
105#PS2_MOUSE_ENABLE = yes # PS/2 mouse(TrackPoint) support
106 106
107 107
108# Search Path 108# Search Path
diff --git a/protocol/lufa/descriptor.c b/protocol/lufa/descriptor.c
index 59adcd184..d3f740bfe 100644
--- a/protocol/lufa/descriptor.c
+++ b/protocol/lufa/descriptor.c
@@ -54,8 +54,8 @@ const USB_Descriptor_HIDReport_Datatype_t PROGMEM KeyboardReport[] =
54 HID_RI_USAGE_MAXIMUM(8, 0xE7), /* Keyboard Right GUI */ 54 HID_RI_USAGE_MAXIMUM(8, 0xE7), /* Keyboard Right GUI */
55 HID_RI_LOGICAL_MINIMUM(8, 0x00), 55 HID_RI_LOGICAL_MINIMUM(8, 0x00),
56 HID_RI_LOGICAL_MAXIMUM(8, 0x01), 56 HID_RI_LOGICAL_MAXIMUM(8, 0x01),
57 HID_RI_REPORT_SIZE(8, 0x01),
58 HID_RI_REPORT_COUNT(8, 0x08), 57 HID_RI_REPORT_COUNT(8, 0x08),
58 HID_RI_REPORT_SIZE(8, 0x01),
59 HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE), 59 HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE),
60 HID_RI_REPORT_COUNT(8, 0x01), 60 HID_RI_REPORT_COUNT(8, 0x01),
61 HID_RI_REPORT_SIZE(8, 0x08), 61 HID_RI_REPORT_SIZE(8, 0x08),
@@ -69,11 +69,11 @@ const USB_Descriptor_HIDReport_Datatype_t PROGMEM KeyboardReport[] =
69 HID_RI_REPORT_COUNT(8, 0x01), 69 HID_RI_REPORT_COUNT(8, 0x01),
70 HID_RI_REPORT_SIZE(8, 0x03), 70 HID_RI_REPORT_SIZE(8, 0x03),
71 HID_RI_OUTPUT(8, HID_IOF_CONSTANT), 71 HID_RI_OUTPUT(8, HID_IOF_CONSTANT),
72 HID_RI_LOGICAL_MINIMUM(8, 0x00),
73 HID_RI_LOGICAL_MAXIMUM(8, 0x65),
74 HID_RI_USAGE_PAGE(8, 0x07), /* Keyboard */ 72 HID_RI_USAGE_PAGE(8, 0x07), /* Keyboard */
75 HID_RI_USAGE_MINIMUM(8, 0x00), /* Reserved (no event indicated) */ 73 HID_RI_USAGE_MINIMUM(8, 0x00), /* Reserved (no event indicated) */
76 HID_RI_USAGE_MAXIMUM(8, 0x65), /* Keyboard Application */ 74 HID_RI_USAGE_MAXIMUM(8, 0xFF), /* Keyboard Application */
75 HID_RI_LOGICAL_MINIMUM(8, 0x00),
76 HID_RI_LOGICAL_MAXIMUM(8, 0xFF),
77 HID_RI_REPORT_COUNT(8, 0x06), 77 HID_RI_REPORT_COUNT(8, 0x06),
78 HID_RI_REPORT_SIZE(8, 0x08), 78 HID_RI_REPORT_SIZE(8, 0x08),
79 HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_ARRAY | HID_IOF_ABSOLUTE), 79 HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_ARRAY | HID_IOF_ABSOLUTE),
@@ -133,21 +133,22 @@ const USB_Descriptor_HIDReport_Datatype_t PROGMEM ConsoleReport[] =
133 HID_RI_USAGE_PAGE(16, 0xFF31), /* Vendor Page(PJRC Teensy compatible) */ 133 HID_RI_USAGE_PAGE(16, 0xFF31), /* Vendor Page(PJRC Teensy compatible) */
134 HID_RI_USAGE(8, 0x74), /* Vendor Usage(PJRC Teensy compatible) */ 134 HID_RI_USAGE(8, 0x74), /* Vendor Usage(PJRC Teensy compatible) */
135 HID_RI_COLLECTION(8, 0x01), /* Application */ 135 HID_RI_COLLECTION(8, 0x01), /* Application */
136 HID_RI_USAGE(8, 0x02), /* Vendor Usage 2 */ 136 HID_RI_USAGE(8, 0x75), /* Vendor Usage 0x75 */
137 HID_RI_LOGICAL_MINIMUM(8, 0x00), 137 HID_RI_LOGICAL_MINIMUM(8, 0x00),
138 HID_RI_LOGICAL_MAXIMUM(8, 0xFF), 138 HID_RI_LOGICAL_MAXIMUM(8, 0xFF),
139 HID_RI_REPORT_SIZE(8, 0x08),
140 HID_RI_REPORT_COUNT(8, CONSOLE_EPSIZE), 139 HID_RI_REPORT_COUNT(8, CONSOLE_EPSIZE),
140 HID_RI_REPORT_SIZE(8, 0x08),
141 HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE), 141 HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE),
142 HID_RI_USAGE(8, 0x03), /* Vendor Usage 3 */ 142 HID_RI_USAGE(8, 0x76), /* Vendor Usage 0x76 */
143 HID_RI_LOGICAL_MINIMUM(8, 0x00), 143 HID_RI_LOGICAL_MINIMUM(8, 0x00),
144 HID_RI_LOGICAL_MAXIMUM(8, 0xFF), 144 HID_RI_LOGICAL_MAXIMUM(8, 0xFF),
145 HID_RI_REPORT_SIZE(8, 0x08),
146 HID_RI_REPORT_COUNT(8, CONSOLE_EPSIZE), 145 HID_RI_REPORT_COUNT(8, CONSOLE_EPSIZE),
146 HID_RI_REPORT_SIZE(8, 0x08),
147 HID_RI_OUTPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE | HID_IOF_NON_VOLATILE), 147 HID_RI_OUTPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE | HID_IOF_NON_VOLATILE),
148 HID_RI_END_COLLECTION(0), 148 HID_RI_END_COLLECTION(0),
149}; 149};
150 150
151#ifdef EXTRAKEY_ENABLE
151const USB_Descriptor_HIDReport_Datatype_t PROGMEM ExtraReport[] = 152const USB_Descriptor_HIDReport_Datatype_t PROGMEM ExtraReport[] =
152{ 153{
153 HID_RI_USAGE_PAGE(8, 0x01), /* Generic Desktop */ 154 HID_RI_USAGE_PAGE(8, 0x01), /* Generic Desktop */
@@ -176,6 +177,42 @@ const USB_Descriptor_HIDReport_Datatype_t PROGMEM ExtraReport[] =
176 HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_ARRAY | HID_IOF_ABSOLUTE), 177 HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_ARRAY | HID_IOF_ABSOLUTE),
177 HID_RI_END_COLLECTION(0), 178 HID_RI_END_COLLECTION(0),
178}; 179};
180#endif
181
182#ifdef NKRO_ENABLE
183const USB_Descriptor_HIDReport_Datatype_t PROGMEM NKROReport[] =
184{
185 HID_RI_USAGE_PAGE(8, 0x01), /* Generic Desktop */
186 HID_RI_USAGE(8, 0x06), /* Keyboard */
187 HID_RI_COLLECTION(8, 0x01), /* Application */
188 HID_RI_USAGE_PAGE(8, 0x07), /* Key Codes */
189 HID_RI_USAGE_MINIMUM(8, 0xE0), /* Keyboard Left Control */
190 HID_RI_USAGE_MAXIMUM(8, 0xE7), /* Keyboard Right GUI */
191 HID_RI_LOGICAL_MINIMUM(8, 0x00),
192 HID_RI_LOGICAL_MAXIMUM(8, 0x01),
193 HID_RI_REPORT_COUNT(8, 0x08),
194 HID_RI_REPORT_SIZE(8, 0x01),
195 HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE),
196
197 HID_RI_USAGE_PAGE(8, 0x08), /* LEDs */
198 HID_RI_USAGE_MINIMUM(8, 0x01), /* Num Lock */
199 HID_RI_USAGE_MAXIMUM(8, 0x05), /* Kana */
200 HID_RI_REPORT_COUNT(8, 0x05),
201 HID_RI_REPORT_SIZE(8, 0x01),
202 HID_RI_OUTPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE | HID_IOF_NON_VOLATILE),
203 HID_RI_REPORT_COUNT(8, 0x01),
204 HID_RI_REPORT_SIZE(8, 0x03),
205 HID_RI_OUTPUT(8, HID_IOF_CONSTANT),
206
207 HID_RI_USAGE_PAGE(8, 0x07), /* Key Codes */
208 HID_RI_USAGE_MINIMUM(8, 0x00), /* Keyboard 0 */
209 HID_RI_USAGE_MAXIMUM(8, NKRO_SIZE*8-1), /* Keyboard Right GUI */
210 HID_RI_LOGICAL_MINIMUM(8, 0x00),
211 HID_RI_LOGICAL_MAXIMUM(8, 0x01),
212 HID_RI_REPORT_COUNT(8, NKRO_SIZE*8),
213 HID_RI_REPORT_SIZE(8, 0x01),
214};
215#endif
179 216
180/******************************************************************************* 217/*******************************************************************************
181 * Device Descriptors 218 * Device Descriptors
@@ -265,6 +302,7 @@ const USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
265 /* 302 /*
266 * Mouse 303 * Mouse
267 */ 304 */
305#ifdef MOUSE_ENABLE
268 .Mouse_Interface = 306 .Mouse_Interface =
269 { 307 {
270 .Header = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface}, 308 .Header = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
@@ -301,6 +339,7 @@ const USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
301 .EndpointSize = MOUSE_EPSIZE, 339 .EndpointSize = MOUSE_EPSIZE,
302 .PollingIntervalMS = 0x01 340 .PollingIntervalMS = 0x01
303 }, 341 },
342#endif
304 343
305 /* 344 /*
306 * Console 345 * Console
@@ -355,6 +394,7 @@ const USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
355 /* 394 /*
356 * Extra 395 * Extra
357 */ 396 */
397#ifdef EXTRAKEY_ENABLE
358 .Extra_Interface = 398 .Extra_Interface =
359 { 399 {
360 .Header = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface}, 400 .Header = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},
@@ -391,6 +431,7 @@ const USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
391 .EndpointSize = EXTRA_EPSIZE, 431 .EndpointSize = EXTRA_EPSIZE,
392 .PollingIntervalMS = 0x01 432 .PollingIntervalMS = 0x01
393 }, 433 },
434#endif
394}; 435};
395 436
396 437
@@ -468,18 +509,22 @@ uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,
468 Address = &ConfigurationDescriptor.Keyboard_HID; 509 Address = &ConfigurationDescriptor.Keyboard_HID;
469 Size = sizeof(USB_HID_Descriptor_HID_t); 510 Size = sizeof(USB_HID_Descriptor_HID_t);
470 break; 511 break;
512#ifdef MOUSE_ENABLE
471 case MOUSE_INTERFACE: 513 case MOUSE_INTERFACE:
472 Address = &ConfigurationDescriptor.Mouse_HID; 514 Address = &ConfigurationDescriptor.Mouse_HID;
473 Size = sizeof(USB_HID_Descriptor_HID_t); 515 Size = sizeof(USB_HID_Descriptor_HID_t);
474 break; 516 break;
517#endif
475 case CONSOLE_INTERFACE: 518 case CONSOLE_INTERFACE:
476 Address = &ConfigurationDescriptor.Console_HID; 519 Address = &ConfigurationDescriptor.Console_HID;
477 Size = sizeof(USB_HID_Descriptor_HID_t); 520 Size = sizeof(USB_HID_Descriptor_HID_t);
478 break; 521 break;
522#ifdef EXTRAKEY_ENABLE
479 case EXTRA_INTERFACE: 523 case EXTRA_INTERFACE:
480 Address = &ConfigurationDescriptor.Extra_HID; 524 Address = &ConfigurationDescriptor.Extra_HID;
481 Size = sizeof(USB_HID_Descriptor_HID_t); 525 Size = sizeof(USB_HID_Descriptor_HID_t);
482 break; 526 break;
527#endif
483 } 528 }
484 break; 529 break;
485 case HID_DTYPE_Report: 530 case HID_DTYPE_Report:
@@ -488,18 +533,22 @@ uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,
488 Address = &KeyboardReport; 533 Address = &KeyboardReport;
489 Size = sizeof(KeyboardReport); 534 Size = sizeof(KeyboardReport);
490 break; 535 break;
536#ifdef MOUSE_ENABLE
491 case MOUSE_INTERFACE: 537 case MOUSE_INTERFACE:
492 Address = &MouseReport; 538 Address = &MouseReport;
493 Size = sizeof(MouseReport); 539 Size = sizeof(MouseReport);
494 break; 540 break;
541#endif
495 case CONSOLE_INTERFACE: 542 case CONSOLE_INTERFACE:
496 Address = &ConsoleReport; 543 Address = &ConsoleReport;
497 Size = sizeof(ConsoleReport); 544 Size = sizeof(ConsoleReport);
498 break; 545 break;
546#ifdef EXTRAKEY_ENABLE
499 case EXTRA_INTERFACE: 547 case EXTRA_INTERFACE:
500 Address = &ExtraReport; 548 Address = &ExtraReport;
501 Size = sizeof(ExtraReport); 549 Size = sizeof(ExtraReport);
502 break; 550 break;
551#endif
503 } 552 }
504 break; 553 break;
505 } 554 }
diff --git a/protocol/lufa/descriptor.h b/protocol/lufa/descriptor.h
index 6b1b4d484..19bce999f 100644
--- a/protocol/lufa/descriptor.h
+++ b/protocol/lufa/descriptor.h
@@ -51,9 +51,11 @@ typedef struct
51 USB_Descriptor_Endpoint_t Keyboard_INEndpoint; 51 USB_Descriptor_Endpoint_t Keyboard_INEndpoint;
52 52
53 // Mouse HID Interface 53 // Mouse HID Interface
54#ifdef MOUSE_ENABLE
54 USB_Descriptor_Interface_t Mouse_Interface; 55 USB_Descriptor_Interface_t Mouse_Interface;
55 USB_HID_Descriptor_HID_t Mouse_HID; 56 USB_HID_Descriptor_HID_t Mouse_HID;
56 USB_Descriptor_Endpoint_t Mouse_INEndpoint; 57 USB_Descriptor_Endpoint_t Mouse_INEndpoint;
58#endif
57 59
58 // Console HID Interface 60 // Console HID Interface
59 USB_Descriptor_Interface_t Console_Interface; 61 USB_Descriptor_Interface_t Console_Interface;
@@ -62,20 +64,35 @@ typedef struct
62 USB_Descriptor_Endpoint_t Console_OUTEndpoint; 64 USB_Descriptor_Endpoint_t Console_OUTEndpoint;
63 65
64 // Extra HID Interface 66 // Extra HID Interface
67#ifdef EXTRAKEY_ENABLE
65 USB_Descriptor_Interface_t Extra_Interface; 68 USB_Descriptor_Interface_t Extra_Interface;
66 USB_HID_Descriptor_HID_t Extra_HID; 69 USB_HID_Descriptor_HID_t Extra_HID;
67 USB_Descriptor_Endpoint_t Extra_INEndpoint; 70 USB_Descriptor_Endpoint_t Extra_INEndpoint;
71#endif
68} USB_Descriptor_Configuration_t; 72} USB_Descriptor_Configuration_t;
69 73
70 74
71/* nubmer of interfaces */
72#define TOTAL_INTERFACES 4
73
74/* index of interface */ 75/* index of interface */
75#define KEYBOARD_INTERFACE 0 76#define KEYBOARD_INTERFACE 0
76#define MOUSE_INTERFACE 1 77
77#define CONSOLE_INTERFACE 2 78#ifdef MOUSE_ENABLE
78#define EXTRA_INTERFACE 3 79# define MOUSE_INTERFACE (KEYBOARD_INTERFACE + 1)
80#else
81# define MOUSE_INTERFACE KEYBOARD_INTERFACE
82#endif
83
84#ifdef EXTRAKEY_ENABLE
85# define EXTRA_INTERFACE (MOUSE_INTERFACE + 1)
86#else
87# define EXTRA_INTERFACE MOUSE_INTERFACE
88#endif
89
90#define CONSOLE_INTERFACE (EXTRA_INTERFACE + 1)
91
92
93/* nubmer of interfaces */
94#define TOTAL_INTERFACES (CONSOLE_INTERFACE + 1)
95
79 96
80// Endopoint number and size 97// Endopoint number and size
81#define KEYBOARD_IN_EPNUM 1 98#define KEYBOARD_IN_EPNUM 1
diff --git a/protocol/lufa/lufa.c b/protocol/lufa/lufa.c
index 09da96b2e..f485e24bf 100644
--- a/protocol/lufa/lufa.c
+++ b/protocol/lufa/lufa.c
@@ -50,7 +50,9 @@ static uint8_t keyboard_led_stats = 0;
50 50
51// TODO: impl Control Request GET_REPORT 51// TODO: impl Control Request GET_REPORT
52static report_keyboard_t keyboard_report_sent; 52static report_keyboard_t keyboard_report_sent;
53#ifdef MOUSE_ENABLE
53static report_mouse_t mouse_report_sent; 54static report_mouse_t mouse_report_sent;
55#endif
54 56
55/* Host driver */ 57/* Host driver */
56static uint8_t keyboard_leds(void); 58static uint8_t keyboard_leds(void);
@@ -171,19 +173,23 @@ void EVENT_USB_Device_ConfigurationChanged(void)
171 ConfigSuccess &= Endpoint_ConfigureEndpoint(KEYBOARD_IN_EPNUM, EP_TYPE_INTERRUPT, ENDPOINT_DIR_IN, 173 ConfigSuccess &= Endpoint_ConfigureEndpoint(KEYBOARD_IN_EPNUM, EP_TYPE_INTERRUPT, ENDPOINT_DIR_IN,
172 KEYBOARD_EPSIZE, ENDPOINT_BANK_SINGLE); 174 KEYBOARD_EPSIZE, ENDPOINT_BANK_SINGLE);
173 175
176#ifdef MOUSE_ENABLE
174 /* Setup Mouse HID Report Endpoint */ 177 /* Setup Mouse HID Report Endpoint */
175 ConfigSuccess &= Endpoint_ConfigureEndpoint(MOUSE_IN_EPNUM, EP_TYPE_INTERRUPT, ENDPOINT_DIR_IN, 178 ConfigSuccess &= Endpoint_ConfigureEndpoint(MOUSE_IN_EPNUM, EP_TYPE_INTERRUPT, ENDPOINT_DIR_IN,
176 MOUSE_EPSIZE, ENDPOINT_BANK_SINGLE); 179 MOUSE_EPSIZE, ENDPOINT_BANK_SINGLE);
180#endif
181
182#ifdef EXTRAKEY_ENABLE
183 /* Setup Extra HID Report Endpoint */
184 ConfigSuccess &= Endpoint_ConfigureEndpoint(EXTRA_IN_EPNUM, EP_TYPE_INTERRUPT, ENDPOINT_DIR_IN,
185 EXTRA_EPSIZE, ENDPOINT_BANK_SINGLE);
186#endif
177 187
178 /* Setup Console HID Report Endpoints */ 188 /* Setup Console HID Report Endpoints */
179 ConfigSuccess &= Endpoint_ConfigureEndpoint(CONSOLE_IN_EPNUM, EP_TYPE_INTERRUPT, ENDPOINT_DIR_IN, 189 ConfigSuccess &= Endpoint_ConfigureEndpoint(CONSOLE_IN_EPNUM, EP_TYPE_INTERRUPT, ENDPOINT_DIR_IN,
180 CONSOLE_EPSIZE, ENDPOINT_BANK_SINGLE); 190 CONSOLE_EPSIZE, ENDPOINT_BANK_SINGLE);
181 ConfigSuccess &= Endpoint_ConfigureEndpoint(CONSOLE_OUT_EPNUM, EP_TYPE_INTERRUPT, ENDPOINT_DIR_OUT, 191 ConfigSuccess &= Endpoint_ConfigureEndpoint(CONSOLE_OUT_EPNUM, EP_TYPE_INTERRUPT, ENDPOINT_DIR_OUT,
182 CONSOLE_EPSIZE, ENDPOINT_BANK_SINGLE); 192 CONSOLE_EPSIZE, ENDPOINT_BANK_SINGLE);
183
184 /* Setup Extra HID Report Endpoint */
185 ConfigSuccess &= Endpoint_ConfigureEndpoint(EXTRA_IN_EPNUM, EP_TYPE_INTERRUPT, ENDPOINT_DIR_IN,
186 EXTRA_EPSIZE, ENDPOINT_BANK_SINGLE);
187} 193}
188 194
189/* 195/*
@@ -222,15 +228,19 @@ void EVENT_USB_Device_ControlRequest(void)
222 ReportData = (uint8_t*)&keyboard_report_sent; 228 ReportData = (uint8_t*)&keyboard_report_sent;
223 ReportSize = sizeof(keyboard_report_sent); 229 ReportSize = sizeof(keyboard_report_sent);
224 break; 230 break;
231#ifdef MOUSE_ENABLE
225 case MOUSE_INTERFACE: 232 case MOUSE_INTERFACE:
226 // TODO: test/check 233 // TODO: test/check
227 ReportData = (uint8_t*)&mouse_report_sent; 234 ReportData = (uint8_t*)&mouse_report_sent;
228 ReportSize = sizeof(mouse_report_sent); 235 ReportSize = sizeof(mouse_report_sent);
229 break; 236 break;
230 case CONSOLE_INTERFACE: 237#endif
231 break; 238#ifdef EXTRAKEY_ENABLE
232 case EXTRA_INTERFACE: 239 case EXTRA_INTERFACE:
233 break; 240 break;
241#endif
242 case CONSOLE_INTERFACE:
243 break;
234 } 244 }
235 245
236 /* Write the report data to the control endpoint */ 246 /* Write the report data to the control endpoint */
@@ -258,12 +268,16 @@ void EVENT_USB_Device_ControlRequest(void)
258 /* Read in the LED report from the host */ 268 /* Read in the LED report from the host */
259 keyboard_led_stats = Endpoint_Read_8(); 269 keyboard_led_stats = Endpoint_Read_8();
260 break; 270 break;
271#ifdef MOUSE_ENABLE
261 case MOUSE_INTERFACE: 272 case MOUSE_INTERFACE:
262 break; 273 break;
263 case CONSOLE_INTERFACE: 274#endif
264 break; 275#ifdef EXTRAKEY_ENABLE
265 case EXTRA_INTERFACE: 276 case EXTRA_INTERFACE:
266 break; 277 break;
278#endif
279 case CONSOLE_INTERFACE:
280 break;
267 } 281 }
268 282
269 Endpoint_ClearOUT(); 283 Endpoint_ClearOUT();
@@ -302,6 +316,7 @@ static void send_keyboard(report_keyboard_t *report)
302 316
303static void send_mouse(report_mouse_t *report) 317static void send_mouse(report_mouse_t *report)
304{ 318{
319#ifdef MOUSE_ENABLE
305 /* Select the Mouse Report Endpoint */ 320 /* Select the Mouse Report Endpoint */
306 Endpoint_SelectEndpoint(MOUSE_IN_EPNUM); 321 Endpoint_SelectEndpoint(MOUSE_IN_EPNUM);
307 322
@@ -315,6 +330,7 @@ static void send_mouse(report_mouse_t *report)
315 Endpoint_ClearIN(); 330 Endpoint_ClearIN();
316 } 331 }
317 mouse_report_sent = *report; 332 mouse_report_sent = *report;
333#endif
318} 334}
319 335
320typedef struct { 336typedef struct {