diff --git a/Controllers/LogitechController/LogitechControllerDetect.cpp b/Controllers/LogitechController/LogitechControllerDetect.cpp index b09c1307..e14b3561 100644 --- a/Controllers/LogitechController/LogitechControllerDetect.cpp +++ b/Controllers/LogitechController/LogitechControllerDetect.cpp @@ -234,7 +234,7 @@ void DetectLogitechControllers(std::vector& rgb_controllers) { case LOGITECH_G203_PID: { - LogitechG203Controller* controller = new LogitechG203Controller(dev); + LogitechG203Controller* controller = new LogitechG203Controller(dev, info->path); RGBController_LogitechG203* rgb_controller = new RGBController_LogitechG203(controller); @@ -245,7 +245,7 @@ void DetectLogitechControllers(std::vector& rgb_controllers) case LOGITECH_G203L_PID: { - LogitechG203LController* controller = new LogitechG203LController(dev); + LogitechG203LController* controller = new LogitechG203LController(dev, info->path); RGBController_LogitechG203L* rgb_controller = new RGBController_LogitechG203L(controller); @@ -257,7 +257,7 @@ void DetectLogitechControllers(std::vector& rgb_controllers) case LOGITECH_G403_PID: case LOGITECH_G403H_PID: { - LogitechG403Controller* controller = new LogitechG403Controller(dev); + LogitechG403Controller* controller = new LogitechG403Controller(dev, info->path); RGBController_LogitechG403* rgb_controller = new RGBController_LogitechG403(controller); @@ -269,7 +269,7 @@ void DetectLogitechControllers(std::vector& rgb_controllers) case LOGITECH_G502_PS_PID: case LOGITECH_G502H_PID: { - LogitechG502PSController* controller = new LogitechG502PSController(dev); + LogitechG502PSController* controller = new LogitechG502PSController(dev, info->path); RGBController_LogitechG502PS* rgb_controller = new RGBController_LogitechG502PS(controller); @@ -281,7 +281,7 @@ void DetectLogitechControllers(std::vector& rgb_controllers) case LOGITECH_GPRO_WIRELESS_PID: case LOGITECH_G_LIGHTSPEED_WIRELESS_PID: { - LogitechGProWirelessController* controller = new LogitechGProWirelessController(dev); + LogitechGProWirelessController* controller = new LogitechGProWirelessController(dev, info->path); RGBController_LogitechGProWireless* rgb_controller = new RGBController_LogitechGProWireless(controller); @@ -292,7 +292,7 @@ void DetectLogitechControllers(std::vector& rgb_controllers) case LOGITECH_G_LIGHTSPEED_POWERPLAY_PID: { //Add mouse - LogitechGProWirelessController* mouse_controller = new LogitechGProWirelessController(dev); + LogitechGProWirelessController* mouse_controller = new LogitechGProWirelessController(dev, info->path); RGBController_LogitechGProWireless* mouse_rgb_controller = new RGBController_LogitechGProWireless(mouse_controller); @@ -300,7 +300,7 @@ void DetectLogitechControllers(std::vector& rgb_controllers) rgb_controllers.push_back(mouse_rgb_controller); //Add Powerplay mousemat - LogitechGPowerPlayController* mousemat_controller = new LogitechGPowerPlayController(dev); + LogitechGPowerPlayController* mousemat_controller = new LogitechGPowerPlayController(dev, info->path); RGBController_LogitechGPowerPlay* mousemat_rgb_controller = new RGBController_LogitechGPowerPlay(mousemat_controller); diff --git a/Controllers/LogitechController/LogitechG203Controller.cpp b/Controllers/LogitechController/LogitechG203Controller.cpp index c97618bc..b58efb4a 100644 --- a/Controllers/LogitechController/LogitechG203Controller.cpp +++ b/Controllers/LogitechController/LogitechG203Controller.cpp @@ -11,9 +11,15 @@ #include -LogitechG203Controller::LogitechG203Controller(hid_device* dev_handle) +LogitechG203Controller::LogitechG203Controller(hid_device* dev_handle, const char* path) { - dev = dev_handle; + dev = dev_handle; + location = path; +} + +std::string LogitechG203Controller::GetDeviceLocation() +{ + return(location); } /*-------------------------------------------------------------------------------------------------*\ diff --git a/Controllers/LogitechController/LogitechG203Controller.h b/Controllers/LogitechController/LogitechG203Controller.h index ea1d5ffb..b53a90c6 100644 --- a/Controllers/LogitechController/LogitechG203Controller.h +++ b/Controllers/LogitechController/LogitechG203Controller.h @@ -36,9 +36,11 @@ enum class LogitechG203Controller { public: - LogitechG203Controller(hid_device* dev_handle); + LogitechG203Controller(hid_device* dev_handle, const char* path); ~LogitechG203Controller(); + std::string GetDeviceLocation(); + void SendMouseMode ( unsigned char mode, @@ -50,4 +52,5 @@ public: private: hid_device* dev; + std::string location; }; diff --git a/Controllers/LogitechController/LogitechG203LController.cpp b/Controllers/LogitechController/LogitechG203LController.cpp index 8e231bb4..333c2fc6 100644 --- a/Controllers/LogitechController/LogitechG203LController.cpp +++ b/Controllers/LogitechController/LogitechG203LController.cpp @@ -2,9 +2,15 @@ #include -LogitechG203LController::LogitechG203LController(hid_device* dev_handle) +LogitechG203LController::LogitechG203LController(hid_device* dev_handle, const char* path) { - dev = dev_handle; + dev = dev_handle; + location = path; +} + +std::string LogitechG203LController::GetDeviceLocation() +{ + return(location); } void LogitechG203LController::SendApply() diff --git a/Controllers/LogitechController/LogitechG203LController.h b/Controllers/LogitechController/LogitechG203LController.h index 093ca88b..e7cfbef0 100644 --- a/Controllers/LogitechController/LogitechG203LController.h +++ b/Controllers/LogitechController/LogitechG203LController.h @@ -19,14 +19,18 @@ enum class LogitechG203LController { public: - LogitechG203LController(hid_device* dev_handle); + LogitechG203LController(hid_device* dev_handle, const char* path); ~LogitechG203LController(); - void SetSingleLED(int led, unsigned char red, unsigned char green, unsigned char blue); - void SetMode(int mode, int speed, unsigned char brightness, unsigned char dir, unsigned char red, unsigned char green, unsigned char blue); - void SetDevice(std::vector colors); + std::string GetDeviceLocation(); + + void SetSingleLED(int led, unsigned char red, unsigned char green, unsigned char blue); + void SetMode(int mode, int speed, unsigned char brightness, unsigned char dir, unsigned char red, unsigned char green, unsigned char blue); + void SetDevice(std::vector colors); private: hid_device* dev; - void SendApply(); + std::string location; + + void SendApply(); }; diff --git a/Controllers/LogitechController/LogitechG403Controller.cpp b/Controllers/LogitechController/LogitechG403Controller.cpp index 5384bb69..6e6555b9 100644 --- a/Controllers/LogitechController/LogitechG403Controller.cpp +++ b/Controllers/LogitechController/LogitechG403Controller.cpp @@ -11,9 +11,10 @@ #include -LogitechG403Controller::LogitechG403Controller(hid_device* dev_handle) +LogitechG403Controller::LogitechG403Controller(hid_device* dev_handle, const char* path) { - dev = dev_handle; + dev = dev_handle; + location = path; } LogitechG403Controller::~LogitechG403Controller() @@ -21,6 +22,11 @@ LogitechG403Controller::~LogitechG403Controller() hid_close(dev); } +std::string LogitechG403Controller::GetDeviceLocation() +{ + return(location); +} + void LogitechG403Controller::SendMouseMode ( unsigned char mode, diff --git a/Controllers/LogitechController/LogitechG403Controller.h b/Controllers/LogitechController/LogitechG403Controller.h index c0bb0ef0..fe9d896d 100644 --- a/Controllers/LogitechController/LogitechG403Controller.h +++ b/Controllers/LogitechController/LogitechG403Controller.h @@ -36,9 +36,11 @@ enum class LogitechG403Controller { public: - LogitechG403Controller(hid_device* dev_handle); + LogitechG403Controller(hid_device* dev_handle, const char* path); ~LogitechG403Controller(); + std::string GetDeviceLocation(); + void SendMouseMode ( unsigned char mode, @@ -51,4 +53,5 @@ public: private: hid_device* dev; + std::string location; }; diff --git a/Controllers/LogitechController/LogitechG502PSController.cpp b/Controllers/LogitechController/LogitechG502PSController.cpp index 053a342b..2283ca2b 100644 --- a/Controllers/LogitechController/LogitechG502PSController.cpp +++ b/Controllers/LogitechController/LogitechG502PSController.cpp @@ -11,9 +11,10 @@ #include -LogitechG502PSController::LogitechG502PSController(hid_device* dev_handle) +LogitechG502PSController::LogitechG502PSController(hid_device* dev_handle, const char* path) { - dev = dev_handle; + dev = dev_handle; + location = path; } LogitechG502PSController::~LogitechG502PSController() @@ -21,6 +22,11 @@ LogitechG502PSController::~LogitechG502PSController() hid_close(dev); } +std::string LogitechG502PSController::GetDeviceLocation() +{ + return(location); +} + void LogitechG502PSController::SendMouseMode ( unsigned char mode, diff --git a/Controllers/LogitechController/LogitechG502PSController.h b/Controllers/LogitechController/LogitechG502PSController.h index ec187034..c67acdef 100644 --- a/Controllers/LogitechController/LogitechG502PSController.h +++ b/Controllers/LogitechController/LogitechG502PSController.h @@ -37,9 +37,11 @@ enum class LogitechG502PSController { public: - LogitechG502PSController(hid_device* dev_handle); + LogitechG502PSController(hid_device* dev_handle, const char* path); ~LogitechG502PSController(); + std::string GetDeviceLocation(); + void SendMouseMode ( unsigned char mode, @@ -52,4 +54,5 @@ public: private: hid_device* dev; + std::string location; }; diff --git a/Controllers/LogitechController/LogitechGPowerPlayController.cpp b/Controllers/LogitechController/LogitechGPowerPlayController.cpp index 5f977188..a6c756a2 100644 --- a/Controllers/LogitechController/LogitechGPowerPlayController.cpp +++ b/Controllers/LogitechController/LogitechGPowerPlayController.cpp @@ -11,9 +11,10 @@ #include -LogitechGPowerPlayController::LogitechGPowerPlayController(hid_device* dev_handle) +LogitechGPowerPlayController::LogitechGPowerPlayController(hid_device* dev_handle, const char* path) { - dev = dev_handle; + dev = dev_handle; + location = path; } LogitechGPowerPlayController::~LogitechGPowerPlayController() @@ -21,6 +22,11 @@ LogitechGPowerPlayController::~LogitechGPowerPlayController() hid_close(dev); } +std::string LogitechGPowerPlayController::GetDeviceLocation() +{ + return(location); +} + void LogitechGPowerPlayController::SendMouseMatMode ( unsigned char mode, diff --git a/Controllers/LogitechController/LogitechGPowerPlayController.h b/Controllers/LogitechController/LogitechGPowerPlayController.h index 8cf2f261..253887d8 100644 --- a/Controllers/LogitechController/LogitechGPowerPlayController.h +++ b/Controllers/LogitechController/LogitechGPowerPlayController.h @@ -36,9 +36,11 @@ enum class LogitechGPowerPlayController { public: - LogitechGPowerPlayController(hid_device* dev_handle); + LogitechGPowerPlayController(hid_device* dev_handle, const char* path); ~LogitechGPowerPlayController(); + std::string GetDeviceLocation(); + void SendMouseMatMode ( unsigned char mode, @@ -52,4 +54,5 @@ public: private: hid_device* dev; + std::string location; }; diff --git a/Controllers/LogitechController/LogitechGProWirelessController.cpp b/Controllers/LogitechController/LogitechGProWirelessController.cpp index 683ae7fa..0ba8e6b5 100644 --- a/Controllers/LogitechController/LogitechGProWirelessController.cpp +++ b/Controllers/LogitechController/LogitechGProWirelessController.cpp @@ -11,9 +11,10 @@ #include -LogitechGProWirelessController::LogitechGProWirelessController(hid_device* dev_handle) +LogitechGProWirelessController::LogitechGProWirelessController(hid_device* dev_handle, const char* path) { - dev = dev_handle; + dev = dev_handle; + location = path; } LogitechGProWirelessController::~LogitechGProWirelessController() @@ -21,6 +22,11 @@ LogitechGProWirelessController::~LogitechGProWirelessController() hid_close(dev); } +std::string LogitechGProWirelessController::GetDeviceLocation() +{ + return(location); +} + void LogitechGProWirelessController::SendMouseMode ( unsigned char mode, diff --git a/Controllers/LogitechController/LogitechGProWirelessController.h b/Controllers/LogitechController/LogitechGProWirelessController.h index b6f7cc89..2e9b41df 100644 --- a/Controllers/LogitechController/LogitechGProWirelessController.h +++ b/Controllers/LogitechController/LogitechGProWirelessController.h @@ -36,9 +36,11 @@ enum class LogitechGProWirelessController { public: - LogitechGProWirelessController(hid_device* dev_handle); + LogitechGProWirelessController(hid_device* dev_handle, const char* path); ~LogitechGProWirelessController(); + std::string GetDeviceLocation(); + void SendMouseMode ( unsigned char mode, @@ -52,4 +54,5 @@ public: private: hid_device* dev; + std::string location; }; diff --git a/Controllers/LogitechController/RGBController_LogitechG203.cpp b/Controllers/LogitechController/RGBController_LogitechG203.cpp index 974719ba..3ae40d1f 100644 --- a/Controllers/LogitechController/RGBController_LogitechG203.cpp +++ b/Controllers/LogitechController/RGBController_LogitechG203.cpp @@ -16,6 +16,7 @@ RGBController_LogitechG203::RGBController_LogitechG203(LogitechG203Controller* l name = "Logitech Mouse Device"; type = DEVICE_TYPE_MOUSE; description = "Logitech Mouse Device"; + location = logitech->GetDeviceLocation(); mode Static; Static.name = "Static"; diff --git a/Controllers/LogitechController/RGBController_LogitechG203L.cpp b/Controllers/LogitechController/RGBController_LogitechG203L.cpp index 7ebab8e5..610c1460 100644 --- a/Controllers/LogitechController/RGBController_LogitechG203L.cpp +++ b/Controllers/LogitechController/RGBController_LogitechG203L.cpp @@ -7,6 +7,7 @@ RGBController_LogitechG203L::RGBController_LogitechG203L(LogitechG203LController name = "Logitech Mouse Device"; type = DEVICE_TYPE_MOUSE; description = "Logitech Mouse Device"; + location = logitech->GetDeviceLocation(); mode Direct; Direct.name = "Direct"; diff --git a/Controllers/LogitechController/RGBController_LogitechG403.cpp b/Controllers/LogitechController/RGBController_LogitechG403.cpp index 9d0fbf98..f750d955 100644 --- a/Controllers/LogitechController/RGBController_LogitechG403.cpp +++ b/Controllers/LogitechController/RGBController_LogitechG403.cpp @@ -16,6 +16,7 @@ RGBController_LogitechG403::RGBController_LogitechG403(LogitechG403Controller* l name = "Logitech Mouse Device"; type = DEVICE_TYPE_MOUSE; description = "Logitech Mouse Device"; + location = logitech->GetDeviceLocation(); mode Static; Static.name = "Static"; diff --git a/Controllers/LogitechController/RGBController_LogitechG502PS.cpp b/Controllers/LogitechController/RGBController_LogitechG502PS.cpp index 60a7f56a..302ed7bc 100644 --- a/Controllers/LogitechController/RGBController_LogitechG502PS.cpp +++ b/Controllers/LogitechController/RGBController_LogitechG502PS.cpp @@ -16,6 +16,7 @@ RGBController_LogitechG502PS::RGBController_LogitechG502PS(LogitechG502PSControl name = "Logitech Mouse Device"; type = DEVICE_TYPE_MOUSE; description = "Logitech Mouse Device"; + location = logitech->GetDeviceLocation(); mode Static; Static.name = "Static"; diff --git a/Controllers/LogitechController/RGBController_LogitechGProWireless.cpp b/Controllers/LogitechController/RGBController_LogitechGProWireless.cpp index faf07241..bae7cf7f 100644 --- a/Controllers/LogitechController/RGBController_LogitechGProWireless.cpp +++ b/Controllers/LogitechController/RGBController_LogitechGProWireless.cpp @@ -16,6 +16,7 @@ RGBController_LogitechGProWireless::RGBController_LogitechGProWireless(LogitechG name = "Logitech G Pro Wireless Gaming Mouse"; type = DEVICE_TYPE_MOUSE; description = "Logitech G Pro Wireless Gaming Mouse"; + location = logitech->GetDeviceLocation(); mode Off; Off.name = "Off";