]> git.donarmstrong.com Git - qmk_firmware.git/blobdiff - keyboards/converter/usb_usb/custom_matrix.cpp
[Keyboard] Backport two fixes from TMK: usb-usb converter (#6383)
[qmk_firmware.git] / keyboards / converter / usb_usb / custom_matrix.cpp
index 6f381aabf405cffedeeb3d16df21df290b99891a..296f7fcd026b928e1b9f658392709299a58a2d58 100644 (file)
@@ -74,8 +74,6 @@ static bool matrix_is_mod = false;
  * This supports two cascaded hubs and four keyboards
  */
 USB usb_host;
-USBHub hub1(&usb_host);
-USBHub hub2(&usb_host);
 HIDBoot<HID_PROTOCOL_KEYBOARD>    kbd1(&usb_host);
 HIDBoot<HID_PROTOCOL_KEYBOARD>    kbd2(&usb_host);
 HIDBoot<HID_PROTOCOL_KEYBOARD>    kbd3(&usb_host);
@@ -84,6 +82,8 @@ KBDReportParser kbd_parser1;
 KBDReportParser kbd_parser2;
 KBDReportParser kbd_parser3;
 KBDReportParser kbd_parser4;
+USBHub hub1(&usb_host);
+USBHub hub2(&usb_host);
 
 
 extern "C"
@@ -252,10 +252,10 @@ extern "C"
 
     void led_set(uint8_t usb_led)
     {
-        kbd1.SetReport(0, 0, 2, 0, 1, &usb_led);
-        kbd2.SetReport(0, 0, 2, 0, 1, &usb_led);
-        kbd3.SetReport(0, 0, 2, 0, 1, &usb_led);
-        kbd4.SetReport(0, 0, 2, 0, 1, &usb_led);
+        if (kbd1.isReady()) kbd1.SetReport(0, 0, 2, 0, 1, &usb_led);
+        if (kbd2.isReady()) kbd2.SetReport(0, 0, 2, 0, 1, &usb_led);
+        if (kbd3.isReady()) kbd3.SetReport(0, 0, 2, 0, 1, &usb_led);
+        if (kbd4.isReady()) kbd4.SetReport(0, 0, 2, 0, 1, &usb_led);
         led_set_kb(usb_led);
     }