static uint8_t led_status = 0;
matrix_row_t matrix_row = 0;
matrix_row_t matrix_change = 0;
+#ifdef QMK_KEYS_PER_SCAN
+ uint8_t keys_processed = 0;
+#endif
matrix_scan();
if (is_keyboard_master()) {
});
// record a processed key
matrix_prev[r] ^= ((matrix_row_t)1<<c);
+#ifdef QMK_KEYS_PER_SCAN
+ // only jump out if we have processed "enough" keys.
+ if (++keys_processed >= QMK_KEYS_PER_SCAN)
+#endif
// process a key per task call
goto MATRIX_LOOP_END;
}
}
}
// call with pseudo tick event when no real key event.
+#ifdef QMK_KEYS_PER_SCAN
+ // we can get here with some keys processed now.
+ if (!keys_processed)
+#endif
action_exec(TICK);
MATRIX_LOOP_END: