mirror of
https://github.com/firewalkwithm3/qmk_firmware.git
synced 2024-11-22 19:40:29 +08:00
Enable a default task throttle for split pointing. (#15925)
This commit is contained in:
parent
c99cbd915f
commit
7b31fc54df
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in a new issue