summaryrefslogtreecommitdiff
path: root/quantum/keyboard.c
diff options
context:
space:
mode:
authorNick Brassel <nick@tzarc.org>2023-03-21 20:16:11 +1100
committerGitHub <noreply@github.com>2023-03-21 10:16:11 +0100
commita518e1e5d88864f47b99780c325bfc8c1dbd8ada (patch)
tree9aefbd77dfcdd7d5635b273dbaa1468c3249414f /quantum/keyboard.c
parent0e1e543836653c48fb6ddf6f57adeb62ed8318d8 (diff)
Sync activity timestamps between sides. (#20192)
Co-authored-by: Stefan Kerkmann <karlk90@pm.me>
Diffstat (limited to 'quantum/keyboard.c')
-rw-r--r--quantum/keyboard.c16
1 files changed, 11 insertions, 5 deletions
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