@@ -32,86 +32,148 @@ RGBController_AuraMousemat::RGBController_AuraMousemat(AuraMousematController* c
32
32
serial = controller->GetSerialString ();
33
33
34
34
mode Direct;
35
- Direct.name = " Direct" ;
36
- Direct.value = AURA_MOUSEMAT_MODE_DIRECT;
37
- Direct.flags = MODE_FLAG_HAS_PER_LED_COLOR;
38
- Direct.color_mode = MODE_COLORS_PER_LED;
35
+ Direct.name = " Direct" ;
36
+ Direct.value = AURA_MOUSEMAT_MODE_DIRECT;
37
+ Direct.flags = MODE_FLAG_HAS_PER_LED_COLOR;
38
+ Direct.color_mode = MODE_COLORS_PER_LED;
39
39
modes.push_back (Direct);
40
40
41
41
mode Static;
42
- Static.name = " Static" ;
43
- Static.value = AURA_MOUSEMAT_MODE_STATIC;
44
- Static.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_MANUAL_SAVE;
45
- Static.color_mode = MODE_COLORS_MODE_SPECIFIC;
46
- Static.speed_min = AURA_MOUSEMAT_SPEED_MIN;
47
- Static.speed_max = AURA_MOUSEMAT_SPEED_MAX;
48
- Static.speed = AURA_MOUSEMAT_SPEED_DEFAULT;
49
- Static.brightness_min = AURA_MOUSEMAT_BRIGHTNESS_MIN;
50
- Static.brightness_max = AURA_MOUSEMAT_BRIGHTNESS_MAX;
51
- Static.brightness = AURA_MOUSEMAT_BRIGHTNESS_DEFAULT;
52
- Static.colors_min = 1 ;
53
- Static.colors_max = 1 ;
42
+ Static.name = " Static" ;
43
+ Static.value = AURA_MOUSEMAT_MODE_STATIC;
44
+ Static.flags = MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_MANUAL_SAVE;
45
+ Static.color_mode = MODE_COLORS_MODE_SPECIFIC;
46
+ Static.brightness_min = AURA_MOUSEMAT_BRIGHTNESS_MIN;
47
+ Static.brightness_max = AURA_MOUSEMAT_BRIGHTNESS_MAX;
48
+ Static.brightness = AURA_MOUSEMAT_BRIGHTNESS_DEFAULT;
49
+ Static.colors_min = 1 ;
50
+ Static.colors_max = 1 ;
54
51
Static.colors .resize (1 );
55
52
modes.push_back (Static);
56
53
57
54
mode Breathing;
58
- Breathing.name = " Breathing" ;
59
- Breathing.value = AURA_MOUSEMAT_MODE_BREATHING;
60
- Breathing.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_MANUAL_SAVE;
61
- Breathing.color_mode = MODE_COLORS_MODE_SPECIFIC;
62
- Breathing.speed_min = AURA_MOUSEMAT_SPEED_MIN;
63
- Breathing.speed_max = AURA_MOUSEMAT_SPEED_MAX;
64
- Breathing.speed = AURA_MOUSEMAT_SPEED_DEFAULT ;
65
- Breathing.brightness_min = AURA_MOUSEMAT_BRIGHTNESS_MIN;
66
- Breathing.brightness_max = AURA_MOUSEMAT_BRIGHTNESS_MAX;
67
- Breathing.brightness = AURA_MOUSEMAT_BRIGHTNESS_DEFAULT;
68
- Breathing.colors_min = 1 ;
69
- Breathing.colors_max = 1 ;
55
+ Breathing.name = " Breathing" ;
56
+ Breathing.value = AURA_MOUSEMAT_MODE_BREATHING;
57
+ Breathing.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_RANDOM_COLOR | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_MANUAL_SAVE;
58
+ Breathing.color_mode = MODE_COLORS_MODE_SPECIFIC | MODE_COLORS_RANDOM ;
59
+ Breathing.speed_min = AURA_MOUSEMAT_SPEED_MIN;
60
+ Breathing.speed_max = AURA_MOUSEMAT_SPEED_MAX;
61
+ Breathing.speed = AURA_MOUSEMAT_SPEED_DEFAULT_BREATHING ;
62
+ Breathing.brightness_min = AURA_MOUSEMAT_BRIGHTNESS_MIN;
63
+ Breathing.brightness_max = AURA_MOUSEMAT_BRIGHTNESS_MAX;
64
+ Breathing.brightness = AURA_MOUSEMAT_BRIGHTNESS_DEFAULT;
65
+ Breathing.colors_min = 1 ;
66
+ Breathing.colors_max = 2 ;
70
67
Breathing.colors .resize (1 );
71
68
modes.push_back (Breathing);
72
69
73
70
mode ColorCycle;
74
- ColorCycle.name = " Color Cycle" ;
75
- ColorCycle.value = AURA_MOUSEMAT_MODE_COLOR_CYCLE;
76
- ColorCycle.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_MANUAL_SAVE;
77
- ColorCycle.color_mode = MODE_COLORS_NONE;
78
- ColorCycle.speed_min = AURA_MOUSEMAT_SPEED_MIN;
79
- ColorCycle.speed_max = AURA_MOUSEMAT_SPEED_MAX;
80
- ColorCycle.speed = AURA_MOUSEMAT_SPEED_DEFAULT ;
81
- ColorCycle.brightness_min = AURA_MOUSEMAT_BRIGHTNESS_MIN;
82
- ColorCycle.brightness_max = AURA_MOUSEMAT_BRIGHTNESS_MAX;
83
- ColorCycle.brightness = AURA_MOUSEMAT_BRIGHTNESS_DEFAULT;
71
+ ColorCycle.name = " Color Cycle" ;
72
+ ColorCycle.value = AURA_MOUSEMAT_MODE_COLOR_CYCLE;
73
+ ColorCycle.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_MANUAL_SAVE;
74
+ ColorCycle.color_mode = MODE_COLORS_NONE;
75
+ ColorCycle.speed_min = AURA_MOUSEMAT_SPEED_MIN;
76
+ ColorCycle.speed_max = AURA_MOUSEMAT_SPEED_MAX;
77
+ ColorCycle.speed = AURA_MOUSEMAT_SPEED_DEFAULT_COLOR_CYCLE ;
78
+ ColorCycle.brightness_min = AURA_MOUSEMAT_BRIGHTNESS_MIN;
79
+ ColorCycle.brightness_max = AURA_MOUSEMAT_BRIGHTNESS_MAX;
80
+ ColorCycle.brightness = AURA_MOUSEMAT_BRIGHTNESS_DEFAULT;
84
81
modes.push_back (ColorCycle);
85
82
83
+ mode Wave;
84
+ Wave.name = " Wave" ;
85
+ Wave.value = AURA_MOUSEMAT_MODE_WAVE;
86
+ Wave.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_HAS_DIRECTION_LR | MODE_FLAG_MANUAL_SAVE;
87
+ Wave.color_mode = MODE_COLORS_MODE_SPECIFIC;
88
+ Wave.speed_min = AURA_MOUSEMAT_SPEED_MIN;
89
+ Wave.speed_max = AURA_MOUSEMAT_SPEED_MAX;
90
+ Wave.speed = AURA_MOUSEMAT_SPEED_DEFAULT_WAVE;
91
+ Wave.brightness_min = AURA_MOUSEMAT_BRIGHTNESS_MIN;
92
+ Wave.brightness_max = AURA_MOUSEMAT_BRIGHTNESS_MAX;
93
+ Wave.brightness = AURA_MOUSEMAT_BRIGHTNESS_DEFAULT;
94
+ Wave.direction = MODE_DIRECTION_LEFT;
95
+ Wave.colors_min = 7 ;
96
+ Wave.colors_max = 7 ;
97
+ Wave.colors .resize (7 );
98
+ modes.push_back (Wave);
99
+
100
+ mode WavePlane;
101
+ WavePlane.name = " Wave Plane" ;
102
+ WavePlane.value = AURA_MOUSEMAT_MODE_WAVE_PLANE;
103
+ WavePlane.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_HAS_DIRECTION_LR | MODE_FLAG_HAS_DIRECTION_UD | MODE_FLAG_MANUAL_SAVE;
104
+ WavePlane.color_mode = MODE_COLORS_NONE;
105
+ WavePlane.speed_min = AURA_MOUSEMAT_SPEED_MIN;
106
+ WavePlane.speed_max = AURA_MOUSEMAT_SPEED_MAX;
107
+ WavePlane.speed = AURA_MOUSEMAT_SPEED_DEFAULT_WAVE_PLANE;
108
+ WavePlane.brightness_min = AURA_MOUSEMAT_BRIGHTNESS_MIN;
109
+ WavePlane.brightness_max = AURA_MOUSEMAT_BRIGHTNESS_MAX;
110
+ WavePlane.brightness = AURA_MOUSEMAT_BRIGHTNESS_DEFAULT;
111
+ WavePlane.direction = MODE_DIRECTION_LEFT;
112
+ modes.push_back (WavePlane);
113
+
86
114
mode Comet;
87
- Comet.name = " Comet" ;
88
- Comet.value = AURA_MOUSEMAT_MODE_COMET;
89
- Comet.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_MANUAL_SAVE;
90
- Comet.color_mode = MODE_COLORS_MODE_SPECIFIC;
91
- Comet.speed_min = AURA_MOUSEMAT_SPEED_MIN;
92
- Comet.speed_max = AURA_MOUSEMAT_SPEED_MAX;
93
- Comet.speed = AURA_MOUSEMAT_SPEED_DEFAULT;
94
- Comet.brightness_min = AURA_MOUSEMAT_BRIGHTNESS_MIN;
95
- Comet.brightness_max = AURA_MOUSEMAT_BRIGHTNESS_MAX;
96
- Comet.brightness = AURA_MOUSEMAT_BRIGHTNESS_DEFAULT;
97
- Comet.colors_min = 1 ;
98
- Comet.colors_max = 1 ;
115
+ Comet.name = " Comet" ;
116
+ Comet.value = AURA_MOUSEMAT_MODE_COMET;
117
+ Comet.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_HAS_DIRECTION_LR | MODE_FLAG_HAS_DIRECTION_HV | MODE_FLAG_MANUAL_SAVE;
118
+ Comet.color_mode = MODE_COLORS_MODE_SPECIFIC;
119
+ Comet.speed_min = AURA_MOUSEMAT_SPEED_MIN;
120
+ Comet.speed_max = AURA_MOUSEMAT_SPEED_MAX;
121
+ Comet.speed = AURA_MOUSEMAT_SPEED_DEFAULT_COMET;
122
+ Comet.brightness_min = AURA_MOUSEMAT_BRIGHTNESS_MIN;
123
+ Comet.brightness_max = AURA_MOUSEMAT_BRIGHTNESS_MAX;
124
+ Comet.brightness = AURA_MOUSEMAT_BRIGHTNESS_DEFAULT;
125
+ Comet.direction = MODE_DIRECTION_LEFT;
126
+ Comet.colors_min = 1 ;
127
+ Comet.colors_max = 1 ;
99
128
Comet.colors .resize (1 );
100
129
modes.push_back (Comet);
101
130
102
131
mode GlowingYoyo;
103
- GlowingYoyo.name = " Glowing Yoyo" ;
104
- GlowingYoyo.value = AURA_MOUSEMAT_MODE_GLOWING_YOYO;
105
- GlowingYoyo.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_MANUAL_SAVE;
106
- GlowingYoyo.color_mode = MODE_COLORS_NONE;
107
- GlowingYoyo.speed_min = AURA_MOUSEMAT_SPEED_MIN;
108
- GlowingYoyo.speed_max = AURA_MOUSEMAT_SPEED_MAX;
109
- GlowingYoyo.speed = AURA_MOUSEMAT_SPEED_DEFAULT;
110
- GlowingYoyo.brightness_min = AURA_MOUSEMAT_BRIGHTNESS_MIN;
111
- GlowingYoyo.brightness_max = AURA_MOUSEMAT_BRIGHTNESS_MAX;
112
- GlowingYoyo.brightness = AURA_MOUSEMAT_BRIGHTNESS_DEFAULT;
132
+ GlowingYoyo.name = " Glowing Yoyo" ;
133
+ GlowingYoyo.value = AURA_MOUSEMAT_MODE_GLOWING_YOYO;
134
+ GlowingYoyo.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_HAS_DIRECTION_LR | MODE_FLAG_MANUAL_SAVE;
135
+ GlowingYoyo.color_mode = MODE_COLORS_NONE;
136
+ GlowingYoyo.speed_min = AURA_MOUSEMAT_SPEED_MIN;
137
+ GlowingYoyo.speed_max = AURA_MOUSEMAT_SPEED_MAX;
138
+ GlowingYoyo.speed = AURA_MOUSEMAT_SPEED_DEFAULT_GLOWING_YOYO;
139
+ GlowingYoyo.brightness_min = AURA_MOUSEMAT_BRIGHTNESS_MIN;
140
+ GlowingYoyo.brightness_max = AURA_MOUSEMAT_BRIGHTNESS_MAX;
141
+ GlowingYoyo.brightness = AURA_MOUSEMAT_BRIGHTNESS_DEFAULT;
142
+ GlowingYoyo.direction = MODE_DIRECTION_LEFT;
113
143
modes.push_back (GlowingYoyo);
114
144
145
+ mode Cross;
146
+ Cross.name = " Cross" ;
147
+ Cross.value = AURA_MOUSEMAT_MODE_CROSS;
148
+ Cross.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_MANUAL_SAVE;
149
+ Cross.color_mode = MODE_COLORS_MODE_SPECIFIC;
150
+ Cross.speed_min = AURA_MOUSEMAT_SPEED_MIN;
151
+ Cross.speed_max = AURA_MOUSEMAT_SPEED_MAX;
152
+ Cross.speed = AURA_MOUSEMAT_SPEED_DEFAULT_CROSS;
153
+ Cross.brightness_min = AURA_MOUSEMAT_BRIGHTNESS_MIN;
154
+ Cross.brightness_max = AURA_MOUSEMAT_BRIGHTNESS_MAX;
155
+ Cross.brightness = AURA_MOUSEMAT_BRIGHTNESS_DEFAULT;
156
+ Cross.colors_min = 2 ;
157
+ Cross.colors_max = 2 ;
158
+ Cross.colors .resize (2 );
159
+ modes.push_back (Cross);
160
+
161
+ mode StarryNight;
162
+ StarryNight.name = " Starry Night" ;
163
+ StarryNight.value = AURA_MOUSEMAT_MODE_STARRY_NIGHT;
164
+ StarryNight.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_RANDOM_COLOR | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_MANUAL_SAVE;
165
+ StarryNight.color_mode = MODE_COLORS_MODE_SPECIFIC | MODE_COLORS_RANDOM;
166
+ StarryNight.speed_min = AURA_MOUSEMAT_SPEED_MIN;
167
+ StarryNight.speed_max = AURA_MOUSEMAT_SPEED_MAX;
168
+ StarryNight.speed = AURA_MOUSEMAT_SPEED_DEFAULT_STARRY_NIGHT;
169
+ StarryNight.brightness_min = AURA_MOUSEMAT_BRIGHTNESS_MIN;
170
+ StarryNight.brightness_max = AURA_MOUSEMAT_BRIGHTNESS_MAX;
171
+ StarryNight.brightness = AURA_MOUSEMAT_BRIGHTNESS_DEFAULT;
172
+ StarryNight.colors_min = 2 ;
173
+ StarryNight.colors_max = 2 ;
174
+ StarryNight.colors .resize (2 );
175
+ modes.push_back (StarryNight);
176
+
115
177
SetupZones ();
116
178
}
117
179
@@ -174,26 +236,62 @@ void RGBController_AuraMousemat::SetCustomMode()
174
236
175
237
void RGBController_AuraMousemat::DeviceUpdateMode ()
176
238
{
177
- unsigned char red = 0 ;
178
- unsigned char grn = 0 ;
179
- unsigned char blu = 0 ;
180
-
181
- switch (modes[active_mode].value )
239
+ if (modes[active_mode].value == AURA_MOUSEMAT_MODE_DIRECT)
182
240
{
183
- case AURA_MOUSEMAT_MODE_DIRECT:
184
- controller->UpdateLeds (std::vector<RGBColor>(colors));
185
- break ;
186
- case AURA_MOUSEMAT_MODE_STATIC:
187
- case AURA_MOUSEMAT_MODE_BREATHING:
188
- case AURA_MOUSEMAT_MODE_COLOR_CYCLE:
189
- case AURA_MOUSEMAT_MODE_CHASING:
190
- case AURA_MOUSEMAT_MODE_COMET:
191
- case AURA_MOUSEMAT_MODE_GLOWING_YOYO:
192
- red = RGBGetRValue (modes[active_mode].colors [0 ]);
193
- grn = RGBGetGValue (modes[active_mode].colors [0 ]);
194
- blu = RGBGetBValue (modes[active_mode].colors [0 ]);
195
- controller->UpdateDevice (modes[active_mode].value , red, grn, blu, modes[active_mode].speed , modes[active_mode].brightness );
196
- break ;
241
+ DeviceUpdateLEDs ();
242
+ }
243
+ else
244
+ {
245
+ int pattern = 0 ;
246
+
247
+ switch (modes[active_mode].value )
248
+ {
249
+ case AURA_MOUSEMAT_MODE_BREATHING:
250
+ if (modes[active_mode].color_mode == MODE_COLORS_RANDOM)
251
+ {
252
+ pattern = 2 ;
253
+ }
254
+ else
255
+ {
256
+ pattern = modes[active_mode].colors .size () - 1 ;
257
+ }
258
+ break ;
259
+ case AURA_MOUSEMAT_MODE_WAVE:
260
+ pattern = modes[active_mode].colors .size () * 16 + modes[active_mode].direction ;
261
+ break ;
262
+ case AURA_MOUSEMAT_MODE_WAVE_PLANE:
263
+ switch (modes[active_mode].direction )
264
+ {
265
+ case MODE_DIRECTION_LEFT:
266
+ pattern = 2 ;
267
+ break ;
268
+ case MODE_DIRECTION_RIGHT:
269
+ pattern = 3 ;
270
+ break ;
271
+ case MODE_DIRECTION_UP:
272
+ pattern = 0 ;
273
+ break ;
274
+ case MODE_DIRECTION_DOWN:
275
+ pattern = 1 ;
276
+ break ;
277
+ }
278
+ break ;
279
+ case AURA_MOUSEMAT_MODE_COMET:
280
+ pattern = modes[active_mode].direction ;
281
+ if (pattern == MODE_DIRECTION_HORIZONTAL || pattern == MODE_DIRECTION_VERTICAL) pattern = 2 ;
282
+ break ;
283
+ case AURA_MOUSEMAT_MODE_GLOWING_YOYO:
284
+ pattern = modes[active_mode].direction ;
285
+ break ;
286
+ case AURA_MOUSEMAT_MODE_STARRY_NIGHT:
287
+ pattern = 16 + (modes[active_mode].color_mode == MODE_COLORS_RANDOM);
288
+ break ;
289
+ default :
290
+ pattern = 255 ;
291
+ break ;
292
+ }
293
+
294
+ controller->UpdateDevice (modes[active_mode].value , std::vector<RGBColor>(modes[active_mode].colors ), modes[active_mode].speed , modes[active_mode].brightness , pattern);
197
295
}
198
296
}
199
297
0 commit comments