From dd29bc990583973fc52d1f4757a2e6aec92e2151 Mon Sep 17 00:00:00 2001 From: Adam Honse Date: Mon, 5 Oct 2020 00:28:59 -0500 Subject: [PATCH] Use HID path for Location on SteelSeries Siberia controller --- .../RGBController_SteelSeriesSiberia.cpp | 3 ++- .../SteelSeriesControllerDetect.cpp | 2 +- .../SteelSeriesSiberiaController.cpp | 11 +++++++++-- .../SteelSeriesSiberiaController.h | 5 ++++- 4 files changed, 16 insertions(+), 5 deletions(-) diff --git a/Controllers/SteelSeriesController/RGBController_SteelSeriesSiberia.cpp b/Controllers/SteelSeriesController/RGBController_SteelSeriesSiberia.cpp index fa360857a..29ffb7f14 100644 --- a/Controllers/SteelSeriesController/RGBController_SteelSeriesSiberia.cpp +++ b/Controllers/SteelSeriesController/RGBController_SteelSeriesSiberia.cpp @@ -13,9 +13,10 @@ RGBController_SteelSeriesSiberia::RGBController_SteelSeriesSiberia(SteelSeriesSi { siberia = siberia_ptr; - name = siberia_ptr->GetDeviceName(); + name = siberia->GetDeviceName(); type = DEVICE_TYPE_HEADSET; description = "SteelSeries Siberia Device"; + location = siberia->GetDeviceLocation(); mode Static; Static.name = "Static"; diff --git a/Controllers/SteelSeriesController/SteelSeriesControllerDetect.cpp b/Controllers/SteelSeriesController/SteelSeriesControllerDetect.cpp index d15f5deed..c38bd2545 100644 --- a/Controllers/SteelSeriesController/SteelSeriesControllerDetect.cpp +++ b/Controllers/SteelSeriesController/SteelSeriesControllerDetect.cpp @@ -138,7 +138,7 @@ void DetectSteelSeriesControllers(std::vector& rgb_controllers) case DEVICE_TYPE_HEADSET: { - SteelSeriesSiberiaController* controller = new SteelSeriesSiberiaController(dev); + SteelSeriesSiberiaController* controller = new SteelSeriesSiberiaController(dev, info->path); RGBController_SteelSeriesSiberia* rgb_controller = new RGBController_SteelSeriesSiberia(controller); rgb_controller->name = device_list[device_idx].name; diff --git a/Controllers/SteelSeriesController/SteelSeriesSiberiaController.cpp b/Controllers/SteelSeriesController/SteelSeriesSiberiaController.cpp index af61183db..f96ad86d7 100644 --- a/Controllers/SteelSeriesController/SteelSeriesSiberiaController.cpp +++ b/Controllers/SteelSeriesController/SteelSeriesSiberiaController.cpp @@ -35,16 +35,23 @@ static void send_usb_msg(hid_device* dev, char * data_pkt, unsigned int size) SteelSeriesSiberiaController::SteelSeriesSiberiaController ( - hid_device* dev_handle + hid_device* dev_handle, + const char* path ) { - dev = dev_handle; + dev = dev_handle; + location = path; } SteelSeriesSiberiaController::~SteelSeriesSiberiaController() { } +std::string SteelSeriesSiberiaController::GetDeviceLocation() +{ + return(location); +} + char* SteelSeriesSiberiaController::GetDeviceName() { return device_name; diff --git a/Controllers/SteelSeriesController/SteelSeriesSiberiaController.h b/Controllers/SteelSeriesController/SteelSeriesSiberiaController.h index a7a959d4d..723830c3d 100644 --- a/Controllers/SteelSeriesController/SteelSeriesSiberiaController.h +++ b/Controllers/SteelSeriesController/SteelSeriesSiberiaController.h @@ -17,11 +17,13 @@ class SteelSeriesSiberiaController public: SteelSeriesSiberiaController ( - hid_device* dev_handle + hid_device* dev_handle, + const char* path ); ~SteelSeriesSiberiaController(); + std::string GetDeviceLocation(); char* GetDeviceName(); void SetColor @@ -34,4 +36,5 @@ public: private: char device_name[32]; hid_device* dev; + std::string location; };