forked from mirrors/qmk_userspace
		
	
					parent
					
						
							
								897f5b2f9d
							
						
					
				
			
			
				commit
				
					
						1ae6011cef
					
				
			
		
					 2 changed files with 5 additions and 7 deletions
				
			
		| 
						 | 
				
			
			@ -37,10 +37,8 @@ static const io_pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS;
 | 
			
		|||
/* matrix state */
 | 
			
		||||
#if DIODE_DIRECTION == COL2ROW
 | 
			
		||||
static matrix_row_t matrix[MATRIX_ROWS];
 | 
			
		||||
static matrix_row_t debouncing_matrix[MATRIX_ROWS];
 | 
			
		||||
#else
 | 
			
		||||
static matrix_col_t matrix[MATRIX_COLS];
 | 
			
		||||
static matrix_col_t debouncing_matrix[MATRIX_COLS];
 | 
			
		||||
#endif
 | 
			
		||||
static int8_t debouncing_delay = -1;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -99,6 +97,7 @@ void matrix_init(void) {
 | 
			
		|||
 | 
			
		||||
#if DIODE_DIRECTION == COL2ROW
 | 
			
		||||
uint8_t matrix_scan(void) {
 | 
			
		||||
    static matrix_row_t debouncing_matrix[MATRIX_ROWS];
 | 
			
		||||
    for (int8_t r = MATRIX_ROWS - 1; r >= 0; --r) {
 | 
			
		||||
        toggle_row(r);
 | 
			
		||||
        matrix_row_t state = read_cols();
 | 
			
		||||
| 
						 | 
				
			
			@ -146,6 +145,7 @@ matrix_row_t matrix_get_row(uint8_t row) {
 | 
			
		|||
 | 
			
		||||
#else
 | 
			
		||||
uint8_t matrix_scan(void) {
 | 
			
		||||
    static matrix_col_t debouncing_matrix[MATRIX_COLS];
 | 
			
		||||
    for (int8_t c = MATRIX_COLS - 1; c >= 0; --c) {
 | 
			
		||||
        toggle_col(c);
 | 
			
		||||
        matrix_col_t state = read_rows();
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -96,17 +96,15 @@ void keyboard_init(void) {
 | 
			
		|||
 | 
			
		||||
/* does routine keyboard jobs */
 | 
			
		||||
void keyboard_task(void) {
 | 
			
		||||
    static matrix_row_t previous_matrix[MATRIX_ROWS];
 | 
			
		||||
#ifdef MATRIX_HAS_GHOST
 | 
			
		||||
    static matrix_row_t deghosting_matrix[MATRIX_ROWS];
 | 
			
		||||
#endif
 | 
			
		||||
    static uint8_t led_status = 0;
 | 
			
		||||
    static uint8_t led_status;
 | 
			
		||||
    matrix_scan();
 | 
			
		||||
    for (int8_t r = MATRIX_ROWS - 1; r >= 0; --r) {
 | 
			
		||||
        static matrix_row_t previous_matrix[MATRIX_ROWS];
 | 
			
		||||
        matrix_row_t state = matrix_get_row(r);
 | 
			
		||||
        matrix_row_t changes = state ^ previous_matrix[r];
 | 
			
		||||
        if (changes) {
 | 
			
		||||
#ifdef MATRIX_HAS_GHOST
 | 
			
		||||
            static matrix_row_t deghosting_matrix[MATRIX_ROWS];
 | 
			
		||||
            if (is_row_ghosting(r)) {
 | 
			
		||||
                /* debugs the deghosting mechanism */
 | 
			
		||||
                /* doesn't update previous_matrix until the ghosting has stopped
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue