From 35c76887dbb7e2d2e78c07d508342a36f6950667 Mon Sep 17 00:00:00 2001 From: Th3d0nGsT3R Date: Wed, 3 Feb 2021 21:34:26 +0000 Subject: [PATCH] Add Firefly V2 and Basilisk Essential to RazerController Commits squashed and amended for code style by Adam Honse --- .../RazerController/RazerController.cpp | 364 +++++++++--------- .../RazerController/RazerControllerDetect.cpp | 7 +- Controllers/RazerController/RazerDevices.h | 298 ++++++++------ 3 files changed, 373 insertions(+), 296 deletions(-) diff --git a/Controllers/RazerController/RazerController.cpp b/Controllers/RazerController/RazerController.cpp index b5b0c5dd..69dd5d69 100644 --- a/Controllers/RazerController/RazerController.cpp +++ b/Controllers/RazerController/RazerController.cpp @@ -46,19 +46,17 @@ RazerController::RazerController(hid_device* dev_handle, const char* path, unsig \*-----------------------------------------------------------------*/ switch(dev_pid) { + case RAZER_BASE_STATION_V2_CHROMA_PID: case RAZER_BLACKWIDOW_ELITE_PID: case RAZER_CYNOSA_V2_PID: + case RAZER_DEATHADDER_CHROMA_PID: + case RAZER_KRAKEN_KITTY_EDITION_PID: + case RAZER_MAMBA_ELITE_PID: + case RAZER_MOUSE_BUNGEE_V3_CHROMA_PID: + case RAZER_NAGA_EPIC_CHROMA_PID: case RAZER_ORNATA_CHROMA_V2_PID: case RAZER_TARTARUS_CHROMA_PID: case RAZER_TARTARUS_V2_PID: - - case RAZER_DEATHADDER_CHROMA_PID: - case RAZER_MAMBA_ELITE_PID: - case RAZER_NAGA_EPIC_CHROMA_PID: - - case RAZER_BASE_STATION_V2_CHROMA_PID: - case RAZER_KRAKEN_KITTY_EDITION_PID: - case RAZER_MOUSE_BUNGEE_V3_CHROMA_PID: dev_transaction_id = 0x1F; break; @@ -81,10 +79,10 @@ RazerController::RazerController(hid_device* dev_handle, const char* path, unsig \*-----------------------------------------------------------------*/ switch(dev_pid) { - case RAZER_TARTARUS_V2_PID: - case RAZER_MAMBA_ELITE_PID: - case RAZER_GOLIATHUS_CHROMA_PID: case RAZER_GOLIATHUS_CHROMA_EXTENDED_PID: + case RAZER_GOLIATHUS_CHROMA_PID: + case RAZER_MAMBA_ELITE_PID: + case RAZER_TARTARUS_V2_PID: dev_led_id = RAZER_LED_ID_ZERO; break; @@ -95,8 +93,8 @@ RazerController::RazerController(hid_device* dev_handle, const char* path, unsig case RAZER_CYNOSA_CHROMA_PID: case RAZER_CYNOSA_LITE_PID: case RAZER_CYNOSA_V2_PID: - case RAZER_HUNTSMAN_PID: case RAZER_HUNTSMAN_ELITE_PID: + case RAZER_HUNTSMAN_PID: case RAZER_HUNTSMAN_TE_PID: case RAZER_ORNATA_CHROMA_PID: case RAZER_ORNATA_CHROMA_V2_PID: @@ -585,20 +583,21 @@ void RazerController::razer_set_brightness(unsigned char brightness) /*-------------------------------------------------*\ | These devices use an extended matrix report | \*-------------------------------------------------*/ - case RAZER_TARTARUS_V2_PID: - case RAZER_MAMBA_ELITE_PID: - case RAZER_BLACKWIDOW_LITE_PID: - case RAZER_ORNATA_CHROMA_PID: - case RAZER_HUNTSMAN_ELITE_PID: - case RAZER_HUNTSMAN_TE_PID: case RAZER_BLACKWIDOW_2019_PID: - case RAZER_HUNTSMAN_PID: + case RAZER_BLACKWIDOW_ELITE_PID: case RAZER_BLACKWIDOW_ESSENTIAL_PID: + case RAZER_BLACKWIDOW_LITE_PID: case RAZER_CYNOSA_CHROMA_PID: case RAZER_CYNOSA_LITE_PID: - case RAZER_BLACKWIDOW_ELITE_PID: case RAZER_CYNOSA_V2_PID: + case RAZER_FIREFLY_V2_PID: + case RAZER_HUNTSMAN_ELITE_PID: + case RAZER_HUNTSMAN_PID: + case RAZER_HUNTSMAN_TE_PID: + case RAZER_MAMBA_ELITE_PID: + case RAZER_ORNATA_CHROMA_PID: case RAZER_ORNATA_CHROMA_V2_PID: + case RAZER_TARTARUS_V2_PID: report = razer_create_brightness_extended_matrix_report(RAZER_STORAGE_NO_SAVE, dev_led_id, brightness); break; @@ -623,62 +622,61 @@ void RazerController::razer_set_custom_frame(unsigned char row_index, unsigned c /*-------------------------------------------------*\ | These devices use an extended matrix report | \*-------------------------------------------------*/ - case RAZER_ORNATA_CHROMA_PID: - case RAZER_HUNTSMAN_ELITE_PID: - case RAZER_HUNTSMAN_TE_PID: - case RAZER_BLACKWIDOW_2019_PID: - case RAZER_HUNTSMAN_PID: - case RAZER_CYNOSA_CHROMA_PID: - case RAZER_DEATHADDER_ELITE_PID: - case RAZER_LANCEHEAD_WIRED_PID: - case RAZER_LANCEHEAD_WIRELESS_PID: - case RAZER_LANCEHEAD_TE_WIRED_PID: - case RAZER_LANCEHEAD_WIRELESS_RECEIVER_PID: - case RAZER_LANCEHEAD_WIRELESS_WIRED_PID: - case RAZER_MAMBA_WIRELESS_RECEIVER_PID: - case RAZER_MAMBA_WIRELESS_WIRED_PID: + case RAZER_BASE_STATION_V2_CHROMA_PID: case RAZER_BASILISK_PID: + case RAZER_BASILISK_ESSENTIAL_PID: + case RAZER_BLACKWIDOW_2019_PID: + case RAZER_BLACKWIDOW_ELITE_PID: + case RAZER_CHARGING_PAD_CHROMA_PID: + case RAZER_CHROMA_BASE_PID: + case RAZER_CHROMA_HDK_PID: + case RAZER_CYNOSA_CHROMA_PID: + case RAZER_CYNOSA_V2_PID: + case RAZER_DEATHADDER_ELITE_PID: + case RAZER_DEATHADDER_V2_MINI_PID: case RAZER_DEATHADDER_V2_PID: case RAZER_DEATHADDER_V2_PRO_WIRED_PID: case RAZER_DEATHADDER_V2_PRO_WIRELESS_PID: - case RAZER_DEATHADDER_V2_MINI_PID: - case RAZER_VIPER_PID: + case RAZER_FIREFLY_HYPERFLUX_PID: + case RAZER_FIREFLY_V2_PID: + case RAZER_GOLIATHUS_CHROMA_EXTENDED_PID: + case RAZER_GOLIATHUS_CHROMA_PID: + case RAZER_HUNTSMAN_ELITE_PID: + case RAZER_HUNTSMAN_PID: + case RAZER_HUNTSMAN_TE_PID: + case RAZER_KRAKEN_KITTY_EDITION_PID: + case RAZER_LANCEHEAD_TE_WIRED_PID: + case RAZER_LANCEHEAD_WIRED_PID: + case RAZER_LANCEHEAD_WIRELESS_PID: + case RAZER_LANCEHEAD_WIRELESS_RECEIVER_PID: + case RAZER_LANCEHEAD_WIRELESS_WIRED_PID: + case RAZER_MAMBA_ELITE_PID: + case RAZER_MAMBA_WIRELESS_RECEIVER_PID: + case RAZER_MAMBA_WIRELESS_WIRED_PID: + case RAZER_MOUSE_BUNGEE_V3_CHROMA_PID: + case RAZER_NOMMO_CHROMA_PID: + case RAZER_NOMMO_PRO_PID: + case RAZER_ORNATA_CHROMA_PID: + case RAZER_ORNATA_CHROMA_V2_PID: + case RAZER_TARTARUS_V2_PID: case RAZER_VIPER_MINI_PID: + case RAZER_VIPER_PID: case RAZER_VIPER_ULTIMATE_WIRED_PID: case RAZER_VIPER_ULTIMATE_WIRELESS_PID: - case RAZER_FIREFLY_HYPERFLUX_PID: - case RAZER_GOLIATHUS_CHROMA_PID: - case RAZER_GOLIATHUS_CHROMA_EXTENDED_PID: - case RAZER_CHROMA_HDK_PID: - case RAZER_CHROMA_BASE_PID: - case RAZER_NOMMO_PRO_PID: - case RAZER_NOMMO_CHROMA_PID: - case RAZER_TARTARUS_V2_PID: - case RAZER_BLACKWIDOW_ELITE_PID: - case RAZER_CYNOSA_V2_PID: - case RAZER_ORNATA_CHROMA_V2_PID: - case RAZER_MAMBA_ELITE_PID: - case RAZER_KRAKEN_KITTY_EDITION_PID: - case RAZER_MOUSE_BUNGEE_V3_CHROMA_PID: - case RAZER_BASE_STATION_V2_CHROMA_PID: - report = razer_create_custom_frame_extended_matrix_report(row_index, start_col, stop_col, rgb_data); - break; - - case RAZER_CHARGING_PAD_CHROMA_PID: report = razer_create_custom_frame_extended_matrix_report(row_index, start_col, stop_col, rgb_data); break; /*-------------------------------------------------*\ | These devices use a linear report | \*-------------------------------------------------*/ + case RAZER_CHROMA_MUG_PID: case RAZER_DEATHSTALKER_CHROMA_PID: - case RAZER_MAMBA_TE_WIRED_PID: case RAZER_DIAMONDBACK_CHROMA_PID: case RAZER_FIREFLY_PID: - case RAZER_CHROMA_MUG_PID: - case RAZER_NAGA_CHROMA_PID: + case RAZER_MAMBA_TE_WIRED_PID: case RAZER_MAMBA_WIRED_PID: case RAZER_MAMBA_WIRELESS_PID: + case RAZER_NAGA_CHROMA_PID: report = razer_create_custom_frame_linear_report(start_col, stop_col, rgb_data); break; @@ -689,7 +687,7 @@ void RazerController::razer_set_custom_frame(unsigned char row_index, unsigned c case RAZER_TARTARUS_CHROMA_PID: report = razer_create_set_led_rgb_report(RAZER_STORAGE_NO_SAVE, RAZER_LED_ID_BACKLIGHT, rgb_data); break; - + case RAZER_DEATHADDER_CHROMA_PID: report = razer_create_set_led_rgb_report(RAZER_STORAGE_NO_SAVE, RAZER_LED_ID_SCROLL_WHEEL, rgb_data); @@ -739,26 +737,26 @@ void RazerController::razer_set_custom_frame(unsigned char row_index, unsigned c /*-------------------------------------------------*\ | These devices use a standard matrix report | \*-------------------------------------------------*/ - case RAZER_BLADE_STEALTH_PID: - case RAZER_BLADE_STEALTH_LATE_2016_PID: - case RAZER_BLADE_STEALTH_MID_2017_PID: - case RAZER_BLADE_STEALTH_LATE_2017_PID: - case RAZER_BLADE_STEALTH_2019_PID: - case RAZER_BLADE_QHD_PID: - case RAZER_BLADE_PRO_LATE_2016_PID: - case RAZER_BLADE_2018_PID: - case RAZER_BLADE_2018_MERCURY_PID: - case RAZER_BLADE_2018_BASE_PID: - case RAZER_BLADE_2019_ADV_PID: - case RAZER_BLADE_MID_2019_MERCURY_PID: - case RAZER_BLADE_STUDIO_EDITION_2019_PID: - case RAZER_BLADE_PRO_2017_PID: - case RAZER_BLADE_PRO_2017_FULLHD_PID: - case RAZER_BLADE_PRO_LATE_2019_PID: - case RAZER_BLADE_15_ADV_2020_PID: - case RAZER_CORE_PID: - case RAZER_BLADE_LATE_2016_PID: case RAZER_BLACKWIDOW_CHROMA_V2_PID: + case RAZER_BLADE_15_ADV_2020_PID: + case RAZER_BLADE_2018_BASE_PID: + case RAZER_BLADE_2018_MERCURY_PID: + case RAZER_BLADE_2018_PID: + case RAZER_BLADE_2019_ADV_PID: + case RAZER_BLADE_LATE_2016_PID: + case RAZER_BLADE_MID_2019_MERCURY_PID: + case RAZER_BLADE_PRO_2017_FULLHD_PID: + case RAZER_BLADE_PRO_2017_PID: + case RAZER_BLADE_PRO_LATE_2016_PID: + case RAZER_BLADE_PRO_LATE_2019_PID: + case RAZER_BLADE_QHD_PID: + case RAZER_BLADE_STEALTH_2019_PID: + case RAZER_BLADE_STEALTH_LATE_2016_PID: + case RAZER_BLADE_STEALTH_LATE_2017_PID: + case RAZER_BLADE_STEALTH_MID_2017_PID: + case RAZER_BLADE_STEALTH_PID: + case RAZER_BLADE_STUDIO_EDITION_2019_PID: + case RAZER_CORE_PID: case RAZER_NAGA_HEX_V2_PID: default: report = razer_create_custom_frame_standard_matrix_report(row_index, start_col, stop_col, rgb_data); @@ -783,45 +781,47 @@ void RazerController::razer_set_mode_custom() /*-------------------------------------------------*\ | These devices use an extended matrix report | \*-------------------------------------------------*/ - case RAZER_ORNATA_CHROMA_PID: - case RAZER_HUNTSMAN_ELITE_PID: - case RAZER_HUNTSMAN_TE_PID: - case RAZER_BLACKWIDOW_2019_PID: - case RAZER_HUNTSMAN_PID: - case RAZER_CYNOSA_CHROMA_PID: - case RAZER_DEATHADDER_ELITE_PID: - case RAZER_LANCEHEAD_WIRED_PID: - case RAZER_LANCEHEAD_WIRELESS_PID: - case RAZER_LANCEHEAD_TE_WIRED_PID: - case RAZER_LANCEHEAD_WIRELESS_RECEIVER_PID: - case RAZER_LANCEHEAD_WIRELESS_WIRED_PID: - case RAZER_MAMBA_WIRELESS_RECEIVER_PID: - case RAZER_MAMBA_WIRELESS_WIRED_PID: + case RAZER_BASE_STATION_V2_CHROMA_PID: case RAZER_BASILISK_PID: + case RAZER_BASILISK_ESSENTIAL_PID: + case RAZER_BLACKWIDOW_2019_PID: + case RAZER_BLACKWIDOW_ELITE_PID: + case RAZER_CHARGING_PAD_CHROMA_PID: + case RAZER_CHROMA_BASE_PID: + case RAZER_CHROMA_HDK_PID: + case RAZER_CYNOSA_CHROMA_PID: + case RAZER_CYNOSA_V2_PID: + case RAZER_DEATHADDER_ELITE_PID: + case RAZER_DEATHADDER_V2_MINI_PID: case RAZER_DEATHADDER_V2_PID: case RAZER_DEATHADDER_V2_PRO_WIRED_PID: case RAZER_DEATHADDER_V2_PRO_WIRELESS_PID: - case RAZER_DEATHADDER_V2_MINI_PID: - case RAZER_VIPER_PID: + case RAZER_FIREFLY_HYPERFLUX_PID: + case RAZER_FIREFLY_V2_PID: + case RAZER_GOLIATHUS_CHROMA_EXTENDED_PID: + case RAZER_GOLIATHUS_CHROMA_PID: + case RAZER_HUNTSMAN_ELITE_PID: + case RAZER_HUNTSMAN_PID: + case RAZER_HUNTSMAN_TE_PID: + case RAZER_KRAKEN_KITTY_EDITION_PID: + case RAZER_LANCEHEAD_TE_WIRED_PID: + case RAZER_LANCEHEAD_WIRED_PID: + case RAZER_LANCEHEAD_WIRELESS_PID: + case RAZER_LANCEHEAD_WIRELESS_RECEIVER_PID: + case RAZER_LANCEHEAD_WIRELESS_WIRED_PID: + case RAZER_MAMBA_ELITE_PID: + case RAZER_MAMBA_WIRELESS_RECEIVER_PID: + case RAZER_MAMBA_WIRELESS_WIRED_PID: + case RAZER_MOUSE_BUNGEE_V3_CHROMA_PID: + case RAZER_NOMMO_CHROMA_PID: + case RAZER_NOMMO_PRO_PID: + case RAZER_ORNATA_CHROMA_PID: + case RAZER_ORNATA_CHROMA_V2_PID: + case RAZER_TARTARUS_V2_PID: case RAZER_VIPER_MINI_PID: + case RAZER_VIPER_PID: case RAZER_VIPER_ULTIMATE_WIRED_PID: case RAZER_VIPER_ULTIMATE_WIRELESS_PID: - case RAZER_FIREFLY_HYPERFLUX_PID: - case RAZER_GOLIATHUS_CHROMA_PID: - case RAZER_GOLIATHUS_CHROMA_EXTENDED_PID: - case RAZER_CHROMA_HDK_PID: - case RAZER_CHROMA_BASE_PID: - case RAZER_NOMMO_PRO_PID: - case RAZER_NOMMO_CHROMA_PID: - case RAZER_TARTARUS_V2_PID: - case RAZER_BLACKWIDOW_ELITE_PID: - case RAZER_CYNOSA_V2_PID: - case RAZER_ORNATA_CHROMA_V2_PID: - case RAZER_MAMBA_ELITE_PID: - case RAZER_KRAKEN_KITTY_EDITION_PID: - case RAZER_MOUSE_BUNGEE_V3_CHROMA_PID: - case RAZER_BASE_STATION_V2_CHROMA_PID: - case RAZER_CHARGING_PAD_CHROMA_PID: report = razer_create_mode_custom_extended_matrix_report(); break; @@ -860,13 +860,13 @@ void RazerController::razer_set_mode_custom() /*-------------------------------------------------*\ | These devices use a standard matrix report | \*-------------------------------------------------*/ - case RAZER_FIREFLY_PID: - case RAZER_CORE_PID: - case RAZER_CHROMA_MUG_PID: case RAZER_BLACKWIDOW_CHROMA_V2_PID: - case RAZER_ORBWEAVER_CHROMA_PID: - case RAZER_NAGA_HEX_V2_PID: + case RAZER_CHROMA_MUG_PID: + case RAZER_CORE_PID: + case RAZER_FIREFLY_PID: case RAZER_NAGA_CHROMA_PID: + case RAZER_NAGA_HEX_V2_PID: + case RAZER_ORBWEAVER_CHROMA_PID: default: report = razer_create_mode_custom_standard_matrix_report(RAZER_STORAGE_NO_SAVE); break; @@ -884,32 +884,32 @@ void RazerController::razer_set_mode_none() /*-------------------------------------------------*\ | These devices use an extended matrix report | \*-------------------------------------------------*/ - case RAZER_BLACKWIDOW_LITE_PID: - case RAZER_ORNATA_CHROMA_PID: - case RAZER_HUNTSMAN_ELITE_PID: - case RAZER_HUNTSMAN_TE_PID: + case RAZER_BASE_STATION_V2_CHROMA_PID: case RAZER_BLACKWIDOW_2019_PID: - case RAZER_HUNTSMAN_PID: + case RAZER_BLACKWIDOW_ELITE_PID: case RAZER_BLACKWIDOW_ESSENTIAL_PID: + case RAZER_BLACKWIDOW_LITE_PID: + case RAZER_CHROMA_BASE_PID: + case RAZER_CHROMA_HDK_PID: case RAZER_CYNOSA_CHROMA_PID: case RAZER_CYNOSA_LITE_PID: - case RAZER_NAGA_HEX_V2_PID: - case RAZER_NAGA_CHROMA_PID: + case RAZER_CYNOSA_V2_PID: case RAZER_FIREFLY_HYPERFLUX_PID: case RAZER_FIREFLY_V2_PID: - case RAZER_GOLIATHUS_CHROMA_PID: case RAZER_GOLIATHUS_CHROMA_EXTENDED_PID: - case RAZER_CHROMA_HDK_PID: - case RAZER_CHROMA_BASE_PID: - case RAZER_NOMMO_PRO_PID: - case RAZER_NOMMO_CHROMA_PID: + case RAZER_GOLIATHUS_CHROMA_PID: + case RAZER_HUNTSMAN_ELITE_PID: + case RAZER_HUNTSMAN_PID: + case RAZER_HUNTSMAN_TE_PID: case RAZER_KRAKEN_KITTY_EDITION_PID: case RAZER_MOUSE_BUNGEE_V3_CHROMA_PID: - case RAZER_BASE_STATION_V2_CHROMA_PID: - case RAZER_TARTARUS_V2_PID: - case RAZER_BLACKWIDOW_ELITE_PID: - case RAZER_CYNOSA_V2_PID: + case RAZER_NAGA_CHROMA_PID: + case RAZER_NAGA_HEX_V2_PID: + case RAZER_NOMMO_CHROMA_PID: + case RAZER_NOMMO_PRO_PID: + case RAZER_ORNATA_CHROMA_PID: case RAZER_ORNATA_CHROMA_V2_PID: + case RAZER_TARTARUS_V2_PID: report = razer_create_mode_none_extended_matrix_report(RAZER_STORAGE_NO_SAVE, dev_led_id); break; @@ -917,9 +917,9 @@ void RazerController::razer_set_mode_none() | These devices use a standard matrix report | \*-------------------------------------------------*/ case RAZER_BLACKWIDOW_CHROMA_V2_PID: - case RAZER_FIREFLY_PID: - case RAZER_CORE_PID: case RAZER_CHROMA_MUG_PID: + case RAZER_CORE_PID: + case RAZER_FIREFLY_PID: default: report = razer_create_mode_none_standard_matrix_report(RAZER_STORAGE_NO_SAVE, dev_led_id); break; @@ -937,29 +937,29 @@ void RazerController::razer_set_mode_spectrum_cycle() /*-------------------------------------------------*\ | These devices use an extended matrix report | \*-------------------------------------------------*/ - case RAZER_ORNATA_CHROMA_PID: - case RAZER_HUNTSMAN_ELITE_PID: - case RAZER_HUNTSMAN_TE_PID: + case RAZER_BASE_STATION_V2_CHROMA_PID: case RAZER_BLACKWIDOW_2019_PID: - case RAZER_HUNTSMAN_PID: + case RAZER_BLACKWIDOW_ELITE_PID: + case RAZER_CHROMA_BASE_PID: + case RAZER_CHROMA_HDK_PID: case RAZER_CYNOSA_CHROMA_PID: case RAZER_CYNOSA_LITE_PID: - case RAZER_NAGA_HEX_V2_PID: - case RAZER_NAGA_CHROMA_PID: - case RAZER_BLACKWIDOW_ELITE_PID: case RAZER_CYNOSA_V2_PID: - case RAZER_ORNATA_CHROMA_V2_PID: - case RAZER_TARTARUS_V2_PID: - case RAZER_MOUSE_BUNGEE_V3_CHROMA_PID: - case RAZER_BASE_STATION_V2_CHROMA_PID: case RAZER_FIREFLY_HYPERFLUX_PID: case RAZER_FIREFLY_V2_PID: - case RAZER_GOLIATHUS_CHROMA_PID: case RAZER_GOLIATHUS_CHROMA_EXTENDED_PID: - case RAZER_CHROMA_HDK_PID: - case RAZER_CHROMA_BASE_PID: - case RAZER_NOMMO_PRO_PID: + case RAZER_GOLIATHUS_CHROMA_PID: + case RAZER_HUNTSMAN_ELITE_PID: + case RAZER_HUNTSMAN_PID: + case RAZER_HUNTSMAN_TE_PID: + case RAZER_MOUSE_BUNGEE_V3_CHROMA_PID: + case RAZER_NAGA_CHROMA_PID: + case RAZER_NAGA_HEX_V2_PID: case RAZER_NOMMO_CHROMA_PID: + case RAZER_NOMMO_PRO_PID: + case RAZER_ORNATA_CHROMA_PID: + case RAZER_ORNATA_CHROMA_V2_PID: + case RAZER_TARTARUS_V2_PID: report = razer_create_mode_spectrum_cycle_extended_matrix_report(RAZER_STORAGE_NO_SAVE, dev_led_id); break; @@ -967,9 +967,9 @@ void RazerController::razer_set_mode_spectrum_cycle() | These devices use a standard matrix report | \*-------------------------------------------------*/ case RAZER_BLACKWIDOW_CHROMA_V2_PID: - case RAZER_FIREFLY_PID: - case RAZER_CORE_PID: case RAZER_CHROMA_MUG_PID: + case RAZER_CORE_PID: + case RAZER_FIREFLY_PID: default: report = razer_create_mode_spectrum_cycle_standard_matrix_report(RAZER_STORAGE_NO_SAVE, dev_led_id); break; @@ -987,29 +987,29 @@ void RazerController::razer_set_mode_static(unsigned char red, unsigned char grn /*-------------------------------------------------*\ | These devices use an extended matrix report | \*-------------------------------------------------*/ - case RAZER_ORNATA_CHROMA_PID: - case RAZER_HUNTSMAN_ELITE_PID: - case RAZER_HUNTSMAN_TE_PID: + case RAZER_BASE_STATION_V2_CHROMA_PID: case RAZER_BLACKWIDOW_2019_PID: - case RAZER_HUNTSMAN_PID: + case RAZER_BLACKWIDOW_ELITE_PID: + case RAZER_CHROMA_BASE_PID: + case RAZER_CHROMA_HDK_PID: case RAZER_CYNOSA_CHROMA_PID: case RAZER_CYNOSA_LITE_PID: - case RAZER_NAGA_HEX_V2_PID: - case RAZER_NAGA_CHROMA_PID: - case RAZER_BLACKWIDOW_ELITE_PID: case RAZER_CYNOSA_V2_PID: - case RAZER_ORNATA_CHROMA_V2_PID: - case RAZER_TARTARUS_V2_PID: - case RAZER_MOUSE_BUNGEE_V3_CHROMA_PID: - case RAZER_BASE_STATION_V2_CHROMA_PID: case RAZER_FIREFLY_HYPERFLUX_PID: case RAZER_FIREFLY_V2_PID: - case RAZER_GOLIATHUS_CHROMA_PID: case RAZER_GOLIATHUS_CHROMA_EXTENDED_PID: - case RAZER_CHROMA_HDK_PID: - case RAZER_CHROMA_BASE_PID: - case RAZER_NOMMO_PRO_PID: + case RAZER_GOLIATHUS_CHROMA_PID: + case RAZER_HUNTSMAN_ELITE_PID: + case RAZER_HUNTSMAN_PID: + case RAZER_HUNTSMAN_TE_PID: + case RAZER_MOUSE_BUNGEE_V3_CHROMA_PID: + case RAZER_NAGA_CHROMA_PID: + case RAZER_NAGA_HEX_V2_PID: case RAZER_NOMMO_CHROMA_PID: + case RAZER_NOMMO_PRO_PID: + case RAZER_ORNATA_CHROMA_PID: + case RAZER_ORNATA_CHROMA_V2_PID: + case RAZER_TARTARUS_V2_PID: report = razer_create_mode_static_extended_matrix_report(RAZER_STORAGE_NO_SAVE, dev_led_id, red, grn, blu); break; @@ -1017,9 +1017,9 @@ void RazerController::razer_set_mode_static(unsigned char red, unsigned char grn | These devices use a standard matrix report | \*-------------------------------------------------*/ case RAZER_BLACKWIDOW_CHROMA_V2_PID: - case RAZER_FIREFLY_PID: - case RAZER_CORE_PID: case RAZER_CHROMA_MUG_PID: + case RAZER_CORE_PID: + case RAZER_FIREFLY_PID: default: report = razer_create_mode_static_standard_matrix_report(RAZER_STORAGE_NO_SAVE, dev_led_id, red, grn, blu); break; @@ -1039,25 +1039,25 @@ void RazerController::razer_set_mode_wave() /*-------------------------------------------------*\ | These devices use an extended matrix report | \*-------------------------------------------------*/ - case RAZER_ORNATA_CHROMA_PID: - case RAZER_HUNTSMAN_ELITE_PID: - case RAZER_HUNTSMAN_TE_PID: + case RAZER_BASE_STATION_V2_CHROMA_PID: case RAZER_BLACKWIDOW_2019_PID: - case RAZER_HUNTSMAN_PID: - case RAZER_BLACKWIDOW_ESSENTIAL_PID: - case RAZER_CYNOSA_CHROMA_PID: - case RAZER_TARTARUS_V2_PID: case RAZER_BLACKWIDOW_ELITE_PID: + case RAZER_BLACKWIDOW_ESSENTIAL_PID: + case RAZER_CHROMA_BASE_PID: + case RAZER_CHROMA_HDK_PID: + case RAZER_CYNOSA_CHROMA_PID: case RAZER_CYNOSA_V2_PID: - case RAZER_ORNATA_CHROMA_V2_PID: case RAZER_FIREFLY_HYPERFLUX_PID: case RAZER_FIREFLY_V2_PID: - case RAZER_CHROMA_HDK_PID: - case RAZER_CHROMA_BASE_PID: - case RAZER_NOMMO_PRO_PID: - case RAZER_NOMMO_CHROMA_PID: + case RAZER_HUNTSMAN_ELITE_PID: + case RAZER_HUNTSMAN_PID: + case RAZER_HUNTSMAN_TE_PID: case RAZER_MOUSE_BUNGEE_V3_CHROMA_PID: - case RAZER_BASE_STATION_V2_CHROMA_PID: + case RAZER_NOMMO_CHROMA_PID: + case RAZER_NOMMO_PRO_PID: + case RAZER_ORNATA_CHROMA_PID: + case RAZER_ORNATA_CHROMA_V2_PID: + case RAZER_TARTARUS_V2_PID: report = razer_create_mode_wave_extended_matrix_report(RAZER_STORAGE_NO_SAVE, dev_led_id, direction); break; @@ -1065,9 +1065,9 @@ void RazerController::razer_set_mode_wave() | These devices use a standard matrix report | \*-------------------------------------------------*/ case RAZER_BLACKWIDOW_CHROMA_V2_PID: - case RAZER_FIREFLY_PID: - case RAZER_CORE_PID: case RAZER_CHROMA_MUG_PID: + case RAZER_CORE_PID: + case RAZER_FIREFLY_PID: default: report = razer_create_mode_wave_standard_matrix_report(RAZER_STORAGE_NO_SAVE, dev_led_id, direction); break; diff --git a/Controllers/RazerController/RazerControllerDetect.cpp b/Controllers/RazerController/RazerControllerDetect.cpp index aff62df8..740a06ea 100644 --- a/Controllers/RazerController/RazerControllerDetect.cpp +++ b/Controllers/RazerController/RazerControllerDetect.cpp @@ -97,6 +97,7 @@ REGISTER_HID_DETECTOR_PU("Razer Ornata Chroma", Dete \*-----------------------------------------------------------------------------------------------------*/ REGISTER_HID_DETECTOR_PU("Razer Orbweaver Chroma", DetectRazerControllers, RAZER_VID, RAZER_ORBWEAVER_CHROMA_PID, 1, 2); REGISTER_HID_DETECTOR_PU("Razer Tartarus Chroma", DetectRazerControllers, RAZER_VID, RAZER_TARTARUS_CHROMA_PID, 1, 2); +REGISTER_HID_DETECTOR_PU("Razer Tartarus V2", DetectRazerControllers, RAZER_VID, RAZER_TARTARUS_V2_PID, 1, 2); /*-----------------------------------------------------------------------------------------------------*\ | Laptops | @@ -108,7 +109,10 @@ REGISTER_HID_DETECTOR_PU("Razer Blade Stealth", Dete /*-----------------------------------------------------------------------------------------------------*\ | Mice | \*-----------------------------------------------------------------------------------------------------*/ +REGISTER_HID_DETECTOR_PU("Razer Basilisk", DetectRazerControllers, RAZER_VID, RAZER_BASILISK_PID, 1, 2); +REGISTER_HID_DETECTOR_PU("Razer Basilisk Essential", DetectRazerControllers, RAZER_VID, RAZER_BASILISK_ESSENTIAL_PID, 1, 2); REGISTER_HID_DETECTOR_PU("Razer Deathadder Chroma", DetectRazerControllers, RAZER_VID, RAZER_DEATHADDER_CHROMA_PID, 1, 2); +REGISTER_HID_DETECTOR_PU("Razer Deathadder Elite", DetectRazerControllers, RAZER_VID, RAZER_DEATHADDER_ELITE_PID, 1, 2); REGISTER_HID_DETECTOR_PU("Razer Deathadder V2", DetectRazerControllers, RAZER_VID, RAZER_DEATHADDER_V2_PID, 1, 2); REGISTER_HID_DETECTOR_PU("Razer Diamondback", DetectRazerControllers, RAZER_VID, RAZER_DIAMONDBACK_CHROMA_PID, 1, 2); REGISTER_HID_DETECTOR_PU("Razer Mamba Elite", DetectRazerControllers, RAZER_VID, RAZER_MAMBA_ELITE_PID, 1, 2); @@ -121,11 +125,12 @@ REGISTER_HID_DETECTOR_PU("Razer Naga Epic Chroma", Dete \*-----------------------------------------------------------------------------------------------------*/ REGISTER_HID_DETECTOR_PU("Razer Base Station Chroma", DetectRazerControllers, RAZER_VID, RAZER_CHROMA_BASE_PID, 1, 2); REGISTER_HID_DETECTOR_PU("Razer Base Station V2 Chroma", DetectRazerControllers, RAZER_VID, RAZER_BASE_STATION_V2_CHROMA_PID, 1, 2); -REGISTER_HID_DETECTOR( "Razer Charging Pad Chroma", DetectRazerControllers, RAZER_VID, RAZER_CHARGING_PAD_CHROMA_PID); +REGISTER_HID_DETECTOR ("Razer Charging Pad Chroma", DetectRazerControllers, RAZER_VID, RAZER_CHARGING_PAD_CHROMA_PID ); REGISTER_HID_DETECTOR_PU("Razer Chroma HDK", DetectRazerControllers, RAZER_VID, RAZER_CHROMA_HDK_PID, 1, 2); REGISTER_HID_DETECTOR_PU("Razer Chroma Mug Holder", DetectRazerControllers, RAZER_VID, RAZER_CHROMA_MUG_PID, 1, 2); REGISTER_HID_DETECTOR_PU("Razer Core", DetectRazerControllers, RAZER_VID, RAZER_CORE_PID, 1, 2); REGISTER_HID_DETECTOR_PU("Razer Firefly", DetectRazerControllers, RAZER_VID, RAZER_FIREFLY_PID, 1, 2); +REGISTER_HID_DETECTOR_PU("Razer Firefly V2", DetectRazerControllers, RAZER_VID, RAZER_FIREFLY_V2_PID, 1, 2); REGISTER_HID_DETECTOR_PU("Razer Firefly Hyperflux", DetectRazerControllers, RAZER_VID, RAZER_FIREFLY_HYPERFLUX_PID, 1, 2); REGISTER_HID_DETECTOR_PU("Razer Goliathus", DetectRazerControllers, RAZER_VID, RAZER_GOLIATHUS_CHROMA_PID, 1, 2); REGISTER_HID_DETECTOR_PU("Razer Goliathus Extended", DetectRazerControllers, RAZER_VID, RAZER_GOLIATHUS_CHROMA_EXTENDED_PID, 1, 2); diff --git a/Controllers/RazerController/RazerDevices.h b/Controllers/RazerController/RazerDevices.h index 553852f0..3691c922 100644 --- a/Controllers/RazerController/RazerDevices.h +++ b/Controllers/RazerController/RazerDevices.h @@ -13,142 +13,143 @@ | List taken from OpenRazer | | Non-RGB keyboards were omitted from this list | \*-----------------------------------------------------*/ +#define RAZER_BLACKWIDOW_2019_PID 0x0241 #define RAZER_BLACKWIDOW_CHROMA_PID 0x0203 -#define RAZER_DEATHSTALKER_CHROMA_PID 0x0204 -#define RAZER_BLADE_STEALTH_PID 0x0205 -#define RAZER_ORBWEAVER_CHROMA_PID 0x0207 -#define RAZER_TARTARUS_CHROMA_PID 0x0208 #define RAZER_BLACKWIDOW_CHROMA_TE_PID 0x0209 -#define RAZER_BLADE_QHD_PID 0x020F -#define RAZER_BLADE_PRO_LATE_2016_PID 0x0210 +#define RAZER_BLACKWIDOW_CHROMA_V2_PID 0x0221 +#define RAZER_BLACKWIDOW_ELITE_PID 0x0228 +#define RAZER_BLACKWIDOW_ESSENTIAL_PID 0x0237 +#define RAZER_BLACKWIDOW_LITE_PID 0x0235 #define RAZER_BLACKWIDOW_OVERWATCH_PID 0x0211 #define RAZER_BLACKWIDOW_X_CHROMA_PID 0x0216 #define RAZER_BLACKWIDOW_X_CHROMA_TE_PID 0x021A -#define RAZER_ORNATA_CHROMA_PID 0x021E -#define RAZER_BLADE_STEALTH_LATE_2016_PID 0x0220 -#define RAZER_BLACKWIDOW_CHROMA_V2_PID 0x0221 +#define RAZER_BLADE_15_ADV_2020_PID 0x0253 +#define RAZER_BLADE_2018_BASE_PID 0x023B +#define RAZER_BLADE_2018_MERCURY_PID 0x0240 +#define RAZER_BLADE_2018_PID 0x0233 +#define RAZER_BLADE_2019_ADV_PID 0x023A +#define RAZER_BLADE_2019_BASE_PID 0x0246 +#define RAZER_BLADE_EARLY_2020_BASE_PID 0x0255 #define RAZER_BLADE_LATE_2016_PID 0x0224 +#define RAZER_BLADE_MID_2019_MERCURY_PID 0x0245 +#define RAZER_BLADE_PRO_2017_FULLHD_PID 0x022F #define RAZER_BLADE_PRO_2017_PID 0x0225 +#define RAZER_BLADE_PRO_2019_PID 0x0234 +#define RAZER_BLADE_PRO_LATE_2016_PID 0x0210 +#define RAZER_BLADE_PRO_LATE_2019_PID 0x024C +#define RAZER_BLADE_QHD_PID 0x020F +#define RAZER_BLADE_STEALTH_2019_PID 0x0239 +#define RAZER_BLADE_STEALTH_EARLY_2020_PID 0x0252 +#define RAZER_BLADE_STEALTH_LATE_2016_PID 0x0220 +#define RAZER_BLADE_STEALTH_LATE_2017_PID 0x0232 +#define RAZER_BLADE_STEALTH_LATE_2019_PID 0x024A +#define RAZER_BLADE_STEALTH_LATE_2020_PID 0x0259 +#define RAZER_BLADE_STEALTH_MID_2017_PID 0x022D +#define RAZER_BLADE_STEALTH_PID 0x0205 +#define RAZER_BLADE_STUDIO_EDITION_2019_PID 0x024D +#define RAZER_CYNOSA_CHROMA_PID 0x022A +#define RAZER_CYNOSA_LITE_PID 0x023F +#define RAZER_CYNOSA_V2_PID 0x025E +#define RAZER_DEATHSTALKER_CHROMA_PID 0x0204 #define RAZER_HUNTSMAN_ELITE_PID 0x0226 #define RAZER_HUNTSMAN_PID 0x0227 -#define RAZER_BLACKWIDOW_ELITE_PID 0x0228 -#define RAZER_CYNOSA_CHROMA_PID 0x022A -#define RAZER_TARTARUS_V2_PID 0x022B -#define RAZER_BLADE_STEALTH_MID_2017_PID 0x022D -#define RAZER_BLADE_PRO_2017_FULLHD_PID 0x022F -#define RAZER_BLADE_STEALTH_LATE_2017_PID 0x0232 -#define RAZER_BLADE_2018_PID 0x0233 -#define RAZER_BLADE_PRO_2019_PID 0x0234 -#define RAZER_BLACKWIDOW_LITE_PID 0x0235 -#define RAZER_BLACKWIDOW_ESSENTIAL_PID 0x0237 -#define RAZER_BLADE_STEALTH_2019_PID 0x0239 -#define RAZER_BLADE_2019_ADV_PID 0x023A -#define RAZER_BLADE_2018_BASE_PID 0x023B -#define RAZER_CYNOSA_LITE_PID 0x023F -#define RAZER_BLADE_2018_MERCURY_PID 0x0240 -#define RAZER_BLACKWIDOW_2019_PID 0x0241 #define RAZER_HUNTSMAN_TE_PID 0x0243 -#define RAZER_BLADE_MID_2019_MERCURY_PID 0x0245 -#define RAZER_BLADE_2019_BASE_PID 0x0246 -#define RAZER_BLADE_STEALTH_LATE_2019_PID 0x024A -#define RAZER_BLADE_PRO_LATE_2019_PID 0x024C -#define RAZER_BLADE_STUDIO_EDITION_2019_PID 0x024D -#define RAZER_BLADE_STEALTH_EARLY_2020_PID 0x0252 -#define RAZER_BLADE_15_ADV_2020_PID 0x0253 -#define RAZER_BLADE_EARLY_2020_BASE_PID 0x0255 -#define RAZER_BLADE_STEALTH_LATE_2020_PID 0x0259 +#define RAZER_ORBWEAVER_CHROMA_PID 0x0207 +#define RAZER_ORNATA_CHROMA_PID 0x021E #define RAZER_ORNATA_CHROMA_V2_PID 0x025D -#define RAZER_CYNOSA_V2_PID 0x025E +#define RAZER_TARTARUS_CHROMA_PID 0x0208 +#define RAZER_TARTARUS_V2_PID 0x022B /*-----------------------------------------------------*\ | Mouse product IDs | | List taken from OpenRazer | \*-----------------------------------------------------*/ -#define RAZER_OROCHI_2011_PID 0x0013 -#define RAZER_DEATHADDER_3_5G_PID 0x0016 #define RAZER_ABYSSUS_1800_PID 0x0020 -#define RAZER_MAMBA_2012_WIRED_PID 0x0024 -#define RAZER_MAMBA_2012_WIRELESS_PID 0x0025 -#define RAZER_NAGA_2012_PID 0x002E -#define RAZER_IMPERATOR_PID 0x002F -#define RAZER_OUROBOROS_PID 0x0032 -#define RAZER_TAIPAN_PID 0x0034 -#define RAZER_NAGA_HEX_RED_PID 0x0036 -#define RAZER_DEATHADDER_2013_PID 0x0037 -#define RAZER_DEATHADDER_1800_PID 0x0038 -#define RAZER_OROCHI_2013_PID 0x0039 -#define RAZER_NAGA_2014_PID 0x0040 -#define RAZER_NAGA_HEX_PID 0x0041 -#define RAZER_ABYSSUS_PID 0x0042 -#define RAZER_DEATHADDER_CHROMA_PID 0x0043 -#define RAZER_MAMBA_WIRED_PID 0x0044 -#define RAZER_MAMBA_WIRELESS_PID 0x0045 -#define RAZER_MAMBA_TE_WIRED_PID 0x0046 -#define RAZER_OROCHI_CHROMA_PID 0x0048 -#define RAZER_DIAMONDBACK_CHROMA_PID 0x004C -#define RAZER_DEATHADDER_2000_PID 0x004F -#define RAZER_NAGA_HEX_V2_PID 0x0050 -#define RAZER_NAGA_CHROMA_PID 0x0053 -#define RAZER_DEATHADDER_3500_PID 0x0054 -#define RAZER_LANCEHEAD_WIRED_PID 0x0059 -#define RAZER_LANCEHEAD_WIRELESS_PID 0x005A -#define RAZER_ABYSSUS_V2_PID 0x005B -#define RAZER_DEATHADDER_ELITE_PID 0x005C #define RAZER_ABYSSUS_2000_PID 0x005E -#define RAZER_LANCEHEAD_TE_WIRED_PID 0x0060 -#define RAZER_ATHERIS_RECEIVER_PID 0x0062 -#define RAZER_BASILISK_PID 0x0064 -#define RAZER_NAGA_TRINITY_PID 0x0067 #define RAZER_ABYSSUS_ELITE_DVA_EDITION_PID 0x006A #define RAZER_ABYSSUS_ESSENTIAL_PID 0x006B -#define RAZER_MAMBA_ELITE_PID 0x006C +#define RAZER_ABYSSUS_PID 0x0042 +#define RAZER_ABYSSUS_V2_PID 0x005B +#define RAZER_ATHERIS_RECEIVER_PID 0x0062 +#define RAZER_BASILISK_PID 0x0064 +#define RAZER_BASILISK_ESSENTIAL_PID 0x0065 +#define RAZER_BASILISK_X_HYPERSPEED_PID 0x0083 +#define RAZER_DEATHADDER_1800_PID 0x0038 +#define RAZER_DEATHADDER_2000_PID 0x004F +#define RAZER_DEATHADDER_2013_PID 0x0037 +#define RAZER_DEATHADDER_3_5G_PID 0x0016 +#define RAZER_DEATHADDER_3500_PID 0x0054 +#define RAZER_DEATHADDER_CHROMA_PID 0x0043 +#define RAZER_DEATHADDER_ELITE_PID 0x005C #define RAZER_DEATHADDER_ESSENTIAL_PID 0x006E +#define RAZER_DEATHADDER_ESSENTIAL_WHITE_EDITION_PID 0x0071 +#define RAZER_DEATHADDER_V2_MINI_PID 0x008C +#define RAZER_DEATHADDER_V2_PID 0x0084 +#define RAZER_DEATHADDER_V2_PRO_WIRED_PID 0x007C +#define RAZER_DEATHADDER_V2_PRO_WIRELESS_PID 0x007D +#define RAZER_DIAMONDBACK_CHROMA_PID 0x004C +#define RAZER_IMPERATOR_PID 0x002F +#define RAZER_LANCEHEAD_TE_WIRED_PID 0x0060 +#define RAZER_LANCEHEAD_WIRED_PID 0x0059 +#define RAZER_LANCEHEAD_WIRELESS_PID 0x005A #define RAZER_LANCEHEAD_WIRELESS_RECEIVER_PID 0x006F #define RAZER_LANCEHEAD_WIRELESS_WIRED_PID 0x0070 -#define RAZER_DEATHADDER_ESSENTIAL_WHITE_EDITION_PID 0x0071 +#define RAZER_MAMBA_2012_WIRED_PID 0x0024 +#define RAZER_MAMBA_2012_WIRELESS_PID 0x0025 +#define RAZER_MAMBA_ELITE_PID 0x006C +#define RAZER_MAMBA_TE_WIRED_PID 0x0046 +#define RAZER_MAMBA_WIRED_PID 0x0044 +#define RAZER_MAMBA_WIRELESS_PID 0x0045 #define RAZER_MAMBA_WIRELESS_RECEIVER_PID 0x0072 #define RAZER_MAMBA_WIRELESS_WIRED_PID 0x0073 +#define RAZER_NAGA_2012_PID 0x002E +#define RAZER_NAGA_2014_PID 0x0040 +#define RAZER_NAGA_CHROMA_PID 0x0053 +#define RAZER_NAGA_EPIC_CHROMA_DOCK_PID 0x003F +#define RAZER_NAGA_EPIC_CHROMA_PID 0x003E +#define RAZER_NAGA_HEX_PID 0x0041 +#define RAZER_NAGA_HEX_RED_PID 0x0036 +#define RAZER_NAGA_HEX_V2_PID 0x0050 +#define RAZER_NAGA_TRINITY_PID 0x0067 +#define RAZER_OROCHI_2011_PID 0x0013 +#define RAZER_OROCHI_2013_PID 0x0039 +#define RAZER_OROCHI_CHROMA_PID 0x0048 +#define RAZER_OUROBOROS_PID 0x0032 +#define RAZER_TAIPAN_PID 0x0034 +#define RAZER_VIPER_MINI_PID 0x008A #define RAZER_VIPER_PID 0x0078 #define RAZER_VIPER_ULTIMATE_WIRED_PID 0x007A #define RAZER_VIPER_ULTIMATE_WIRELESS_PID 0x007B -#define RAZER_DEATHADDER_V2_PRO_WIRED_PID 0x007C -#define RAZER_DEATHADDER_V2_PRO_WIRELESS_PID 0x007D -#define RAZER_BASILISK_X_HYPERSPEED_PID 0x0083 -#define RAZER_DEATHADDER_V2_PID 0x0084 -#define RAZER_VIPER_MINI_PID 0x008A -#define RAZER_DEATHADDER_V2_MINI_PID 0x008C -#define RAZER_NAGA_EPIC_CHROMA_PID 0x003E -#define RAZER_NAGA_EPIC_CHROMA_DOCK_PID 0x003F /*-----------------------------------------------------*\ | Headset product IDs | \*-----------------------------------------------------*/ -#define RAZER_KRAKEN_CLASSIC_PID 0x0501 -#define RAZER_KRAKEN_PID 0x0504 #define RAZER_KRAKEN_CLASSIC_ALT_PID 0x0506 -#define RAZER_KRAKEN_V2_PID 0x0510 -#define RAZER_KRAKEN_ULTIMATE_PID 0x0527 +#define RAZER_KRAKEN_CLASSIC_PID 0x0501 #define RAZER_KRAKEN_KITTY_EDITION_PID 0x0F19 +#define RAZER_KRAKEN_PID 0x0504 +#define RAZER_KRAKEN_ULTIMATE_PID 0x0527 +#define RAZER_KRAKEN_V2_PID 0x0510 #define RAZER_TIAMAT_71_V2_PID 0x0F03 /*-----------------------------------------------------*\ | Accessory product IDs | | List taken from OpenRazer | \*-----------------------------------------------------*/ -#define RAZER_FIREFLY_HYPERFLUX_PID 0x0068 -#define RAZER_CORE_PID 0x0215 -#define RAZER_NOMMO_CHROMA_PID 0x0517 -#define RAZER_NOMMO_PRO_PID 0x0518 -#define RAZER_FIREFLY_PID 0x0C00 -#define RAZER_GOLIATHUS_CHROMA_PID 0x0C01 -#define RAZER_GOLIATHUS_CHROMA_EXTENDED_PID 0x0C02 -#define RAZER_FIREFLY_V2_PID 0x0C04 -#define RAZER_CHROMA_MUG_PID 0x0F07 -#define RAZER_CHROMA_BASE_PID 0x0F08 -#define RAZER_CHROMA_HDK_PID 0x0F09 -#define RAZER_MOUSE_BUNGEE_V3_CHROMA_PID 0x0F1D #define RAZER_BASE_STATION_V2_CHROMA_PID 0x0F20 #define RAZER_CHARGING_PAD_CHROMA_PID 0x0F26 +#define RAZER_CHROMA_BASE_PID 0x0F08 +#define RAZER_CHROMA_HDK_PID 0x0F09 +#define RAZER_CHROMA_MUG_PID 0x0F07 +#define RAZER_CORE_PID 0x0215 +#define RAZER_FIREFLY_HYPERFLUX_PID 0x0068 +#define RAZER_FIREFLY_PID 0x0C00 +#define RAZER_FIREFLY_V2_PID 0x0C04 +#define RAZER_GOLIATHUS_CHROMA_EXTENDED_PID 0x0C02 +#define RAZER_GOLIATHUS_CHROMA_PID 0x0C01 +#define RAZER_MOUSE_BUNGEE_V3_CHROMA_PID 0x0F1D +#define RAZER_NOMMO_CHROMA_PID 0x0517 +#define RAZER_NOMMO_PRO_PID 0x0518 typedef struct { @@ -2892,6 +2893,40 @@ static const razer_device basilisk_device = 0 }; +/*-------------------------------------------------------------*\ +| Razer Basilisk Essential | +| | +| Zone "Logo" | +| Single | +| 1 LED | +\*-------------------------------------------------------------*/ +static const razer_zone basilisk_essential_logo_zone = +{ + "Logo", + ZONE_TYPE_SINGLE, + 1, + 1 +}; + +static const razer_device basilisk_essential_device = +{ + "Razer Basilisk Essential", + RAZER_BASILISK_ESSENTIAL_PID, + DEVICE_TYPE_MOUSE, + false, + 1, + 1, + { + &basilisk_essential_logo_zone, + NULL, + NULL, + NULL, + NULL, + NULL + }, + NULL, + 0 +}; /*-------------------------------------------------------------*\ | Razer DeathAdder Chroma | | | @@ -4230,6 +4265,41 @@ static const razer_device firefly_hyperflux_device = 0 }; +/*-------------------------------------------------------------*\ +| Razer Firefly V2 | +| | +| Zone "LED Strip" | +| Matrix | +| 19 LEDs | +\*-------------------------------------------------------------*/ +static const razer_zone firefly_v2_zone = +{ + "LED Strip", + ZONE_TYPE_LINEAR, + 1, + 19 +}; + +static const razer_device firefly_v2_device = +{ + "Razer Firefly V2", + RAZER_FIREFLY_V2_PID, + DEVICE_TYPE_MOUSEMAT, + true, + 1, + 19, + { + &firefly_v2_zone, + NULL, + NULL, + NULL, + NULL, + NULL + }, + NULL, + 0 +}; + /*-------------------------------------------------------------*\ | Razer Goliathus | | | @@ -4856,35 +4926,36 @@ static const razer_device* device_list[] = /*-----------------------------------------------------------------*\ | LAPTOPS | \*-----------------------------------------------------------------*/ - &blade_stealth_device, - &blade_stealth_late_2016_device, - &blade_stealth_mid_2017_device, - &blade_stealth_late_2017_device, - &blade_stealth_2019_device, - &blade_stealth_late_2019_device, - &blade_stealth_early_2020_device, - &blade_late_2016_device, - &blade_qhd_device, + &blade_15_2018_base_device, &blade_15_2018_device, &blade_15_2018_mercury_device, - &blade_15_2018_base_device, &blade_15_2019_advanced_device, - &blade_15_mid_2019_mercury_device, - &blade_15_mid_2019_base_device, + &blade_15_advanced_2020_device, &blade_15_early_2020_base_device, + &blade_15_mid_2019_base_device, + &blade_15_mid_2019_mercury_device, &blade_15_studio_2019_device, - &blade_pro_late_2016_device, + &blade_late_2016_device, + &blade_pro_17_2019_device, &blade_pro_2017_device, &blade_pro_2017_fullhd_device, - &blade_pro_17_2019_device, + &blade_pro_late_2016_device, &blade_pro_late_2019_device, - &blade_15_advanced_2020_device, + &blade_qhd_device, + &blade_stealth_2019_device, + &blade_stealth_device, + &blade_stealth_early_2020_device, + &blade_stealth_late_2016_device, + &blade_stealth_late_2017_device, + &blade_stealth_late_2019_device, + &blade_stealth_mid_2017_device, /*-----------------------------------------------------------------*\ | MICE | \*-----------------------------------------------------------------*/ &abyssus_elite_dva_edition_device, &abyssus_essential_device, &basilisk_device, + &basilisk_essential_device, &deathadder_chroma_device, &deathadder_elite_device, &deathadder_v2_device, @@ -4919,6 +4990,7 @@ static const razer_device* device_list[] = \*-----------------------------------------------------------------*/ &firefly_device, &firefly_hyperflux_device, + &firefly_v2_device, &goliathus_device, &goliathus_extended_device, /*-----------------------------------------------------------------*\ @@ -4932,11 +5004,11 @@ static const razer_device* device_list[] = /*-----------------------------------------------------------------*\ | OTHER | \*-----------------------------------------------------------------*/ + &base_station_device, + &charging_pad_chroma_device, + &chromahdk_device, &core_device, &mug_holder_device, - &chromahdk_device, - &base_station_device, - &nommo_pro_device, &nommo_chroma_device, - &charging_pad_chroma_device, + &nommo_pro_device, };