Skip to content

Commit

Permalink
Force CPI update using timer when using split pointing. (qmk#23545)
Browse files Browse the repository at this point in the history
  • Loading branch information
daskygit authored and aaruff committed May 22, 2024
1 parent 858f5af commit b785879
Showing 1 changed file with 5 additions and 4 deletions.
9 changes: 5 additions & 4 deletions quantum/split_common/transactions.c
Original file line number Diff line number Diff line change
Expand Up @@ -710,16 +710,17 @@ static bool pointing_handlers_master(matrix_row_t master_matrix[], matrix_row_t
return true;
}
# endif
static uint32_t last_update = 0;
static uint16_t last_cpi = 0;
static uint32_t last_update = 0;
static uint32_t last_cpi_update = 0;
static uint16_t last_cpi = 0;
report_mouse_t temp_state;
uint16_t temp_cpi;
bool okay = read_if_checksum_mismatch(GET_POINTING_CHECKSUM, GET_POINTING_DATA, &last_update, &temp_state, &split_shmem->pointing.report, sizeof(temp_state));
if (okay) pointing_device_set_shared_report(temp_state);
temp_cpi = pointing_device_get_shared_cpi();
if (temp_cpi && last_cpi != temp_cpi) {
if (temp_cpi) {
split_shmem->pointing.cpi = temp_cpi;
okay = transport_write(PUT_POINTING_CPI, &split_shmem->pointing.cpi, sizeof(split_shmem->pointing.cpi));
okay = send_if_condition(PUT_POINTING_CPI, &last_cpi_update, last_cpi != temp_cpi, &split_shmem->pointing.cpi, sizeof(split_shmem->pointing.cpi));
if (okay) {
last_cpi = temp_cpi;
}
Expand Down

0 comments on commit b785879

Please sign in to comment.