Use a switch statement
This commit is contained in:
@@ -12,23 +12,29 @@ usb_status_t USB_DeviceGetHidDescriptor(
|
|||||||
usb_status_t USB_DeviceGetHidReportDescriptor(
|
usb_status_t USB_DeviceGetHidReportDescriptor(
|
||||||
usb_device_handle handle, usb_device_get_hid_report_descriptor_struct_t *hidReportDescriptor)
|
usb_device_handle handle, usb_device_get_hid_report_descriptor_struct_t *hidReportDescriptor)
|
||||||
{
|
{
|
||||||
if (USB_GENERIC_HID_INTERFACE_INDEX == hidReportDescriptor->interfaceNumber) {
|
switch (hidReportDescriptor->interfaceNumber) {
|
||||||
hidReportDescriptor->buffer = UsbGenericHidReportDescriptor;
|
case USB_GENERIC_HID_INTERFACE_INDEX:
|
||||||
hidReportDescriptor->length = USB_GENERIC_HID_REPORT_DESCRIPTOR_LENGTH;
|
hidReportDescriptor->buffer = UsbGenericHidReportDescriptor;
|
||||||
} else if (USB_BASIC_KEYBOARD_INTERFACE_INDEX == hidReportDescriptor->interfaceNumber) {
|
hidReportDescriptor->length = USB_GENERIC_HID_REPORT_DESCRIPTOR_LENGTH;
|
||||||
hidReportDescriptor->buffer = UsbBasicKeyboardReportDescriptor;
|
break;
|
||||||
hidReportDescriptor->length = USB_BASIC_KEYBOARD_REPORT_DESCRIPTOR_LENGTH;
|
case USB_BASIC_KEYBOARD_INTERFACE_INDEX:
|
||||||
} else if (USB_MEDIA_KEYBOARD_INTERFACE_INDEX == hidReportDescriptor->interfaceNumber) {
|
hidReportDescriptor->buffer = UsbBasicKeyboardReportDescriptor;
|
||||||
hidReportDescriptor->buffer = UsbMediaKeyboardReportDescriptor;
|
hidReportDescriptor->length = USB_BASIC_KEYBOARD_REPORT_DESCRIPTOR_LENGTH;
|
||||||
hidReportDescriptor->length = USB_MEDIA_KEYBOARD_REPORT_DESCRIPTOR_LENGTH;
|
break;
|
||||||
} else if (USB_SYSTEM_KEYBOARD_INTERFACE_INDEX == hidReportDescriptor->interfaceNumber) {
|
case USB_MEDIA_KEYBOARD_INTERFACE_INDEX:
|
||||||
hidReportDescriptor->buffer = UsbSystemKeyboardReportDescriptor;
|
hidReportDescriptor->buffer = UsbMediaKeyboardReportDescriptor;
|
||||||
hidReportDescriptor->length = USB_MEDIA_KEYBOARD_REPORT_DESCRIPTOR_LENGTH;
|
hidReportDescriptor->length = USB_MEDIA_KEYBOARD_REPORT_DESCRIPTOR_LENGTH;
|
||||||
} else if (USB_MOUSE_INTERFACE_INDEX == hidReportDescriptor->interfaceNumber) {
|
break;
|
||||||
hidReportDescriptor->buffer = UsbMouseReportDescriptor;
|
case USB_SYSTEM_KEYBOARD_INTERFACE_INDEX:
|
||||||
hidReportDescriptor->length = USB_MOUSE_REPORT_DESCRIPTOR_LENGTH;
|
hidReportDescriptor->buffer = UsbSystemKeyboardReportDescriptor;
|
||||||
} else {
|
hidReportDescriptor->length = USB_MEDIA_KEYBOARD_REPORT_DESCRIPTOR_LENGTH;
|
||||||
return kStatus_USB_InvalidRequest;
|
break;
|
||||||
|
case USB_MOUSE_INTERFACE_INDEX:
|
||||||
|
hidReportDescriptor->buffer = UsbMouseReportDescriptor;
|
||||||
|
hidReportDescriptor->length = USB_MOUSE_REPORT_DESCRIPTOR_LENGTH;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
return kStatus_USB_InvalidRequest;
|
||||||
}
|
}
|
||||||
return kStatus_USB_Success;
|
return kStatus_USB_Success;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user