diff options
Diffstat (limited to 'drivers/sensors/pimoroni_trackball.h')
| -rw-r--r-- | drivers/sensors/pimoroni_trackball.h | 30 |
1 files changed, 16 insertions, 14 deletions
diff --git a/drivers/sensors/pimoroni_trackball.h b/drivers/sensors/pimoroni_trackball.h index 9e3c64c19..6b2a41425 100644 --- a/drivers/sensors/pimoroni_trackball.h +++ b/drivers/sensors/pimoroni_trackball.h | |||
| @@ -1,4 +1,5 @@ | |||
| 1 | /* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com> | 1 | /* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com> |
| 2 | * Copyright 2021 Dasky (@daskygit) | ||
| 2 | * | 3 | * |
| 3 | * This program is free software: you can redistribute it and/or modify | 4 | * This program is free software: you can redistribute it and/or modify |
| 4 | * it under the terms of the GNU General Public License as published by | 5 | * it under the terms of the GNU General Public License as published by |
| @@ -13,23 +14,24 @@ | |||
| 13 | * You should have received a copy of the GNU General Public License | 14 | * You should have received a copy of the GNU General Public License |
| 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | 15 | * along with this program. If not, see <http://www.gnu.org/licenses/>. |
| 15 | */ | 16 | */ |
| 16 | |||
| 17 | #pragma once | 17 | #pragma once |
| 18 | 18 | ||
| 19 | #include "quantum.h" | 19 | #include "quantum.h" |
| 20 | #include "pointing_device.h" | 20 | #include "pointing_device.h" |
| 21 | 21 | ||
| 22 | #ifndef TRACKBALL_ADDRESS | 22 | typedef struct pimoroni_data { |
| 23 | # define TRACKBALL_ADDRESS 0x0A | 23 | uint8_t left; |
| 24 | #endif | 24 | uint8_t right; |
| 25 | #define TRACKBALL_WRITE ((TRACKBALL_ADDRESS << 1) | I2C_WRITE) | 25 | uint8_t up; |
| 26 | #define TRACKBALL_READ (TRACKBALL_ADDRESS << 1) | 26 | uint8_t down; |
| 27 | 27 | uint8_t click; | |
| 28 | void trackball_set_rgbw(uint8_t red, uint8_t green, uint8_t blue, uint8_t white); | 28 | } pimoroni_data; |
| 29 | void trackball_check_click(bool pressed, report_mouse_t *mouse); | ||
| 30 | void trackball_register_button(bool pressed, enum mouse_buttons button); | ||
| 31 | 29 | ||
| 32 | float trackball_get_precision(void); | 30 | void trackball_set_rgbw(uint8_t red, uint8_t green, uint8_t blue, uint8_t white); |
| 33 | void trackball_set_precision(float precision); | 31 | void trackball_click(bool pressed, report_mouse_t* mouse); |
| 34 | bool trackball_is_scrolling(void); | 32 | int16_t trackball_get_offsets(uint8_t negative_dir, uint8_t positive_dir, uint8_t scale); |
| 35 | void trackball_set_scrolling(bool scroll); | 33 | void trackball_adapt_values(int8_t* mouse, int16_t* offset); |
| 34 | float trackball_get_precision(void); | ||
| 35 | void trackball_set_precision(float precision); | ||
| 36 | bool trackball_is_scrolling(void); | ||
| 37 | void trackball_set_scrolling(bool scroll); | ||
