From 6fdc70d65029299736ea9c64313c167b81b07765 Mon Sep 17 00:00:00 2001 From: JDinABox <37222721+JDinABox@users.noreply.github.com> Date: Mon, 26 Dec 2022 01:28:09 -0500 Subject: [PATCH] Add support for Razer Ornata V3X Commit amended to address minor style issues by Adam Honse --- .../RazerController/RazerController.cpp | 4 ++ .../RazerController/RazerControllerDetect.cpp | 1 + Controllers/RazerController/RazerDevices.cpp | 37 +++++++++++++++++++ Controllers/RazerController/RazerDevices.h | 1 + 4 files changed, 43 insertions(+) diff --git a/Controllers/RazerController/RazerController.cpp b/Controllers/RazerController/RazerController.cpp index 7a7a948a..c574f3d2 100644 --- a/Controllers/RazerController/RazerController.cpp +++ b/Controllers/RazerController/RazerController.cpp @@ -58,6 +58,7 @@ RazerController::RazerController(hid_device* dev_handle, hid_device* dev_argb_ha case RAZER_CYNOSA_V2_PID: case RAZER_ORNATA_CHROMA_V2_PID: case RAZER_ORNATA_V3_PID: + case RAZER_ORNATA_V3_X_PID: case RAZER_TARTARUS_CHROMA_PID: case RAZER_TARTARUS_PRO_PID: case RAZER_TARTARUS_V2_PID: @@ -174,6 +175,7 @@ RazerController::RazerController(hid_device* dev_handle, hid_device* dev_argb_ha case RAZER_ORNATA_CHROMA_PID: case RAZER_ORNATA_CHROMA_V2_PID: case RAZER_ORNATA_V3_PID: + case RAZER_ORNATA_V3_X_PID: case RAZER_CORE_PID: case RAZER_FIREFLY_PID: default: @@ -299,6 +301,7 @@ RazerController::RazerController(hid_device* dev_handle, hid_device* dev_argb_ha case RAZER_ORNATA_CHROMA_PID: case RAZER_ORNATA_CHROMA_V2_PID: case RAZER_ORNATA_V3_PID: + case RAZER_ORNATA_V3_X_PID: case RAZER_SEIREN_EMOTE_PID: case RAZER_STRIDER_CHROMA_PID: case RAZER_TARTARUS_PRO_PID: @@ -592,6 +595,7 @@ bool RazerController::SupportsWave() case RAZER_ORNATA_CHROMA_PID: case RAZER_ORNATA_CHROMA_V2_PID: case RAZER_ORNATA_V3_PID: + case RAZER_ORNATA_V3_X_PID: case RAZER_HUNTSMAN_PID: case RAZER_HUNTSMAN_ELITE_PID: case RAZER_HUNTSMAN_MINI_PID: diff --git a/Controllers/RazerController/RazerControllerDetect.cpp b/Controllers/RazerController/RazerControllerDetect.cpp index 1cebc1d2..f8f1f83b 100644 --- a/Controllers/RazerController/RazerControllerDetect.cpp +++ b/Controllers/RazerController/RazerControllerDetect.cpp @@ -270,6 +270,7 @@ REGISTER_HID_DETECTOR_IPU("Razer Huntsman V2", Det REGISTER_HID_DETECTOR_IPU("Razer Ornata Chroma", DetectRazerControllers, RAZER_VID, RAZER_ORNATA_CHROMA_PID, 0x02, 0x01, 0x02); REGISTER_HID_DETECTOR_IPU("Razer Ornata Chroma V2", DetectRazerControllers, RAZER_VID, RAZER_ORNATA_CHROMA_V2_PID, 0x02, 0x01, 0x02); REGISTER_HID_DETECTOR_IPU("Razer Ornata V3", DetectRazerControllers, RAZER_VID, RAZER_ORNATA_V3_PID, 0x02, 0x01, 0x02); +REGISTER_HID_DETECTOR_IPU("Razer Ornata V3 X", DetectRazerControllers, RAZER_VID, RAZER_ORNATA_V3_X_PID, 0x02, 0x01, 0x02); /*-----------------------------------------------------------------------------------------------------*\ | Laptops | \*-----------------------------------------------------------------------------------------------------*/ diff --git a/Controllers/RazerController/RazerDevices.cpp b/Controllers/RazerController/RazerDevices.cpp index f15dca07..066e4c3e 100644 --- a/Controllers/RazerController/RazerDevices.cpp +++ b/Controllers/RazerController/RazerDevices.cpp @@ -3184,6 +3184,42 @@ static const razer_device ornata_v3_device = }; +/*-------------------------------------------------------------*\ +| Razer Ornata V3 X | +| | +| Zone "Keyboard" | +| Single | +| 1 LED | +\*-------------------------------------------------------------*/ +static const razer_zone ornata_v3_x_zone = +{ + ZONE_EN_KEYBOARD, + ZONE_TYPE_SINGLE, + 1, + 1 +}; + +static const razer_device ornata_v3_x_device = +{ + "Razer Ornata V3 X", + RAZER_ORNATA_V3_X_PID, + DEVICE_TYPE_KEYBOARD, + true, + 1, + 1, + { + &ornata_v3_x_zone, + NULL, + NULL, + NULL, + NULL, + NULL + }, + NULL, + 0 +}; + + /*-------------------------------------------------------------*\ | Razer DeathStalker Chroma | | | @@ -8373,6 +8409,7 @@ const razer_device* razer_device_list[] = &huntsman_v2_tkl_device, &ornata_chroma_device, &ornata_v3_device, + &ornata_v3_x_device, /*-----------------------------------------------------------------*\ | LAPTOPS | \*-----------------------------------------------------------------*/ diff --git a/Controllers/RazerController/RazerDevices.h b/Controllers/RazerController/RazerDevices.h index ddcac413..ae9527ac 100644 --- a/Controllers/RazerController/RazerDevices.h +++ b/Controllers/RazerController/RazerDevices.h @@ -98,6 +98,7 @@ #define RAZER_ORNATA_CHROMA_PID 0x021E #define RAZER_ORNATA_CHROMA_V2_PID 0x025D #define RAZER_ORNATA_V3_PID 0x028F +#define RAZER_ORNATA_V3_X_PID 0x0294 #define RAZER_TARTARUS_CHROMA_PID 0x0208 #define RAZER_TARTARUS_PRO_PID 0x0244 #define RAZER_TARTARUS_V2_PID 0x022B