summaryrefslogtreecommitdiff
path: root/keyboards
diff options
context:
space:
mode:
authorFlorian Didron <0x6664@hey.com>2020-10-14 10:48:06 +0900
committerFlorian Didron <0x6664@hey.com>2020-10-14 10:48:06 +0900
commita270d67f9f7a3d5ccbe354007775ac3f1033376f (patch)
treec64b384abef89a8c47c22c7c8a4549085e7e034b /keyboards
parentded395e45d815cef58b454345bc536fa188d6280 (diff)
parenta4b6fe0b23bb73bb7b4f58f5a74bb8e470f08b99 (diff)
Merge branch 'firmware19' of github.com:zsa/qmk_firmware into firmware19
Diffstat (limited to 'keyboards')
-rw-r--r--keyboards/ergodox_ez/matrix.c15
-rw-r--r--keyboards/moonlander/matrix.c35
2 files changed, 50 insertions, 0 deletions
diff --git a/keyboards/ergodox_ez/matrix.c b/keyboards/ergodox_ez/matrix.c
index d18800f19b..88aeb61722 100644
--- a/keyboards/ergodox_ez/matrix.c
+++ b/keyboards/ergodox_ez/matrix.c
@@ -242,3 +242,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;
+ }
+
+}
diff --git a/keyboards/moonlander/matrix.c b/keyboards/moonlander/matrix.c
index e5b9b81a2e..a67a091705 100644
--- a/keyboards/moonlander/matrix.c
+++ b/keyboards/moonlander/matrix.c
@@ -259,3 +259,38 @@ void matrix_print(void) {
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;
+ }
+
+}