Skip to content

Commit 6c7f0df

Browse files
Cleanup RazerController matrix type by adding matrix type to device table...
1 parent 8578f4b commit 6c7f0df

File tree

4 files changed

+244
-398
lines changed

4 files changed

+244
-398
lines changed

Controllers/RazerController/RazerController.cpp

Lines changed: 23 additions & 178 deletions
Original file line numberDiff line numberDiff line change
@@ -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

398221
RazerController::~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

Comments
 (0)