Initial commit for the Corsair MM700 to resolve #1718

+ Adding CorsairPeripheralV2Controller base class
+ Adding CorsairPeripheralV2Devices.h metadata file
+ Renaming CorsairK55RGBPROController to CorsairPeripheralV2SWController
+ Adjusting CorsairPeripheralV2SWController to accomodate base class changes
+ Renaming RGBController_CorsairK55RGBPRO to RGBController_CorsairV2SW
+ Adjusting RGBController_CorsairV2SW to handle device set up from meta data
+ Adding PID `0x1B9B` and registering detector in CorsairPeripheralV2ControllerDetect.cpp
This commit is contained in:
Chris
2022-08-11 20:58:09 +10:00
parent 9caf7802ed
commit 3a71b76075
14 changed files with 970 additions and 350 deletions

View File

@@ -1,15 +1,18 @@
/*-----------------------------------------------------*\
| OpenRGB includes |
\*-----------------------------------------------------*/
#include <hidapi/hidapi.h>
#include "Detector.h"
#include "CorsairPeripheralController.h"
#include "CorsairK100Controller.h"
#include "CorsairK55RGBPROController.h"
#include "LogManager.h"
#include "RGBController.h"
/*-----------------------------------------------------*\
| Corsair Peripheral specific includes |
\*-----------------------------------------------------*/
#include "RGBController_CorsairPeripheral.h"
#include "RGBController_CorsairK100.h"
#include "RGBController_CorsairK55RGBPRO.h"
#include "RGBController_CorsairK65Mini.h"
#include "RGBController_CorsairK95PlatinumXT.h"
#include <hidapi/hidapi.h>
#define CORSAIR_PERIPHERAL_CONTROLLER_NAME "Corsair peripheral"
@@ -81,12 +84,6 @@
\*-----------------------------------------------------*/
#define CORSAIR_K100_PID 0x1B7C
/*-----------------------------------------------------*\
| Corsair K55 RGB PRO Keyboard product ID |
| This keyboard uses a separate driver |
\*-----------------------------------------------------*/
#define CORSAIR_K55_RGB_PRO_PID 0x1BA4
/*-----------------------------------------------------*\
| Corsair K65 Mini Keyboard product ID |
| This keyboard uses a separate driver |
@@ -120,19 +117,6 @@ void DetectCorsairK100Controllers(hid_device_info* info, const std::string& name
}
} /* DetectCorsairPeripheralControllers() */
void DetectCorsairK55RGBPROControllers(hid_device_info* info, const std::string& name)
{
hid_device* dev = hid_open_path(info->path);
if(dev)
{
CorsairK55RGBPROController* controller = new CorsairK55RGBPROController(dev, info->path);
controller->SetName(name);
RGBController_CorsairK55RGBPRO* rgb_controller = new RGBController_CorsairK55RGBPRO(controller);
ResourceManager::get()->RegisterRGBController(rgb_controller);
}
} /* DetectCorsairK55RGBPROControllers() */
void DetectCorsairK65MiniControllers(hid_device_info* info, const std::string& name)
{
hid_device* dev = hid_open_path(info->path);
@@ -252,16 +236,12 @@ REGISTER_HID_DETECTOR_I("Corsair ST100 RGB", DetectCorsairPeriphe
\*-----------------------------------------------------------------------------------------------------*/
REGISTER_HID_DETECTOR_IP("Corsair K100", DetectCorsairK100Controllers, CORSAIR_VID, CORSAIR_K100_PID, 1, 0xFF42);
/*-----------------------------------------------------------------------------------------------------*\
| Corsair K55 RGB PRO Keyboard |
\*-----------------------------------------------------------------------------------------------------*/
REGISTER_HID_DETECTOR_IP("Corsair K55 RGB PRO", DetectCorsairK55RGBPROControllers, CORSAIR_VID, CORSAIR_K55_RGB_PRO_PID, 1, 0xFF42);
/*-----------------------------------------------------------------------------------------------------*\
| Corsair K65 Mini Keyboard |
\*-----------------------------------------------------------------------------------------------------*/
REGISTER_HID_DETECTOR_I("Corsair K65 Mini", DetectCorsairK65MiniControllers, CORSAIR_VID, CORSAIR_K65_MINI_PID, 1);
REGISTER_HID_DETECTOR_I("Corsair K65 Mini", DetectCorsairK65MiniControllers, CORSAIR_VID, CORSAIR_K65_MINI_PID, 1);
/*-----------------------------------------------------------------------------------------------------*\
| Corsair K95 Platinum XT Keyboard |
\*-----------------------------------------------------------------------------------------------------*/
REGISTER_HID_DETECTOR_IP("Corsair K95 RGB PLATINUM XT", DetectCorsairK95PlatinumXTControllers, CORSAIR_VID, CORSAIR_K95_PLATINUM_XT_PID, 1, 0xFF42);
REGISTER_HID_DETECTOR_IP("Corsair K95 RGB PLATINUM XT", DetectCorsairK95PlatinumXTControllers, CORSAIR_VID, CORSAIR_K95_PLATINUM_XT_PID, 1, 0xFF42);