logo

qmk_firmware

custom branch of QMK firmware git clone https://anongit.hacktivis.me/git/qmk_firmware.git
commit: 47bc02b2ff84c9a35b8f778a8a1012f737372eea
parent 340be4bae34d35137b65f3c303f3091ede3c8938
Author: Dasky <32983009+daskygit@users.noreply.github.com>
Date:   Fri, 17 May 2024 22:59:45 +0100

Force CPI update using timer when using split pointing. (#23545)


Diffstat:

Mquantum/split_common/transactions.c9+++++----
1 file changed, 5 insertions(+), 4 deletions(-)

diff --git 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; }