blob: b44efe15e822b3360a26162209cf9d0dc1e0fc11 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
#ifndef RAZER_PROFILE_EMULATION_H_
#define RAZER_PROFILE_EMULATION_H_
#include "razer_private.h"
#define PROFEMU_NAME_MAX 32
struct razer_mouse_profile_emu_data {
/* Profile name string */
razer_utf16_t name[PROFEMU_NAME_MAX + 1];
/* Frequency selection for this emulated profile */
enum razer_mouse_freq freq;
/* DPI mappings (per axis) for this emulated profile */
struct razer_mouse_dpimapping *dpimappings[3];
unsigned int nr_dpimappings;
/* Button mappings (per physical button) for this emulated profile */
struct razer_button_function *butfuncs[11];
unsigned int nr_butfuncs;
};
struct razer_mouse_profile_emu {
struct razer_mouse *mouse;
/* Emulated profiles */
struct razer_mouse_profile profiles[RAZER_NR_EMULATED_PROFILES];
struct razer_mouse_profile_emu_data data[RAZER_NR_EMULATED_PROFILES];
struct razer_mouse_profile *active_profile;
/* The hardware profile. This is what the driver uses. */
struct razer_mouse_profile *hw_profile;
};
int razer_mouse_init_profile_emulation(struct razer_mouse *m);
void razer_mouse_exit_profile_emulation(struct razer_mouse *m);
#endif /* RAZER_PROFILE_EMULATION_H_ */
|