~ruther/qmk_firmware

cb434cfebc607db15b52a42adae6423bd40f1f98 — tmk 12 years ago 7e8a85c
Remove clear matrix on ADB recv error
2 files changed, 4 insertions(+), 3 deletions(-)

M converter/adb_usb/matrix.c
M protocol/adb.c
M converter/adb_usb/matrix.c => converter/adb_usb/matrix.c +1 -3
@@ 100,9 100,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);

M protocol/adb.c => protocol/adb.c +3 -0
@@ 40,6 40,7 @@ POSSIBILITY OF SUCH DAMAGE.
#include <avr/io.h>
#include <avr/interrupt.h>
#include "adb.h"
#include "debug.h"


static inline void data_lo(void);


@@ 93,6 94,7 @@ uint16_t adb_host_kbd_recv(void)
    }
    if (!read_bit()) {          // Startbit(1)
        // Service Request
        dprintf("Startbit ERROR\n");
        return -2;
    }



@@ 104,6 106,7 @@ uint16_t adb_host_kbd_recv(void)
    sei();

    if (stop) {
        dprintf("Stopbit ERROR\n");
        return -3;
    }
    return data;