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); | ||