From bf986579dd6b0d503e8b7de18858e0713cd9c20b Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Sat, 1 Apr 2023 11:01:46 -0700 Subject: Fixup Pointing device functions (#20311) --- docs/feature_pointing_device.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'docs/feature_pointing_device.md') diff --git a/docs/feature_pointing_device.md b/docs/feature_pointing_device.md index 0089dc7024..ce716a8c8f 100644 --- a/docs/feature_pointing_device.md +++ b/docs/feature_pointing_device.md @@ -713,7 +713,7 @@ _Note: The Cirque pinnacle track pad already implements a custom activation func When using a custom pointing device (overwriting `pointing_device_task`) the following code should be somewhere in the `pointing_device_task_*` stack: ```c -void pointing_device_task(void) { +bool pointing_device_task(void) { //...Custom pointing device task code // handle automatic mouse layer (needs report_mouse_t as input) @@ -721,7 +721,7 @@ void pointing_device_task(void) { //...More custom pointing device task code - pointing_device_send(); + return pointing_device_send(); } ``` -- cgit v1.2.3 From 9a68472da87bea6eb9e209b8cf90de09211f23c8 Mon Sep 17 00:00:00 2001 From: Vladislav Marchenko Date: Mon, 3 Apr 2023 08:57:19 +0600 Subject: Added PMW3320 driver (#19543) --- docs/feature_pointing_device.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'docs/feature_pointing_device.md') diff --git a/docs/feature_pointing_device.md b/docs/feature_pointing_device.md index ce716a8c8f..c459ba4e9d 100644 --- a/docs/feature_pointing_device.md +++ b/docs/feature_pointing_device.md @@ -197,6 +197,24 @@ The Pimoroni Trackball module is a I2C based breakout board with an RGB enable t | `PIMORONI_TRACKBALL_DEBOUNCE_CYCLES` | (Optional) The number of scan cycles used for debouncing on the ball press. | `20` | | `PIMORONI_TRACKBALL_ERROR_COUNT` | (Optional) Specifies the number of read/write errors until the sensor is disabled. | `10` | +### PMW3320 Sensor + +To use the PMW3320 sensor, add this to your `rules.mk` + +```make +POINTING_DEVICE_DRIVER = pmw3320 +``` + +The PMW3320 sensor uses a serial type protocol for communication, and requires an additional light source (it could work without one, but expect it to be out of service early). + +| Setting | Description | Default | +| ------------------- | ------------------------------------------------------------------- | -------------------------- | +| `PMW3320_SCLK_PIN` | (Required) The pin connected to the clock pin of the sensor. | `POINTING_DEVICE_SCLK_PIN` | +| `PMW3320_SDIO_PIN` | (Required) The pin connected to the data pin of the sensor. | `POINTING_DEVICE_SDIO_PIN` | +| `PMW3320_CS_PIN` | (Required) The pin connected to the cable select pin of the sensor. | `POINTING_DEVICE_CS_PIN` | + +The CPI range is 500-3500, in increments of 250. Defaults to 1000 CPI. + ### PMW 3360 and PMW 3389 Sensor This drivers supports both the PMW 3360 and PMW 3389 sensor as well as multiple sensors of the same type _per_ controller, so 2 can be attached at the same side for split keyboards (or unsplit keyboards). -- cgit v1.2.3 From 59eb8940b028bfa2a215231719b8eeca57701ed1 Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Sat, 6 May 2023 06:38:45 -0700 Subject: Make Pointing Device Auto Layer more configurable (#20061) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Pablo Martínez <58857054+elpekenin@users.noreply.github.com> --- docs/feature_pointing_device.md | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'docs/feature_pointing_device.md') diff --git a/docs/feature_pointing_device.md b/docs/feature_pointing_device.md index e5a268e47b..909eff826d 100644 --- a/docs/feature_pointing_device.md +++ b/docs/feature_pointing_device.md @@ -689,6 +689,10 @@ There are several functions that allow for more advanced interaction with the au | `auto_mouse_layer_off(void)` | Disable target layer if appropriate will call (makes call to `layer_state_set`) | | `void`(None) | | `auto_mouse_toggle(void)` | Toggle on/off target toggle state (disables layer deactivation when true) | | `void`(None) | | `get_auto_mouse_toggle(void)` | Return value of toggling state variable | | `bool` | +| `set_auto_mouse_timeout(uint16_t timeout)` | Change/set the timeout for turing off the layer | | `void`(None) | +| `get_auto_mouse_timeout(void)` | Return the current timeout for turing off the layer | | `uint16_t` | +| `set_auto_mouse_debounce(uint16_t timeout)` | Change/set the debounce for preventing layer activation | | `void`(None) | +| `get_auto_mouse_debounce(void)` | Return the current debounce for preventing layer activation | | `uint8_t` | _NOTES:_ - _Due to the nature of how some functions work, the `auto_mouse_trigger_reset`, and `auto_mouse_layer_off` functions should never be called in the `layer_state_set_*` stack as this can cause indefinite loops._ -- cgit v1.2.3