aboutsummaryrefslogtreecommitdiff
path: root/drivers/sensors/pimoroni_trackball.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/sensors/pimoroni_trackball.h')
-rw-r--r--drivers/sensors/pimoroni_trackball.h30
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 22typedef 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;
28void trackball_set_rgbw(uint8_t red, uint8_t green, uint8_t blue, uint8_t white); 28} pimoroni_data;
29void trackball_check_click(bool pressed, report_mouse_t *mouse);
30void trackball_register_button(bool pressed, enum mouse_buttons button);
31 29
32float trackball_get_precision(void); 30void trackball_set_rgbw(uint8_t red, uint8_t green, uint8_t blue, uint8_t white);
33void trackball_set_precision(float precision); 31void trackball_click(bool pressed, report_mouse_t* mouse);
34bool trackball_is_scrolling(void); 32int16_t trackball_get_offsets(uint8_t negative_dir, uint8_t positive_dir, uint8_t scale);
35void trackball_set_scrolling(bool scroll); 33void trackball_adapt_values(int8_t* mouse, int16_t* offset);
34float trackball_get_precision(void);
35void trackball_set_precision(float precision);
36bool trackball_is_scrolling(void);
37void trackball_set_scrolling(bool scroll);