diff --git a/Controllers/HyperXKeyboardController/HyperXAlloyOriginsController.cpp b/Controllers/HyperXKeyboardController/HyperXAlloyOriginsController.cpp index e313ab7e..d9a4bc41 100644 --- a/Controllers/HyperXKeyboardController/HyperXAlloyOriginsController.cpp +++ b/Controllers/HyperXKeyboardController/HyperXAlloyOriginsController.cpp @@ -14,9 +14,10 @@ // Skip these indices in the color output static unsigned int skip_idx[] = { 6, 23, 29, 41, 47, 59, 70, 71, 75, 76, 87, 88, 93, 99, 100, 102, 108, 113, 114, 120, 123, 124 }; -HyperXAlloyOriginsController::HyperXAlloyOriginsController(hid_device* dev_handle) +HyperXAlloyOriginsController::HyperXAlloyOriginsController(hid_device* dev_handle, const char* path) { - dev = dev_handle; + dev = dev_handle; + location = path; } HyperXAlloyOriginsController::~HyperXAlloyOriginsController() @@ -24,6 +25,11 @@ HyperXAlloyOriginsController::~HyperXAlloyOriginsController() } +std::string HyperXAlloyOriginsController::GetDeviceLocation() +{ + return(location); +} + void HyperXAlloyOriginsController::SetLEDsDirect(std::vector colors) { /*-----------------------------------------------------*\ diff --git a/Controllers/HyperXKeyboardController/HyperXAlloyOriginsController.h b/Controllers/HyperXKeyboardController/HyperXAlloyOriginsController.h index 26642694..0d230fe4 100644 --- a/Controllers/HyperXKeyboardController/HyperXAlloyOriginsController.h +++ b/Controllers/HyperXKeyboardController/HyperXAlloyOriginsController.h @@ -17,13 +17,16 @@ class HyperXAlloyOriginsController { public: - HyperXAlloyOriginsController(hid_device* dev_handle); + HyperXAlloyOriginsController(hid_device* dev_handle, const char* path); ~HyperXAlloyOriginsController(); + std::string GetDeviceLocation(); + void SetLEDsDirect(std::vector colors); private: hid_device* dev; + std::string location; void SendDirectInitialization(); void SendDirectColorPacket diff --git a/Controllers/HyperXKeyboardController/HyperXKeyboardControllerDetect.cpp b/Controllers/HyperXKeyboardController/HyperXKeyboardControllerDetect.cpp index 00eaa2b9..4384b463 100644 --- a/Controllers/HyperXKeyboardController/HyperXKeyboardControllerDetect.cpp +++ b/Controllers/HyperXKeyboardController/HyperXKeyboardControllerDetect.cpp @@ -94,7 +94,7 @@ void DetectHyperXKeyboardControllers(std::vector& rgb_controller if( dev ) { - HyperXAlloyOriginsController* controller = new HyperXAlloyOriginsController(dev); + HyperXAlloyOriginsController* controller = new HyperXAlloyOriginsController(dev, info->path); RGBController_HyperXAlloyOrigins* rgb_controller = new RGBController_HyperXAlloyOrigins(controller); diff --git a/Controllers/HyperXKeyboardController/RGBController_HyperXAlloyOrigins.cpp b/Controllers/HyperXKeyboardController/RGBController_HyperXAlloyOrigins.cpp index 6e7a9771..adb55f35 100644 --- a/Controllers/HyperXKeyboardController/RGBController_HyperXAlloyOrigins.cpp +++ b/Controllers/HyperXKeyboardController/RGBController_HyperXAlloyOrigins.cpp @@ -198,6 +198,7 @@ RGBController_HyperXAlloyOrigins::RGBController_HyperXAlloyOrigins(HyperXAlloyOr name = "HyperX Alloy Origins Keyboard Device"; type = DEVICE_TYPE_KEYBOARD; description = "HyperX Alloy Origins Keyboard Device"; + location = hyperx->GetDeviceLocation(); mode Direct; Direct.name = "Direct";