From 986b21e02b6b958a884e921b0bb6eb9d22072c6e Mon Sep 17 00:00:00 2001 From: Lobo Tommy Date: Thu, 7 Nov 2024 14:45:14 +0000 Subject: [PATCH] Adding Turtle Beach Vulcan II support --- Controllers/RoccatController/RoccatControllerDetect.cpp | 3 +++ .../RGBController_RoccatVulcanKeyboard.cpp | 1 + .../RoccatVulcanKeyboardController.cpp | 4 ++++ .../RoccatVulcanKeyboardController.h | 1 + 4 files changed, 9 insertions(+) diff --git a/Controllers/RoccatController/RoccatControllerDetect.cpp b/Controllers/RoccatController/RoccatControllerDetect.cpp index 726b065f..89232327 100644 --- a/Controllers/RoccatController/RoccatControllerDetect.cpp +++ b/Controllers/RoccatController/RoccatControllerDetect.cpp @@ -33,6 +33,7 @@ #include #define ROCCAT_VID 0x1E7D +#define TURTLE_BEACH_VID 0x10F5 /*--------------------------------------------------------------------------------*\ | KEYBOARDS | @@ -119,6 +120,7 @@ void DetectRoccatVulcanKeyboardControllers(hid_device_info* info, const std::str case ROCCAT_MAGMA_PID: case ROCCAT_MAGMA_MINI_PID: case ROCCAT_VULCAN_II_PID: + case TURTLE_BEACH_VULCAN_II_PID: dev_led_page = 0xFF00; dev_ctrl_page = 0xFF01; break; @@ -320,6 +322,7 @@ REGISTER_HID_DETECTOR_IP ("Roccat Vulcan 120-Series Aimo", DetectRoccatVulcanKe REGISTER_HID_DETECTOR_IP ("Roccat Vulcan TKL", DetectRoccatVulcanKeyboardControllers, ROCCAT_VID, ROCCAT_VULCAN_TKL_PID, 1, 11); REGISTER_HID_DETECTOR_IP ("Roccat Vulcan Pro", DetectRoccatVulcanKeyboardControllers, ROCCAT_VID, ROCCAT_VULCAN_PRO_PID, 1, 0xFF01); REGISTER_HID_DETECTOR_IP ("Roccat Vulcan II", DetectRoccatVulcanKeyboardControllers, ROCCAT_VID, ROCCAT_VULCAN_II_PID, 1, 0xFF01); +REGISTER_HID_DETECTOR_IP ("Turtle Beach Vulcan II", DetectRoccatVulcanKeyboardControllers, TURTLE_BEACH_VID, TURTLE_BEACH_VULCAN_II_PID, 1, 0xFF01); /*-----------------------------------------------------------------*\ | MICE | diff --git a/Controllers/RoccatController/RoccatVulcanKeyboardController/RGBController_RoccatVulcanKeyboard.cpp b/Controllers/RoccatController/RoccatVulcanKeyboardController/RGBController_RoccatVulcanKeyboard.cpp index d0ef7105..ad2b4998 100644 --- a/Controllers/RoccatController/RoccatVulcanKeyboardController/RGBController_RoccatVulcanKeyboard.cpp +++ b/Controllers/RoccatController/RoccatVulcanKeyboardController/RGBController_RoccatVulcanKeyboard.cpp @@ -119,6 +119,7 @@ void RGBController_RoccatVulcanKeyboard::SetupZones() keyboard_ptr = &RoccatPyroLayouts; break; case ROCCAT_VULCAN_II_PID: + case TURTLE_BEACH_VULCAN_II_PID: keyboard_ptr = &RoccatVulcanIILayouts; break; case ROCCAT_MAGMA_PID: diff --git a/Controllers/RoccatController/RoccatVulcanKeyboardController/RoccatVulcanKeyboardController.cpp b/Controllers/RoccatController/RoccatVulcanKeyboardController/RoccatVulcanKeyboardController.cpp index caefc518..cf0dca1a 100644 --- a/Controllers/RoccatController/RoccatVulcanKeyboardController/RoccatVulcanKeyboardController.cpp +++ b/Controllers/RoccatController/RoccatVulcanKeyboardController/RoccatVulcanKeyboardController.cpp @@ -63,6 +63,7 @@ device_info RoccatVulcanKeyboardController::InitDeviceInfo() case ROCCAT_MAGMA_MINI_PID: case ROCCAT_VULCAN_PRO_PID: case ROCCAT_VULCAN_II_PID: + case TURTLE_BEACH_VULCAN_II_PID: packet_length = 9; report_id = 0x09; break; @@ -117,6 +118,7 @@ void RoccatVulcanKeyboardController::EnableDirect(bool on_off_switch) case ROCCAT_MAGMA_MINI_PID: case ROCCAT_VULCAN_PRO_PID: case ROCCAT_VULCAN_II_PID: + case TURTLE_BEACH_VULCAN_II_PID: buf = new uint8_t[5] { 0x0E, 0x05, on_off_switch, 0x00, 0x00 }; hid_send_feature_report(dev_ctrl, buf, 5); break; @@ -152,6 +154,7 @@ void RoccatVulcanKeyboardController::SendColors(std::vector colors) protocol_version = 2; break; case ROCCAT_VULCAN_II_PID: + case TURTLE_BEACH_VULCAN_II_PID: packet_length = 396; column_length = 1; protocol_version = 2; @@ -285,6 +288,7 @@ void RoccatVulcanKeyboardController::SendMode(unsigned int mode, unsigned int sp column_length = 12; break; case ROCCAT_VULCAN_II_PID: + case TURTLE_BEACH_VULCAN_II_PID: protocol_version = 2; packet_length = 377; column_length = 1; diff --git a/Controllers/RoccatController/RoccatVulcanKeyboardController/RoccatVulcanKeyboardController.h b/Controllers/RoccatController/RoccatVulcanKeyboardController/RoccatVulcanKeyboardController.h index f6b8065f..90bb6650 100644 --- a/Controllers/RoccatController/RoccatVulcanKeyboardController/RoccatVulcanKeyboardController.h +++ b/Controllers/RoccatController/RoccatVulcanKeyboardController/RoccatVulcanKeyboardController.h @@ -28,6 +28,7 @@ #define ROCCAT_PYRO_PID 0x314C #define ROCCAT_MAGMA_PID 0x3124 #define ROCCAT_MAGMA_MINI_PID 0x69A0 +#define TURTLE_BEACH_VULCAN_II_PID 0x501B enum {