aboutsummaryrefslogtreecommitdiff
path: root/quantum/matrix.c
diff options
context:
space:
mode:
Diffstat (limited to 'quantum/matrix.c')
-rw-r--r--quantum/matrix.c22
1 files changed, 2 insertions, 20 deletions
diff --git a/quantum/matrix.c b/quantum/matrix.c
index 62a86fba6..1675f2477 100644
--- a/quantum/matrix.c
+++ b/quantum/matrix.c
@@ -22,10 +22,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
22#include "debounce.h" 22#include "debounce.h"
23#include "quantum.h" 23#include "quantum.h"
24 24
25#ifdef MATRIX_MASKED
26extern const matrix_row_t matrix_mask[];
27#endif
28
29#ifdef DIRECT_PINS 25#ifdef DIRECT_PINS
30static pin_t direct_pins[MATRIX_ROWS][MATRIX_COLS] = DIRECT_PINS; 26static pin_t direct_pins[MATRIX_ROWS][MATRIX_COLS] = DIRECT_PINS;
31#elif (DIODE_DIRECTION == ROW2COL) || (DIODE_DIRECTION == COL2ROW) 27#elif (DIODE_DIRECTION == ROW2COL) || (DIODE_DIRECTION == COL2ROW)
@@ -34,22 +30,8 @@ static const pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS;
34#endif 30#endif
35 31
36/* matrix state(1:on, 0:off) */ 32/* matrix state(1:on, 0:off) */
37static matrix_row_t raw_matrix[MATRIX_ROWS]; // raw values 33extern matrix_row_t raw_matrix[MATRIX_ROWS]; // raw values
38static matrix_row_t matrix[MATRIX_ROWS]; // debounced values 34extern matrix_row_t matrix[MATRIX_ROWS]; // debounced values
39
40// helper functions
41
42inline bool matrix_is_on(uint8_t row, uint8_t col) { return (matrix[row] & ((matrix_row_t)1 << col)); }
43
44inline matrix_row_t matrix_get_row(uint8_t row) {
45 // Matrix mask lets you disable switches in the returned matrix data. For example, if you have a
46 // switch blocker installed and the switch is always pressed.
47#ifdef MATRIX_MASKED
48 return matrix[row] & matrix_mask[row];
49#else
50 return matrix[row];
51#endif
52}
53 35
54// matrix code 36// matrix code
55 37