diff options
| -rw-r--r-- | quantum/split_common/transactions.c | 9 | 
1 files changed, 5 insertions, 4 deletions
| diff --git a/quantum/split_common/transactions.c b/quantum/split_common/transactions.c index 33bc9e9f57..2bebd2757d 100644 --- a/quantum/split_common/transactions.c +++ b/quantum/split_common/transactions.c @@ -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;          } | 
