diff options
author | Alex Ong <alex.ong@unsw.edu.au> | 2018-08-29 10:19:36 +1000 |
---|---|---|
committer | Alex Ong <alex.ong@unsw.edu.au> | 2018-08-29 10:19:36 +1000 |
commit | 3cf7f7322c24e3cab21d402f1a859b60df857603 (patch) | |
tree | 08e5f119b2faa8c393dbbad7c085fe83728046c3 /tmk_core/common/keyboard.c | |
parent | 9bd6d6112d698ea5823b268983809fe3b8d98b26 (diff) |
Removed "debounce_algo = manual" in all keyboards with CUSTOM_MATRIX = yes.
Diffstat (limited to 'tmk_core/common/keyboard.c')
-rw-r--r-- | tmk_core/common/keyboard.c | 22 |
1 files changed, 6 insertions, 16 deletions
diff --git a/tmk_core/common/keyboard.c b/tmk_core/common/keyboard.c index 13b3cb4c0c..fe626efb35 100644 --- a/tmk_core/common/keyboard.c +++ b/tmk_core/common/keyboard.c @@ -18,6 +18,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #include <stdint.h> #include "keyboard.h" #include "matrix.h" +#include "debounce.h" #include "keymap.h" #include "host.h" #include "led.h" @@ -157,6 +158,7 @@ void keyboard_init(void) { MCUCR |= _BV(JTD); #endif matrix_init(); + matrix_debounce_init(); #ifdef PS2_MOUSE_ENABLE ps2_mouse_init(); #endif @@ -206,9 +208,6 @@ void keyboard_init(void) { void keyboard_task(void) { static matrix_row_t matrix_prev[MATRIX_ROWS]; -#ifdef MATRIX_HAS_GHOST - // static matrix_row_t matrix_ghost[MATRIX_ROWS]; -#endif static uint8_t led_status = 0; matrix_row_t matrix_row = 0; matrix_row_t matrix_change = 0; @@ -217,24 +216,15 @@ void keyboard_task(void) #endif matrix_scan(); + matrix_debounce(); + if (is_keyboard_master()) { for (uint8_t r = 0; r < MATRIX_ROWS; r++) { - matrix_row = matrix_get_row(r); + matrix_row = matrix_debounce_get_row(r); matrix_change = matrix_row ^ matrix_prev[r]; if (matrix_change) { #ifdef MATRIX_HAS_GHOST - if (has_ghost_in_row(r, matrix_row)) { - /* Keep track of whether ghosted status has changed for - * debugging. But don't update matrix_prev until un-ghosted, or - * the last key would be lost. - */ - //if (debug_matrix && matrix_ghost[r] != matrix_row) { - // matrix_print(); - //} - //matrix_ghost[r] = matrix_row; - continue; - } - //matrix_ghost[r] = matrix_row; + if (has_ghost_in_row(r, matrix_row)) continue; #endif if (debug_matrix) matrix_print(); for (uint8_t c = 0; c < MATRIX_COLS; c++) { |