summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDasky <32983009+daskygit@users.noreply.github.com>2022-01-26 19:24:29 +0000
committerGitHub <noreply@github.com>2022-01-26 19:24:29 +0000
commit7b31fc54df6543e3426cce159a915fdaa947b57d (patch)
tree895d8f447395c6977b27e89e9974a29bc8678460
parentc99cbd915f18a13ce19b0f86721bef10e80bb558 (diff)
Enable a default task throttle for split pointing. (#15925)
-rw-r--r--docs/feature_pointing_device.md2
-rw-r--r--quantum/pointing_device.c6
-rw-r--r--quantum/pointing_device.h3
-rw-r--r--quantum/split_common/transactions.c2
4 files changed, 6 insertions, 7 deletions
diff --git a/docs/feature_pointing_device.md b/docs/feature_pointing_device.md
index 84ab885738..1972406ff7 100644
--- a/docs/feature_pointing_device.md
+++ b/docs/feature_pointing_device.md
@@ -204,7 +204,7 @@ void pointing_device_driver_set_cpi(uint16_t cpi) {}
|`POINTING_DEVICE_MOTION_PIN` | (Optional) If supported, will only read from sensor if pin is active. | _not defined_ |
|`POINTING_DEVICE_TASK_THROTTLE_MS` | (Optional) Limits the frequency that the sensor is polled for motion. | _not defined_ |
-!> When using `SPLIT_POINTING_ENABLE` the `POINTING_DEVICE_MOTION_PIN` functionality is not supported and would recommend `POINTING_DEVICE_TASK_THROTTLE_MS` be set to `1`. Increasing this value will increase transport performance at the cost of possible mouse responsiveness.
+!> When using `SPLIT_POINTING_ENABLE` the `POINTING_DEVICE_MOTION_PIN` functionality is not supported and `POINTING_DEVICE_TASK_THROTTLE_MS` will default to `1`. Increasing this value will increase transport performance at the cost of possible mouse responsiveness.
## Split Keyboard Configuration
diff --git a/quantum/pointing_device.c b/quantum/pointing_device.c
index 23d93fa15f..cce292e0bf 100644
--- a/quantum/pointing_device.c
+++ b/quantum/pointing_device.c
@@ -217,16 +217,12 @@ __attribute__((weak)) void pointing_device_task(void) {
};
#endif
-#if defined(POINTING_DEVICE_TASK_THROTTLE_MS)
+#if (POINTING_DEVICE_TASK_THROTTLE_MS > 0)
static uint32_t last_exec = 0;
if (timer_elapsed32(last_exec) < POINTING_DEVICE_TASK_THROTTLE_MS) {
return;
}
last_exec = timer_read32();
-#else
-# if defined(SPLIT_POINTING_ENABLE)
-# pragma message("It's recommended you enable a throttle when sharing pointing devices.")
-# endif
#endif
// Gather report info
diff --git a/quantum/pointing_device.h b/quantum/pointing_device.h
index 6ff267e491..8394c20952 100644
--- a/quantum/pointing_device.h
+++ b/quantum/pointing_device.h
@@ -94,6 +94,9 @@ report_mouse_t pointing_device_adjust_by_defines(report_mouse_t mouse_report);
#if defined(SPLIT_POINTING_ENABLE)
void pointing_device_set_shared_report(report_mouse_t report);
uint16_t pointing_device_get_shared_cpi(void);
+# if !defined(POINTING_DEVICE_TASK_THROTTLE_MS)
+# define POINTING_DEVICE_TASK_THROTTLE_MS 1
+# endif
# if defined(POINTING_DEVICE_COMBINED)
void pointing_device_set_cpi_on_side(bool left, uint16_t cpi);
report_mouse_t pointing_device_combine_reports(report_mouse_t left_report, report_mouse_t right_report);
diff --git a/quantum/split_common/transactions.c b/quantum/split_common/transactions.c
index 81f9836382..d9e8fd1f6b 100644
--- a/quantum/split_common/transactions.c
+++ b/quantum/split_common/transactions.c
@@ -624,7 +624,7 @@ static void pointing_handlers_slave(matrix_row_t master_matrix[], matrix_row_t s
# endif
report_mouse_t temp_report;
uint16_t temp_cpi;
-# ifdef POINTING_DEVICE_TASK_THROTTLE_MS
+# if (POINTING_DEVICE_TASK_THROTTLE_MS > 0)
static uint32_t last_exec = 0;
if (timer_elapsed32(last_exec) < POINTING_DEVICE_TASK_THROTTLE_MS) {
return;