fix issues with keyboard sleep (#316)

Co-authored-by: Drashna Jael're <drashna@live.com>
This commit is contained in:
Florian Didron
2020-10-14 10:46:53 +09:00
committed by GitHub
parent edd58256f5
commit a4b6fe0b23
2 changed files with 50 additions and 0 deletions

View File

@@ -321,3 +321,18 @@ static void select_row(uint8_t row) {
} }
} }
} }
// DO NOT REMOVE
// Needed for proper wake/sleep
void matrix_power_up(void) {
mcp23018_status = init_mcp23018();
unselect_rows();
init_cols();
// initialize matrix state: all keys off
for (uint8_t i=0; i < MATRIX_ROWS; i++) {
matrix[i] = 0;
}
}

View File

@@ -259,3 +259,38 @@ void matrix_print(void) {
printf("\n"); printf("\n");
} }
} }
// DO NOT REMOVE
// Needed for proper wake/sleep
void matrix_power_up(void) {
mcp23018_init();
// outputs
setPinOutput(B10);
setPinOutput(B11);
setPinOutput(B12);
setPinOutput(B13);
setPinOutput(B14);
setPinOutput(B15);
// inputs
setPinInputLow(A0);
setPinInputLow(A1);
setPinInputLow(A2);
setPinInputLow(A3);
setPinInputLow(A6);
setPinInputLow(A7);
setPinInputLow(B0);
memset(matrix, 0, MATRIX_ROWS * sizeof(matrix_row_t));
memset(matrix_debouncing, 0, MATRIX_ROWS * sizeof(matrix_row_t));
memset(matrix_debouncing_right, 0, MATRIX_COLS * sizeof(matrix_row_t));
// initialize matrix state: all keys off
for (uint8_t i=0; i < MATRIX_ROWS; i++) {
matrix[i] = 0;
}
}