@@ -215,184 +215,7 @@ RazerController::RazerController(hid_device* dev_handle, hid_device* dev_argb_ha
215215 /* -----------------------------------------------------------------*\
216216 | Determine matrix type for device |
217217 \*-----------------------------------------------------------------*/
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 ;
396219}
397220
398221RazerController::~RazerController ()
@@ -1780,6 +1603,14 @@ void RazerController::razer_set_mode_none()
17801603 razer_usb_send (&report);
17811604 break ;
17821605
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+
17831614 /* -------------------------------------------------*\
17841615 | These devices use standard matrix reports |
17851616 \*-------------------------------------------------*/
@@ -1839,6 +1670,12 @@ void RazerController::razer_set_mode_spectrum_cycle()
18391670 razer_usb_send (&report);
18401671 break ;
18411672
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+
18421679 /* -------------------------------------------------*\
18431680 | These devices use standard matrix reports |
18441681 \*-------------------------------------------------*/
@@ -1922,6 +1759,14 @@ void RazerController::razer_set_mode_static(unsigned char red, unsigned char grn
19221759 razer_usb_send (&report);
19231760 break ;
19241761
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+
19251770 /* -------------------------------------------------*\
19261771 | These devices use standard matrix reports |
19271772 \*-------------------------------------------------*/
0 commit comments