]> git.friedersdorff.com Git - max/tmk_keyboard.git/blobdiff - converter/adb_usb/matrix.c
Merge remote-tracking branch 'tmk/master' into cub_layout
[max/tmk_keyboard.git] / converter / adb_usb / matrix.c
index 9b26a2a18762955762017d4fb60dcbdddbbf41df..566592c93f7a83270835d51beeae83c420d09dda 100644 (file)
@@ -71,7 +71,6 @@ void matrix_init(void)
     // initialize matrix state: all keys off
     for (uint8_t i=0; i < MATRIX_ROWS; i++) matrix[i] = 0x00;
 
-    print_enable = true;
     debug_enable = true;
     debug_matrix = true;
     debug_keyboard = true;
@@ -86,6 +85,7 @@ uint8_t matrix_scan(void)
     uint8_t key0, key1;
 
     is_modified = false;
+    _delay_ms(16);  // delay for preventing overload of poor ADB keyboard controller
     codes = adb_host_kbd_recv();
     key0 = codes>>8;
     key1 = codes&0xFF;
@@ -101,9 +101,7 @@ uint8_t matrix_scan(void)
     } else if (codes == 0xFFFF) {   // power key release
         register_key(0xFF);
     } else if (key0 == 0xFF) {      // error
-        if (debug_matrix) print("adb_host_kbd_recv: ERROR(matrix cleared.)\n");
-        // clear matrix to unregister all keys
-        for (uint8_t i=0; i < MATRIX_ROWS; i++) matrix[i] = 0x00;
+        xprintf("adb_host_kbd_recv: ERROR(%02X)\n", codes);
         return key1;
     } else {
         register_key(key0);