From 0485bd26b9d07a608d5e4ae07af9e6e9c5f170f3 Mon Sep 17 00:00:00 2001 From: cuu Date: Sun, 11 Jul 2021 12:29:55 +0800 Subject: [PATCH] delayMicroseconds 30 to 700 in matrix_scan --- Code/devterm_keyboard/keyboard.ino | 56 +----------------------------- Code/devterm_keyboard/keys.ino | 40 --------------------- 2 files changed, 1 insertion(+), 95 deletions(-) diff --git a/Code/devterm_keyboard/keyboard.ino b/Code/devterm_keyboard/keyboard.ino index cee163f..242dc05 100644 --- a/Code/devterm_keyboard/keyboard.ino +++ b/Code/devterm_keyboard/keyboard.ino @@ -83,7 +83,7 @@ uint8_t matrix_scan(void) { digitalWrite(matrix_cols[col],HIGH); #endif - delayMicroseconds(30); + delayMicroseconds(700); data =( ( read_kbd_io(matrix_rows[0]) << 0 ) | @@ -162,60 +162,6 @@ void matrix_release(DEVTERM*dv,uint8_t row,uint8_t col) { } } -/* -void keyboard_task(DEVTERM*dv) -{ - - static int8_t jack_idx=-1; - static uint16_t jack_time = 0; - - uint8_t matrix_row = 0; - uint8_t matrix_change = 0; - - matrix_scan(); - for (uint8_t r = 0; r < MATRIX_ROWS; r++) { - matrix_row = matrix_get_row(r); - - uint8_t col_mask =1; - for(uint8_t c=0;c < MATRIX_COLS;c++,col_mask <<=1){ - - if( ( (matrix_prev[r] & col_mask) == 0) && ( (matrix_row & col_mask) > 0) ) { - matrix_press(dv,r,c); - } - - if( ( (matrix_prev[r] & col_mask) > 0) && ( (matrix_row & col_mask) == 0) ) { - - matrix_release(dv,r,c); - } - - if( ( (matrix_prev[r] & col_mask) > 0) && ( (matrix_row & col_mask) > 0) ) {//same key - - - if( jack_idx == -1){ - jack_idx = r*MATRIX_ROWS+c; - }else{ - - if(jack_idx != r*MATRIX_ROWS+c) { - jack_time = 0; - jack_idx = r*MATRIX_ROWS+c; - }else{ - jack_time +=1; - if( jack_time % (DEBOUNCE*KEY_LATENCY) == 0){ - if(jack_idx > 1){//skip select,start button - matrix_press(dv,r,c); - } - } - } - } - } - } - - matrix_prev[r] = matrix_row; - } - - -} -*/ void keyboard_task(DEVTERM*dv) { diff --git a/Code/devterm_keyboard/keys.ino b/Code/devterm_keyboard/keys.ino index 64db186..af0b88a 100644 --- a/Code/devterm_keyboard/keys.ino +++ b/Code/devterm_keyboard/keys.ino @@ -64,47 +64,7 @@ void print_keys(DEVTERM*dv) { } -/* -void keys_task(DEVTERM*dv){ - static int8_t keys_jack_idx=-1; - static uint16_t keys_jack_time = 0; - scan_keys(); - - uint16_t _mask =1; - for(uint8_t c=0;c < KEYS_NUM;c++,_mask <<=1){ - - if( (keys_prev & _mask) == 0 && (keys & _mask) > 0){ - keypad_action(dv,c,KEY_PRESSED); - } - if( (keys_prev & _mask) > 0 && (keys & _mask) == 0){ - keypad_action(dv,c,KEY_RELEASED); - } - - if( (keys_prev & _mask) > 0 && (keys & _mask) > 0) { ////same key - - if( c >= 0 && c < 4) {// only allow B1-B4 - if( keys_jack_idx == -1){ - keys_jack_idx = c; - }else{ - if(keys_jack_idx != c) { - keys_jack_time = 0; - keys_jack_idx = c; - }else{ - keys_jack_time +=1; - if( keys_jack_time % (KEY_DEBOUNCE*KEY_LATENCY) == 0){ - keypad_action(dv,c,KEY_PRESSED); - } - } - } - } - } - } - - keys_prev = keys; - -} -*/ void keys_task(DEVTERM*dv){ scan_keys();