Commit | Line | Data |
---|---|---|
ee132284 S |
1 | /* |
2 | Copyright 2017 Joshua Broekhuijsen <snipeye+qmk@gmail.com> | |
3 | ||
4 | This program is free software: you can redistribute it and/or modify | |
5 | it under the terms of the GNU General Public License as published by | |
6 | the Free Software Foundation, either version 2 of the License, or | |
7 | (at your option) any later version. | |
8 | ||
9 | This program is distributed in the hope that it will be useful, | |
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
12 | GNU General Public License for more details. | |
13 | ||
14 | You should have received a copy of the GNU General Public License | |
15 | along with this program. If not, see <http://www.gnu.org/licenses/>. | |
16 | */ | |
17 | ||
18 | #include <stdint.h> | |
19 | #include "report.h" | |
20 | #include "host.h" | |
21 | #include "timer.h" | |
22 | #include "print.h" | |
23 | #include "debug.h" | |
24 | #include "pointing_device.h" | |
25 | ||
26 | static report_mouse_t mouseReport = {}; | |
27 | ||
28 | __attribute__ ((weak)) | |
29 | void pointing_device_init(void){ | |
30 | //initialize device, if that needs to be done. | |
31 | } | |
32 | ||
33 | __attribute__ ((weak)) | |
34 | void pointing_device_send(void){ | |
35 | //If you need to do other things, like debugging, this is the place to do it. | |
cfd118d1 | 36 | host_mouse_send(&mouseReport); |
ee132284 S |
37 | //send it and 0 it out except for buttons, so those stay until they are explicity over-ridden using update_pointing_device |
38 | mouseReport.x = 0; | |
39 | mouseReport.y = 0; | |
40 | mouseReport.v = 0; | |
41 | mouseReport.h = 0; | |
42 | } | |
43 | ||
44 | __attribute__ ((weak)) | |
45 | void pointing_device_task(void){ | |
46 | //gather info and put it in: | |
47 | //mouseReport.x = 127 max -127 min | |
48 | //mouseReport.y = 127 max -127 min | |
49 | //mouseReport.v = 127 max -127 min (scroll vertical) | |
50 | //mouseReport.h = 127 max -127 min (scroll horizontal) | |
51 | //mouseReport.buttons = 0x1F (decimal 31, binary 00011111) max (bitmask for mouse buttons 1-5, 1 is rightmost, 5 is leftmost) 0x00 min | |
52 | //send the report | |
53 | pointing_device_send(); | |
54 | } | |
55 | ||
56 | report_mouse_t pointing_device_get_report(void){ | |
57 | return mouseReport; | |
58 | } | |
59 | ||
60 | void pointing_device_set_report(report_mouse_t newMouseReport){ | |
61 | mouseReport = newMouseReport; | |
62 | } |