static matrix_row_t get_real_keys(uint8_t row, matrix_row_t rowdata){
matrix_row_t out = 0;
for (int col = 0; col < MATRIX_COLS; col++) {
- if (pgm_read_byte(&keymaps[0][row][col]) && ((rowdata & (1<<col)))){
+ if (pgm_read_byte(&keymaps[0][row][col]) && (rowdata & (1<<col))){
out |= 1<<col;
}
}
static inline bool has_ghost_in_row(uint8_t row, matrix_row_t rowdata)
{
rowdata = get_real_keys(row, rowdata);
- if (((rowdata - 1) & rowdata) == 0){
+ if ((countones(rowdata)) == 0){
return false;
}
/* No ghost exists when less than 2 keys are down on the row.