// 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;
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;
} 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);