From b33135dc45308ca96672c97d47ad8ba301e212c3 Mon Sep 17 00:00:00 2001 From: Chris Date: Fri, 5 Nov 2021 12:07:45 +1100 Subject: [PATCH] Initial commit for Lian Li O11 Dynamic - Razer Edition to resolve #1894 * Adding entry for the O11 Dynamic PID * Registered detectors * Added metadata to RazerDevices.h * Added capabilities to RazerController.cpp * Added UDEV rule to 60-openrgb.rules --- 60-openrgb.rules | 1 + .../RazerController/RazerController.cpp | 4 ++ .../RazerController/RazerControllerDetect.cpp | 1 + Controllers/RazerController/RazerDevices.h | 38 +++++++++++++++++++ 4 files changed, 44 insertions(+) diff --git a/60-openrgb.rules b/60-openrgb.rules index a0d3bf471..b6315c93c 100644 --- a/60-openrgb.rules +++ b/60-openrgb.rules @@ -663,6 +663,7 @@ SUBSYSTEMS=="usb", ATTR{idVendor}=="1532", ATTR{idProduct}=="0f1d", TAG+="uacces SUBSYSTEMS=="usb", ATTR{idVendor}=="1532", ATTR{idProduct}=="007e", TAG+="uaccess", TAG+="Razer_Mouse_Dock_Chroma" SUBSYSTEMS=="usb", ATTR{idVendor}=="1532", ATTR{idProduct}=="0517", TAG+="uaccess" SUBSYSTEMS=="usb", ATTR{idVendor}=="1532", ATTR{idProduct}=="0518", TAG+="uaccess" +SUBSYSTEMS=="usb", ATTR{idVendor}=="1532", ATTR{idProduct}=="0f13", TAG+="uaccess", TAG+="O11_Dynamic_Razer_Ed" #---------------------------------------------------------------# # Roccat Devices # diff --git a/Controllers/RazerController/RazerController.cpp b/Controllers/RazerController/RazerController.cpp index e6a0ecf29..b0dbfd23e 100644 --- a/Controllers/RazerController/RazerController.cpp +++ b/Controllers/RazerController/RazerController.cpp @@ -59,6 +59,7 @@ RazerController::RazerController(hid_device* dev_handle, hid_device* dev_argb_ha case RAZER_KRAKEN_KITTY_EDITION_PID: case RAZER_BASE_STATION_V2_CHROMA_PID: case RAZER_MOUSE_BUNGEE_V3_CHROMA_PID: + case RAZER_O11_DYNAMIC_PID: dev_transaction_id = 0x1F; break; @@ -108,6 +109,7 @@ RazerController::RazerController(hid_device* dev_handle, hid_device* dev_argb_ha case RAZER_CHROMA_HDK_PID: case RAZER_CORE_X_PID: case RAZER_FIREFLY_V2_PID: + case RAZER_O11_DYNAMIC_PID: dev_led_id = RAZER_LED_ID_ZERO; break; @@ -233,6 +235,7 @@ RazerController::RazerController(hid_device* dev_handle, hid_device* dev_argb_ha case RAZER_NAGA_TRINITY_PID: case RAZER_NOMMO_CHROMA_PID: case RAZER_NOMMO_PRO_PID: + case RAZER_O11_DYNAMIC_PID: case RAZER_ORNATA_CHROMA_PID: case RAZER_ORNATA_CHROMA_V2_PID: case RAZER_TARTARUS_V2_PID: @@ -508,6 +511,7 @@ bool RazerController::SupportsWave() case RAZER_MOUSE_BUNGEE_V3_CHROMA_PID: case RAZER_NOMMO_CHROMA_PID: case RAZER_NOMMO_PRO_PID: + case RAZER_O11_DYNAMIC_PID: supports_wave = true; break; diff --git a/Controllers/RazerController/RazerControllerDetect.cpp b/Controllers/RazerController/RazerControllerDetect.cpp index bdc3d1a44..a7deb2f9f 100644 --- a/Controllers/RazerController/RazerControllerDetect.cpp +++ b/Controllers/RazerController/RazerControllerDetect.cpp @@ -352,3 +352,4 @@ REGISTER_HID_DETECTOR_IPU("Razer Mouse Bungee V3 Chroma", Det REGISTER_HID_DETECTOR_IPU("Razer Mouse Dock Chroma", DetectRazerControllers, RAZER_VID, RAZER_MOUSE_DOCK_CHROMA_PID, 0x00, 0x01, 0x02); REGISTER_HID_DETECTOR_IPU("Razer Nommo Chroma", DetectRazerControllers, RAZER_VID, RAZER_NOMMO_CHROMA_PID, 0x00, 0x01, 0x03); REGISTER_HID_DETECTOR_IPU("Razer Nommo Pro", DetectRazerControllers, RAZER_VID, RAZER_NOMMO_PRO_PID, 0x00, 0x01, 0x03); +REGISTER_HID_DETECTOR_IPU("Lian Li O11 Dynamic - Razer Edition", DetectRazerControllers, RAZER_VID, RAZER_O11_DYNAMIC_PID, 0x02, 0x01, 0x02); diff --git a/Controllers/RazerController/RazerDevices.h b/Controllers/RazerController/RazerDevices.h index 1230410a0..32978f49b 100644 --- a/Controllers/RazerController/RazerDevices.h +++ b/Controllers/RazerController/RazerDevices.h @@ -175,6 +175,7 @@ #define RAZER_MOUSE_DOCK_CHROMA_PID 0x007E #define RAZER_NOMMO_CHROMA_PID 0x0517 #define RAZER_NOMMO_PRO_PID 0x0518 +#define RAZER_O11_DYNAMIC_PID 0x0F13 typedef struct { @@ -6780,6 +6781,42 @@ static const razer_device charging_pad_chroma_device = 0 }; +/*-------------------------------------------------------------*\ +| O11 Dynamic - Razer Edition 1532:0F13 | +| | +| Zone "Case LEDs" | +| Matrix | +| 64 LEDs | +| | +\*-------------------------------------------------------------*/ +static const razer_zone o11_dynamic_case_zone = +{ + "Case LEDs", + ZONE_TYPE_LINEAR, + 4, + 16 +}; + +static const razer_device o11_dynamic_device = +{ + "Lian Li O11 Dynamic - Razer Edition", + RAZER_O11_DYNAMIC_PID, + DEVICE_TYPE_LEDSTRIP, + true, + 4, + 16, + { + &o11_dynamic_case_zone, + NULL, + NULL, + NULL, + NULL, + NULL + }, + NULL, + 0 +}; + /*-------------------------------------------------------------------------*\ | DEVICE MASTER LIST | \*-------------------------------------------------------------------------*/ @@ -6924,4 +6961,5 @@ static const razer_device* device_list[] = &mouse_dock_chroma_device, &nommo_chroma_device, &nommo_pro_device, + &o11_dynamic_device, };