Skip to content

Commit

Permalink
[Core] Fix bug and code regression for Split Common (#15603)
Browse files Browse the repository at this point in the history
  • Loading branch information
drashna authored Dec 27, 2021
1 parent 2689e36 commit c86baf3
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 13 deletions.
22 changes: 10 additions & 12 deletions quantum/matrix_common.c
Original file line number Diff line number Diff line change
Expand Up @@ -95,24 +95,22 @@ uint8_t matrix_key_count(void) {
bool matrix_post_scan(void) {
bool changed = false;
if (is_keyboard_master()) {
static bool last_connected = false;
matrix_row_t slave_matrix[ROWS_PER_HAND] = {0};
if (transport_master_if_connected(matrix + thisHand, slave_matrix)) {
for (int i = 0; i < ROWS_PER_HAND; ++i) {
if (matrix[thatHand + i] != slave_matrix[i]) {
matrix[thatHand + i] = slave_matrix[i];
changed = true;
}
}
} else {
// reset other half if disconnected
for (int i = 0; i < ROWS_PER_HAND; ++i) {
matrix[thatHand + i] = 0;
slave_matrix[i] = 0;
}
changed = memcmp(matrix + thatHand, slave_matrix, sizeof(slave_matrix)) != 0;

last_connected = true;
} else if (last_connected) {
// reset other half when disconnected
memset(slave_matrix, 0, sizeof(slave_matrix));
changed = true;

last_connected = false;
}

if (changed) memcpy(matrix + thatHand, slave_matrix, sizeof(slave_matrix));

matrix_scan_quantum();
} else {
transport_slave(matrix + thatHand, matrix + thisHand);
Expand Down
1 change: 0 additions & 1 deletion quantum/split_common/split_util.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

#include <stdbool.h>
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>

#include "matrix.h"
Expand Down

0 comments on commit c86baf3

Please sign in to comment.