Skip to content

Commit

Permalink
Provide a mechanism for split keyboards to process key press on both …
Browse files Browse the repository at this point in the history
…halves (qmk#9001)
  • Loading branch information
zvecr authored and turky committed Jun 13, 2020
1 parent 9c6eb24 commit 2f46b68
Showing 1 changed file with 8 additions and 1 deletion.
9 changes: 8 additions & 1 deletion tmk_core/common/keyboard.c
Original file line number Diff line number Diff line change
Expand Up @@ -213,6 +213,13 @@ void keyboard_setup(void) {
*/
__attribute__((weak)) bool is_keyboard_master(void) { return true; }

/** \brief should_process_keypress
*
* Override this function if you have a condition where keypresses processing should change:
* - splits where the slave side needs to process for rgb/oled functionality
*/
__attribute__((weak)) bool should_process_keypress(void) { return is_keyboard_master(); }

/** \brief keyboard_init
*
* FIXME: needs doc
Expand Down Expand Up @@ -292,7 +299,7 @@ void keyboard_task(void) {
matrix_scan();
#endif

if (is_keyboard_master()) {
if (should_process_keypress()) {
for (uint8_t r = 0; r < MATRIX_ROWS; r++) {
matrix_row = matrix_get_row(r);
matrix_change = matrix_row ^ matrix_prev[r];
Expand Down

0 comments on commit 2f46b68

Please sign in to comment.