summaryrefslogtreecommitdiffstats
path: root/quantum/matrix.c
diff options
context:
space:
mode:
authorStephan Bösebeck <sb@caluga.de>2016-05-11 22:05:19 +0200
committerStephan Bösebeck <sb@caluga.de>2016-05-11 22:05:19 +0200
commitd09d2da1c25b377b0f68ea83706903344c240ae1 (patch)
treedc3e88ef91206ccc251af32543a01ec2e7a7c208 /quantum/matrix.c
parent2e02886a1ec6d92c07f1edd13d4e68af1e861991 (diff)
parent5845eb05b53ea685c9622abf011870ab4ce84f39 (diff)
Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware
Diffstat (limited to 'quantum/matrix.c')
-rw-r--r--quantum/matrix.c17
1 files changed, 12 insertions, 5 deletions
diff --git a/quantum/matrix.c b/quantum/matrix.c
index 2dab6ae941..7d70f728d4 100644
--- a/quantum/matrix.c
+++ b/quantum/matrix.c
@@ -42,6 +42,13 @@ static matrix_row_t matrix_debouncing[MATRIX_ROWS];
static matrix_row_t matrix_reversed_debouncing[MATRIX_COLS];
#endif
+
+#if MATRIX_COLS > 16
+ #define SHIFTER 1UL
+#else
+ #define SHIFTER 1
+#endif
+
static matrix_row_t read_cols(void);
static void init_cols(void);
static void unselect_rows(void);
@@ -235,15 +242,15 @@ static matrix_row_t read_cols(void)
#endif
if ((col & 0xF0) == 0x20) {
- result |= (PINB&(1<<(col & 0x0F)) ? 0 : (1<<x));
+ result |= (PINB&(1<<(col & 0x0F)) ? 0 : (SHIFTER<<x));
} else if ((col & 0xF0) == 0x30) {
- result |= (PINC&(1<<(col & 0x0F)) ? 0 : (1<<x));
+ result |= (PINC&(1<<(col & 0x0F)) ? 0 : (SHIFTER<<x));
} else if ((col & 0xF0) == 0x40) {
- result |= (PIND&(1<<(col & 0x0F)) ? 0 : (1<<x));
+ result |= (PIND&(1<<(col & 0x0F)) ? 0 : (SHIFTER<<x));
} else if ((col & 0xF0) == 0x50) {
- result |= (PINE&(1<<(col & 0x0F)) ? 0 : (1<<x));
+ result |= (PINE&(1<<(col & 0x0F)) ? 0 : (SHIFTER<<x));
} else if ((col & 0xF0) == 0x60) {
- result |= (PINF&(1<<(col & 0x0F)) ? 0 : (1<<x));
+ result |= (PINF&(1<<(col & 0x0F)) ? 0 : (SHIFTER<<x));
}
}
return result;