diff --git a/right/src/usb_interfaces/usb_interface_basic_keyboard.c b/right/src/usb_interfaces/usb_interface_basic_keyboard.c index 77146dd..df6fecb 100644 --- a/right/src/usb_interfaces/usb_interface_basic_keyboard.c +++ b/right/src/usb_interfaces/usb_interface_basic_keyboard.c @@ -24,12 +24,14 @@ void ResetActiveUsbBasicKeyboardReport(void) usb_status_t UsbBasicKeyboardAction(void) { + SwitchActiveUsbBasicKeyboardReport(); // Switch the active report usb_status_t usb_status = USB_DeviceHidSend( - UsbCompositeDevice.basicKeyboardHandle, USB_BASIC_KEYBOARD_ENDPOINT_INDEX, - (uint8_t *)ActiveUsbBasicKeyboardReport, USB_BASIC_KEYBOARD_REPORT_LENGTH); + UsbCompositeDevice.basicKeyboardHandle, USB_BASIC_KEYBOARD_ENDPOINT_INDEX, + (uint8_t*)GetInactiveUsbBasicKeyboardReport(), USB_BASIC_KEYBOARD_REPORT_LENGTH); if (usb_status == kStatus_USB_Success) { UsbBasicKeyboardActionCounter++; - SwitchActiveUsbBasicKeyboardReport(); + } else { + SwitchActiveUsbBasicKeyboardReport(); // Switch back, as the command failed } return usb_status; } diff --git a/right/src/usb_interfaces/usb_interface_media_keyboard.c b/right/src/usb_interfaces/usb_interface_media_keyboard.c index 186e230..d155f36 100644 --- a/right/src/usb_interfaces/usb_interface_media_keyboard.c +++ b/right/src/usb_interfaces/usb_interface_media_keyboard.c @@ -22,12 +22,14 @@ void ResetActiveUsbMediaKeyboardReport(void) usb_status_t UsbMediaKeyboardAction(void) { + SwitchActiveUsbMediaKeyboardReport(); // Switch the active report usb_status_t usb_status = USB_DeviceHidSend( - UsbCompositeDevice.mediaKeyboardHandle, USB_MEDIA_KEYBOARD_ENDPOINT_INDEX, - (uint8_t *)ActiveUsbMediaKeyboardReport, USB_MEDIA_KEYBOARD_REPORT_LENGTH); + UsbCompositeDevice.mediaKeyboardHandle, USB_MEDIA_KEYBOARD_ENDPOINT_INDEX, + (uint8_t*)GetInactiveUsbMediaKeyboardReport(), USB_MEDIA_KEYBOARD_REPORT_LENGTH); if (usb_status == kStatus_USB_Success) { UsbMediaKeyboardActionCounter++; - SwitchActiveUsbMediaKeyboardReport(); + } else { + SwitchActiveUsbMediaKeyboardReport(); // Switch back, as the command failed } return usb_status; } diff --git a/right/src/usb_interfaces/usb_interface_mouse.c b/right/src/usb_interfaces/usb_interface_mouse.c index 15fd1fe..ba77d84 100644 --- a/right/src/usb_interfaces/usb_interface_mouse.c +++ b/right/src/usb_interfaces/usb_interface_mouse.c @@ -22,12 +22,14 @@ void ResetActiveUsbMouseReport(void) usb_status_t UsbMouseAction(void) { + SwitchActiveUsbMouseReport(); // Switch the active report usb_status_t usb_status = USB_DeviceHidSend( - UsbCompositeDevice.mouseHandle, USB_MOUSE_ENDPOINT_INDEX, - (uint8_t *)ActiveUsbMouseReport, USB_MOUSE_REPORT_LENGTH); + UsbCompositeDevice.mouseHandle, USB_MOUSE_ENDPOINT_INDEX, + (uint8_t*)GetInactiveUsbMouseReport(), USB_MOUSE_REPORT_LENGTH); if (usb_status == kStatus_USB_Success) { UsbMouseActionCounter++; - SwitchActiveUsbMouseReport(); + } else { + SwitchActiveUsbMouseReport(); // Switch back, as the command failed } return usb_status; } diff --git a/right/src/usb_interfaces/usb_interface_system_keyboard.c b/right/src/usb_interfaces/usb_interface_system_keyboard.c index 2304b56..3d10762 100644 --- a/right/src/usb_interfaces/usb_interface_system_keyboard.c +++ b/right/src/usb_interfaces/usb_interface_system_keyboard.c @@ -22,12 +22,14 @@ void ResetActiveUsbSystemKeyboardReport(void) usb_status_t UsbSystemKeyboardAction(void) { + SwitchActiveUsbSystemKeyboardReport(); // Switch the active report usb_status_t usb_status = USB_DeviceHidSend( - UsbCompositeDevice.systemKeyboardHandle, USB_SYSTEM_KEYBOARD_ENDPOINT_INDEX, - (uint8_t *)ActiveUsbSystemKeyboardReport, USB_SYSTEM_KEYBOARD_REPORT_LENGTH); + UsbCompositeDevice.systemKeyboardHandle, USB_SYSTEM_KEYBOARD_ENDPOINT_INDEX, + (uint8_t*)GetInactiveUsbSystemKeyboardReport(), USB_SYSTEM_KEYBOARD_REPORT_LENGTH); if (usb_status == kStatus_USB_Success) { UsbSystemKeyboardActionCounter++; - SwitchActiveUsbSystemKeyboardReport(); + } else { + SwitchActiveUsbSystemKeyboardReport(); // Switch back, as the command failed } return usb_status; }