@@ -215,184 +215,7 @@ RazerController::RazerController(hid_device* dev_handle, hid_device* dev_argb_ha
215
215
/* -----------------------------------------------------------------*\
216
216
| Determine matrix type for device |
217
217
\*-----------------------------------------------------------------*/
218
- switch (dev_pid)
219
- {
220
- /* -------------------------------------------------*\
221
- | These devices use a standard matrix report |
222
- \*-------------------------------------------------*/
223
- case RAZER_BLACKWIDOW_CHROMA_PID:
224
- case RAZER_BLACKWIDOW_CHROMA_TE_PID:
225
- case RAZER_BLACKWIDOW_CHROMA_V2_PID:
226
- case RAZER_BLACKWIDOW_X_CHROMA_TE_PID:
227
- case RAZER_BLADE_2016_PID:
228
- case RAZER_BLADE_LATE_2016_PID:
229
- case RAZER_BLADE_2018_ADVANCED_PID:
230
- case RAZER_BLADE_2018_BASE_PID:
231
- case RAZER_BLADE_2018_MERCURY_PID:
232
- case RAZER_BLADE_2019_ADVANCED_PID:
233
- case RAZER_BLADE_2019_BASE_PID:
234
- case RAZER_BLADE_2019_MERCURY_PID:
235
- case RAZER_BLADE_2019_STUDIO_PID:
236
- case RAZER_BLADE_2020_ADVANCED_PID:
237
- case RAZER_BLADE_2020_BASE_PID:
238
- case RAZER_BLADE_LATE_2020_PID:
239
- case RAZER_BLADE_2021_ADVANCED_PID:
240
- case RAZER_BLADE_2021_BASE_PID:
241
- case RAZER_BLADE_2021_BASE_V2_PID:
242
- case RAZER_BLADE_LATE_2021_ADVANCED_PID:
243
- case RAZER_BLADE_14_2021_PID:
244
- case RAZER_BLADE_14_2022_PID:
245
- case RAZER_BLADE_15_2022_PID:
246
- case RAZER_BLADE_PRO_2016_PID:
247
- case RAZER_BLADE_PRO_2017_PID:
248
- case RAZER_BLADE_PRO_2017_FULLHD_PID:
249
- case RAZER_BLADE_PRO_2019_PID:
250
- case RAZER_BLADE_PRO_LATE_2019_PID:
251
- case RAZER_BLADE_PRO_17_2020_PID:
252
- case RAZER_BLADE_PRO_17_2021_PID:
253
- case RAZER_BLADE_STEALTH_2016_PID:
254
- case RAZER_BLADE_STEALTH_LATE_2016_PID:
255
- case RAZER_BLADE_STEALTH_2017_PID:
256
- case RAZER_BLADE_STEALTH_LATE_2017_PID:
257
- case RAZER_BLADE_STEALTH_2019_PID:
258
- case RAZER_BLADE_STEALTH_LATE_2019_PID:
259
- case RAZER_BLADE_STEALTH_2020_PID:
260
- case RAZER_BLADE_STEALTH_LATE_2020_PID:
261
- case RAZER_BOOK_13_2020_PID:
262
- case RAZER_NAGA_HEX_V2_PID:
263
- case RAZER_CORE_PID:
264
- matrix_type = RAZER_MATRIX_TYPE_STANDARD;
265
- break ;
266
-
267
- /* -------------------------------------------------*\
268
- | These devices use an extended matrix report |
269
- \*-------------------------------------------------*/
270
- case RAZER_BASE_STATION_CHROMA_PID:
271
- case RAZER_BASE_STATION_V2_CHROMA_PID:
272
- case RAZER_BASILISK_PID:
273
- case RAZER_BASILISK_ESSENTIAL_PID:
274
- case RAZER_BASILISK_ULTIMATE_WIRED_PID:
275
- case RAZER_BASILISK_ULTIMATE_WIRELESS_PID:
276
- case RAZER_BASILISK_V2_PID:
277
- case RAZER_BASILISK_V3_PID:
278
- case RAZER_BASILISK_V3_PRO_WIRED_PID:
279
- case RAZER_BASILISK_V3_PRO_WIRELESS_PID:
280
- case RAZER_BASILISK_V3_PRO_BLUETOOTH_PID:
281
- case RAZER_BLACKWIDOW_2019_PID:
282
- case RAZER_BLACKWIDOW_ELITE_PID:
283
- case RAZER_BLACKWIDOW_V3_PID:
284
- case RAZER_BLACKWIDOW_V3_PRO_WIRED_PID:
285
- case RAZER_BLACKWIDOW_V3_PRO_BLUETOOTH_PID:
286
- case RAZER_BLACKWIDOW_V3_PRO_WIRELESS_PID:
287
- case RAZER_BLACKWIDOW_V3_TKL_PID:
288
- case RAZER_BLACKWIDOW_V3_MINI_WIRED_PID:
289
- case RAZER_BLACKWIDOW_V3_MINI_WIRELESS_PID:
290
- case RAZER_CHARGING_PAD_CHROMA_PID:
291
- case RAZER_CHROMA_HDK_PID:
292
- case RAZER_CHROMA_PC_CASE_LIGHTING_KIT_PID:
293
- case RAZER_CORE_X_PID:
294
- case RAZER_CYNOSA_CHROMA_PID:
295
- case RAZER_CYNOSA_LITE_PID:
296
- case RAZER_CYNOSA_V2_PID:
297
- case RAZER_DEATHADDER_ELITE_PID:
298
- case RAZER_DEATHADDER_ESSENTIAL_PID:
299
- case RAZER_DEATHADDER_ESSENTIAL_V2_PID:
300
- case RAZER_DEATHADDER_ESSENTIAL_WHITE_EDITION_PID:
301
- case RAZER_DEATHADDER_V2_MINI_PID:
302
- case RAZER_DEATHADDER_V2_PID:
303
- case RAZER_DEATHADDER_V2_PRO_WIRED_PID:
304
- case RAZER_DEATHADDER_V2_PRO_WIRELESS_PID:
305
- case RAZER_DEATHSTALKER_V2_PID:
306
- case RAZER_DEATHSTALKER_V2_PRO_WIRED_PID:
307
- case RAZER_DEATHSTALKER_V2_PRO_WIRELESS_PID:
308
- case RAZER_FIREFLY_HYPERFLUX_PID:
309
- case RAZER_FIREFLY_V2_PID:
310
- case RAZER_GOLIATHUS_CHROMA_EXTENDED_PID:
311
- case RAZER_GOLIATHUS_CHROMA_PID:
312
- case RAZER_HUNTSMAN_ELITE_PID:
313
- case RAZER_HUNTSMAN_PID:
314
- case RAZER_HUNTSMAN_MINI_PID:
315
- case RAZER_HUNTSMAN_TE_PID:
316
- case RAZER_HUNTSMAN_V2_ANALOG_PID:
317
- case RAZER_HUNTSMAN_V2_TKL_PID:
318
- case RAZER_HUNTSMAN_V2_PID:
319
- case RAZER_KRAKEN_KITTY_EDITION_PID:
320
- case RAZER_LANCEHEAD_TE_WIRED_PID:
321
- case RAZER_LANCEHEAD_2017_WIRED_PID:
322
- case RAZER_LANCEHEAD_2017_WIRELESS_PID:
323
- case RAZER_LANCEHEAD_2019_WIRED_PID:
324
- case RAZER_LANCEHEAD_2019_WIRELESS_PID:
325
- case RAZER_LAPTOP_STAND_CHROMA_PID:
326
- case RAZER_LAPTOP_STAND_CHROMA_V2_PID:
327
- case RAZER_LEVIATHAN_V2X_PID:
328
- case RAZER_MAMBA_2018_WIRED_PID:
329
- case RAZER_MAMBA_2018_WIRELESS_PID:
330
- case RAZER_MAMBA_ELITE_PID:
331
- case RAZER_MOUSE_BUNGEE_V3_CHROMA_PID:
332
- case RAZER_MOUSE_DOCK_CHROMA_PID:
333
- case RAZER_MOUSE_DOCK_PRO_PID:
334
- case RAZER_NAGA_CLASSIC_PID:
335
- case RAZER_NAGA_LEFT_HANDED_PID:
336
- case RAZER_NAGA_TRINITY_PID:
337
- case RAZER_NAGA_PRO_WIRED_PID:
338
- case RAZER_NAGA_PRO_WIRELESS_PID:
339
- case RAZER_NOMMO_CHROMA_PID:
340
- case RAZER_NOMMO_PRO_PID:
341
- case RAZER_O11_DYNAMIC_PID:
342
- case RAZER_ORNATA_CHROMA_PID:
343
- case RAZER_ORNATA_CHROMA_V2_PID:
344
- case RAZER_ORNATA_V3_PID:
345
- case RAZER_ORNATA_V3_REV2_PID:
346
- case RAZER_ORNATA_V3_X_PID:
347
- case RAZER_SEIREN_EMOTE_PID:
348
- case RAZER_STRIDER_CHROMA_PID:
349
- case RAZER_TARTARUS_PRO_PID:
350
- case RAZER_TARTARUS_V2_PID:
351
- case RAZER_TIAMAT_71_V2_PID:
352
- case RAZER_THUNDERBOLT_4_DOCK_CHROMA_PID:
353
- case RAZER_VIPER_8KHZ_PID:
354
- case RAZER_VIPER_MINI_PID:
355
- case RAZER_VIPER_PID:
356
- case RAZER_VIPER_ULTIMATE_WIRED_PID:
357
- case RAZER_VIPER_ULTIMATE_WIRELESS_PID:
358
- matrix_type = RAZER_MATRIX_TYPE_EXTENDED;
359
- break ;
360
-
361
- /* -------------------------------------------------*\
362
- | These devices use a linear report |
363
- \*-------------------------------------------------*/
364
- case RAZER_CHROMA_MUG_PID:
365
- case RAZER_DEATHSTALKER_CHROMA_PID:
366
- case RAZER_DIAMONDBACK_CHROMA_PID:
367
- case RAZER_FIREFLY_PID:
368
- case RAZER_MAMBA_TE_PID:
369
- case RAZER_MAMBA_2015_WIRED_PID:
370
- case RAZER_MAMBA_2015_WIRELESS_PID:
371
- case RAZER_NAGA_CHROMA_PID:
372
- matrix_type = RAZER_MATRIX_TYPE_LINEAR;
373
- break ;
374
-
375
- /* -------------------------------------------------*\
376
- | These devices use an extended ARGB matrix report |
377
- \*-------------------------------------------------*/
378
- case RAZER_CHROMA_ADDRESSABLE_RGB_CONTROLLER_PID:
379
- matrix_type = RAZER_MATRIX_TYPE_EXTENDED_ARGB;
380
- break ;
381
-
382
- /* -------------------------------------------------*\
383
- | These devices have a non-standard report and are |
384
- | handled on a per-device basis |
385
- \*-------------------------------------------------*/
386
- case RAZER_TARTARUS_CHROMA_PID:
387
- case RAZER_DEATHADDER_CHROMA_PID:
388
- case RAZER_NAGA_EPIC_CHROMA_PID:
389
- case RAZER_ORBWEAVER_CHROMA_PID:
390
- matrix_type = RAZER_MATRIX_TYPE_CUSTOM;
391
- break ;
392
-
393
- default :
394
- LOG_WARNING (" [%s] Report matrix type was not selected, device may not repsond to mode updates." , name.c_str ());
395
- }
218
+ matrix_type = device_list[device_index]->matrix_type ;
396
219
}
397
220
398
221
RazerController::~RazerController ()
@@ -1780,6 +1603,14 @@ void RazerController::razer_set_mode_none()
1780
1603
razer_usb_send (&report);
1781
1604
break ;
1782
1605
1606
+ case RAZER_MAMBA_2012_WIRED_PID:
1607
+ case RAZER_MAMBA_2012_WIRELESS_PID:
1608
+ report = razer_create_set_led_rgb_report (RAZER_STORAGE_NO_SAVE, RAZER_LED_ID_SCROLL_WHEEL, rgb_data);
1609
+ razer_usb_send (&report);
1610
+ report = razer_create_set_led_effect_report (RAZER_STORAGE_NO_SAVE, RAZER_LED_ID_SCROLL_WHEEL, 0 );
1611
+ razer_usb_send (&report);
1612
+ break ;
1613
+
1783
1614
/* -------------------------------------------------*\
1784
1615
| These devices use standard matrix reports |
1785
1616
\*-------------------------------------------------*/
@@ -1839,6 +1670,12 @@ void RazerController::razer_set_mode_spectrum_cycle()
1839
1670
razer_usb_send (&report);
1840
1671
break ;
1841
1672
1673
+ case RAZER_MAMBA_2012_WIRED_PID:
1674
+ case RAZER_MAMBA_2012_WIRELESS_PID:
1675
+ report = razer_create_set_led_effect_report (RAZER_STORAGE_NO_SAVE, RAZER_LED_ID_SCROLL_WHEEL, 4 );
1676
+ razer_usb_send (&report);
1677
+ break ;
1678
+
1842
1679
/* -------------------------------------------------*\
1843
1680
| These devices use standard matrix reports |
1844
1681
\*-------------------------------------------------*/
@@ -1922,6 +1759,14 @@ void RazerController::razer_set_mode_static(unsigned char red, unsigned char grn
1922
1759
razer_usb_send (&report);
1923
1760
break ;
1924
1761
1762
+ case RAZER_MAMBA_2012_WIRED_PID:
1763
+ case RAZER_MAMBA_2012_WIRELESS_PID:
1764
+ report = razer_create_set_led_rgb_report (RAZER_STORAGE_NO_SAVE, RAZER_LED_ID_SCROLL_WHEEL, rgb_data);
1765
+ razer_usb_send (&report);
1766
+ report = razer_create_set_led_effect_report (RAZER_STORAGE_NO_SAVE, RAZER_LED_ID_SCROLL_WHEEL, 0 );
1767
+ razer_usb_send (&report);
1768
+ break ;
1769
+
1925
1770
/* -------------------------------------------------*\
1926
1771
| These devices use standard matrix reports |
1927
1772
\*-------------------------------------------------*/
0 commit comments