diff options
| -rw-r--r-- | protocol/lufa/lufa.c | 12 | 
1 files changed, 12 insertions, 0 deletions
| diff --git a/protocol/lufa/lufa.c b/protocol/lufa/lufa.c index 7c7072090..a863b8d23 100644 --- a/protocol/lufa/lufa.c +++ b/protocol/lufa/lufa.c @@ -347,6 +347,9 @@ static void send_keyboard(report_keyboard_t *report)  {      uint8_t timeout = 0; +    if (USB_DeviceState != DEVICE_STATE_Configured) +        return; +      // TODO: handle NKRO report      /* Select the Keyboard Report Endpoint */      Endpoint_SelectEndpoint(KEYBOARD_IN_EPNUM); @@ -368,6 +371,9 @@ static void send_mouse(report_mouse_t *report)  #ifdef MOUSE_ENABLE      uint8_t timeout = 0; +    if (USB_DeviceState != DEVICE_STATE_Configured) +        return; +      /* Select the Mouse Report Endpoint */      Endpoint_SelectEndpoint(MOUSE_IN_EPNUM); @@ -386,6 +392,9 @@ static void send_system(uint16_t data)  {      uint8_t timeout = 0; +    if (USB_DeviceState != DEVICE_STATE_Configured) +        return; +      report_extra_t r = {          .report_id = REPORT_ID_SYSTEM,          .usage = data @@ -400,6 +409,9 @@ static void send_consumer(uint16_t data)  {      uint8_t timeout = 0; +    if (USB_DeviceState != DEVICE_STATE_Configured) +        return; +      report_extra_t r = {          .report_id = REPORT_ID_CONSUMER,          .usage = data | 
