1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ |
2 | #ifndef __HID_ROCCAT_SAVU_H |
3 | #define __HID_ROCCAT_SAVU_H |
4 | |
5 | /* |
6 | * Copyright (c) 2012 Stefan Achatz <erazor_de@users.sourceforge.net> |
7 | */ |
8 | |
9 | /* |
10 | */ |
11 | |
12 | #include <linux/types.h> |
13 | |
14 | struct savu_mouse_report_special { |
15 | uint8_t report_number; /* always 3 */ |
16 | uint8_t zero; |
17 | uint8_t type; |
18 | uint8_t data[2]; |
19 | } __packed; |
20 | |
21 | enum { |
22 | SAVU_MOUSE_REPORT_NUMBER_SPECIAL = 3, |
23 | }; |
24 | |
25 | enum savu_mouse_report_button_types { |
26 | /* data1 = new profile range 1-5 */ |
27 | SAVU_MOUSE_REPORT_BUTTON_TYPE_PROFILE = 0x20, |
28 | |
29 | /* data1 = button number range 1-24; data2 = action */ |
30 | SAVU_MOUSE_REPORT_BUTTON_TYPE_QUICKLAUNCH = 0x60, |
31 | |
32 | /* data1 = button number range 1-24; data2 = action */ |
33 | SAVU_MOUSE_REPORT_BUTTON_TYPE_TIMER = 0x80, |
34 | |
35 | /* data1 = setting number range 1-5 */ |
36 | SAVU_MOUSE_REPORT_BUTTON_TYPE_CPI = 0xb0, |
37 | |
38 | /* data1 and data2 = range 0x1-0xb */ |
39 | SAVU_MOUSE_REPORT_BUTTON_TYPE_SENSITIVITY = 0xc0, |
40 | |
41 | /* data1 = 22 = next track... |
42 | * data2 = action |
43 | */ |
44 | SAVU_MOUSE_REPORT_BUTTON_TYPE_MULTIMEDIA = 0xf0, |
45 | }; |
46 | |
47 | struct savu_roccat_report { |
48 | uint8_t type; |
49 | uint8_t data[2]; |
50 | } __packed; |
51 | |
52 | #endif |
53 | |