From 780ca5565d2bdb8e03aa2669a3203373a0a4d9dd Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Wed, 3 Feb 2021 17:25:05 -0800 Subject: Improve Pointing Device report sending (#11064) * Improve Pointing Device report sending * Hide old report behind preprocessors too * put host_mouse_send() in curly brackets * Remove POINTING_DEVICE_ALWAYS_SEND_REPORT functionality * Fix typo * fix function ref in docs Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> --- docs/feature_pointing_device.md | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'docs') diff --git a/docs/feature_pointing_device.md b/docs/feature_pointing_device.md index c9309d6975..37edac5e6b 100644 --- a/docs/feature_pointing_device.md +++ b/docs/feature_pointing_device.md @@ -27,6 +27,10 @@ Once you have made the necessary changes to the mouse report, you need to send i When the mouse report is sent, the x, y, v, and h values are set to 0 (this is done in `pointing_device_send()`, which can be overridden to avoid this behavior). This way, button states persist, but movement will only occur once. For further customization, both `pointing_device_init` and `pointing_device_task` can be overridden. +Additionally, by default, `pointing_device_send()` will only send a report when the report has actually changed. This prevents it from continuously sending mouse reports, which will keep the host system awake. This behavior can be changed by creating your own `pointing_device_send()` function. + +Also, you use the `has_mouse_report_changed(new, old)` function to check to see if the report has changed. + In the following example, a custom key is used to click the mouse and scroll 127 units vertically and horizontally, then undo all of that when released - because that's a totally useful function. Listen, this is an example: ```c -- cgit v1.2.3