From b829bfe538ae63f7f3d1735bda0cc1cc7bd1b759 Mon Sep 17 00:00:00 2001 From: Adam Honse Date: Fri, 2 Oct 2020 20:28:38 -0500 Subject: [PATCH] Use HID path for Location on Redragon controllers --- .../RGBController_RedragonM711.cpp | 1 + .../RedragonController/RedragonControllerDetect.cpp | 4 ++-- .../RedragonController/RedragonK556Controller.cpp | 12 +++++++++--- .../RedragonController/RedragonK556Controller.h | 5 ++++- .../RedragonController/RedragonM711Controller.cpp | 10 ++++++++-- .../RedragonController/RedragonM711Controller.h | 5 ++++- 6 files changed, 28 insertions(+), 9 deletions(-) diff --git a/Controllers/RedragonController/RGBController_RedragonM711.cpp b/Controllers/RedragonController/RGBController_RedragonM711.cpp index e87e6f3fe..e5f572212 100644 --- a/Controllers/RedragonController/RGBController_RedragonM711.cpp +++ b/Controllers/RedragonController/RGBController_RedragonM711.cpp @@ -16,6 +16,7 @@ RGBController_RedragonM711::RGBController_RedragonM711(RedragonM711Controller* r name = "Redragon Mouse Device"; type = DEVICE_TYPE_MOUSE; description = "Redragon Mouse Device"; + location = redragon->GetDeviceLocation(); mode Static; Static.name = "Static"; diff --git a/Controllers/RedragonController/RedragonControllerDetect.cpp b/Controllers/RedragonController/RedragonControllerDetect.cpp index a4a1081ac..44c8ef73f 100644 --- a/Controllers/RedragonController/RedragonControllerDetect.cpp +++ b/Controllers/RedragonController/RedragonControllerDetect.cpp @@ -99,7 +99,7 @@ void DetectRedragonControllers(std::vector& rgb_controllers) { case DEVICE_TYPE_KEYBOARD: { - RedragonK556Controller* controller = new RedragonK556Controller(dev); + RedragonK556Controller* controller = new RedragonK556Controller(dev, info->path); RGBController_RedragonK556* rgb_controller = new RGBController_RedragonK556(controller); @@ -110,7 +110,7 @@ void DetectRedragonControllers(std::vector& rgb_controllers) case DEVICE_TYPE_MOUSE: { - RedragonM711Controller* controller = new RedragonM711Controller(dev); + RedragonM711Controller* controller = new RedragonM711Controller(dev, info->path); RGBController_RedragonM711* rgb_controller = new RGBController_RedragonM711(controller); diff --git a/Controllers/RedragonController/RedragonK556Controller.cpp b/Controllers/RedragonController/RedragonK556Controller.cpp index bd34ca8ac..0091213b3 100644 --- a/Controllers/RedragonController/RedragonK556Controller.cpp +++ b/Controllers/RedragonController/RedragonK556Controller.cpp @@ -2,9 +2,15 @@ #include -RedragonK556Controller::RedragonK556Controller(hid_device* dev_handle) +RedragonK556Controller::RedragonK556Controller(hid_device* dev_handle, const char* path) { - dev = dev_handle; + dev = dev_handle; + location = path; +} + +std::string RedragonK556Controller::GetDeviceLocation() +{ + return(location); } void RedragonK556Controller::SetKeyboardColors @@ -223,4 +229,4 @@ void RedragonK556Controller::SendKeyboardParameter \*-----------------------------------------------------*/ hid_write(dev, (unsigned char *)usb_buf, 64); hid_read(dev, (unsigned char *)usb_buf, 64); -} \ No newline at end of file +} diff --git a/Controllers/RedragonController/RedragonK556Controller.h b/Controllers/RedragonController/RedragonK556Controller.h index f65181ad1..ce881a3d1 100644 --- a/Controllers/RedragonController/RedragonK556Controller.h +++ b/Controllers/RedragonController/RedragonK556Controller.h @@ -92,9 +92,11 @@ enum class RedragonK556Controller { public: - RedragonK556Controller(hid_device* dev_handle); + RedragonK556Controller(hid_device* dev_handle, const char* path); ~RedragonK556Controller(); + std::string GetDeviceLocation(); + void SetKeyboardColors ( unsigned char * color_data, @@ -131,6 +133,7 @@ public: private: hid_device* dev; + std::string location; void ComputeChecksum ( diff --git a/Controllers/RedragonController/RedragonM711Controller.cpp b/Controllers/RedragonController/RedragonM711Controller.cpp index a2cd692eb..26ffad95a 100644 --- a/Controllers/RedragonController/RedragonM711Controller.cpp +++ b/Controllers/RedragonController/RedragonM711Controller.cpp @@ -2,9 +2,10 @@ #include -RedragonM711Controller::RedragonM711Controller(hid_device* dev_handle) +RedragonM711Controller::RedragonM711Controller(hid_device* dev_handle, const char* path) { - dev = dev_handle; + dev = dev_handle; + location = path; unsigned char active_profile = 0x00; @@ -12,6 +13,11 @@ RedragonM711Controller::RedragonM711Controller(hid_device* dev_handle) SendMouseApply(); } +std::string RedragonM711Controller::GetDeviceLocation() +{ + return(location); +} + void RedragonM711Controller::SendMouseColor ( unsigned char red, diff --git a/Controllers/RedragonController/RedragonM711Controller.h b/Controllers/RedragonController/RedragonM711Controller.h index f864eacc9..b35e4cb06 100644 --- a/Controllers/RedragonController/RedragonM711Controller.h +++ b/Controllers/RedragonController/RedragonM711Controller.h @@ -27,9 +27,11 @@ enum class RedragonM711Controller { public: - RedragonM711Controller(hid_device* dev_handle); + RedragonM711Controller(hid_device* dev_handle, const char* path); ~RedragonM711Controller(); + std::string GetDeviceLocation(); + void SendMouseApply(); void SendMouseColor @@ -56,6 +58,7 @@ public: private: hid_device* dev; + std::string location; void SendWritePacket (