From a518e1e5d88864f47b99780c325bfc8c1dbd8ada Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Tue, 21 Mar 2023 20:16:11 +1100 Subject: Sync activity timestamps between sides. (#20192) Co-authored-by: Stefan Kerkmann --- quantum/keyboard.c | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) (limited to 'quantum/keyboard.c') diff --git a/quantum/keyboard.c b/quantum/keyboard.c index ec2f2e4496..6e7d40ddc7 100644 --- a/quantum/keyboard.c +++ b/quantum/keyboard.c @@ -114,7 +114,7 @@ uint32_t last_input_activity_time(void) { return last_input_modification_time; } uint32_t last_input_activity_elapsed(void) { - return timer_elapsed32(last_input_modification_time); + return sync_timer_elapsed32(last_input_modification_time); } static uint32_t last_matrix_modification_time = 0; @@ -122,10 +122,10 @@ uint32_t last_matrix_activity_time(void) { return last_matrix_modification_time; } uint32_t last_matrix_activity_elapsed(void) { - return timer_elapsed32(last_matrix_modification_time); + return sync_timer_elapsed32(last_matrix_modification_time); } void last_matrix_activity_trigger(void) { - last_matrix_modification_time = last_input_modification_time = timer_read32(); + last_matrix_modification_time = last_input_modification_time = sync_timer_read32(); } static uint32_t last_encoder_modification_time = 0; @@ -133,10 +133,16 @@ uint32_t last_encoder_activity_time(void) { return last_encoder_modification_time; } uint32_t last_encoder_activity_elapsed(void) { - return timer_elapsed32(last_encoder_modification_time); + return sync_timer_elapsed32(last_encoder_modification_time); } void last_encoder_activity_trigger(void) { - last_encoder_modification_time = last_input_modification_time = timer_read32(); + last_encoder_modification_time = last_input_modification_time = sync_timer_read32(); +} + +void set_activity_timestamps(uint32_t matrix_timestamp, uint32_t encoder_timestamp) { + last_matrix_modification_time = matrix_timestamp; + last_encoder_modification_time = encoder_timestamp; + last_input_modification_time = MAX(matrix_timestamp, encoder_timestamp); } // Only enable this if console is enabled to print to -- cgit v1.2.3