diff options
author | Stephan Bösebeck <sb@caluga.de> | 2016-05-11 22:05:19 +0200 |
---|---|---|
committer | Stephan Bösebeck <sb@caluga.de> | 2016-05-11 22:05:19 +0200 |
commit | d09d2da1c25b377b0f68ea83706903344c240ae1 (patch) | |
tree | dc3e88ef91206ccc251af32543a01ec2e7a7c208 /quantum/matrix.c | |
parent | 2e02886a1ec6d92c07f1edd13d4e68af1e861991 (diff) | |
parent | 5845eb05b53ea685c9622abf011870ab4ce84f39 (diff) |
Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware
Diffstat (limited to 'quantum/matrix.c')
-rw-r--r-- | quantum/matrix.c | 17 |
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; |