diff --git a/Controllers/SinowealthController/GenesisXenon200Controller/GenesisXenon200Controller.cpp b/Controllers/SinowealthController/GenesisXenon200Controller/GenesisXenon200Controller.cpp index 389ea6de..8f699f2c 100644 --- a/Controllers/SinowealthController/GenesisXenon200Controller/GenesisXenon200Controller.cpp +++ b/Controllers/SinowealthController/GenesisXenon200Controller/GenesisXenon200Controller.cpp @@ -11,11 +11,12 @@ #include "GenesisXenon200Controller.h" -GenesisXenon200Controller::GenesisXenon200Controller(hid_device* dev_handle, hid_device* cmd_dev_handle, const char* path) +GenesisXenon200Controller::GenesisXenon200Controller(hid_device* dev_handle, hid_device* cmd_dev_handle, const char* path, std::string dev_name) { - dev = dev_handle; - cmd_dev = cmd_dev_handle; - location = path; + dev = dev_handle; + cmd_dev = cmd_dev_handle; + location = path; + name = dev_name; } GenesisXenon200Controller::~GenesisXenon200Controller() @@ -28,6 +29,11 @@ std::string GenesisXenon200Controller::GetLocationString() return("HID: " + location); } +std::string GenesisXenon200Controller::GetNameString() +{ + return(name); +} + void GenesisXenon200Controller::SaveMode(unsigned char mode, unsigned char value, RGBColor color) { unsigned char usb_buf[154]; diff --git a/Controllers/SinowealthController/GenesisXenon200Controller/GenesisXenon200Controller.h b/Controllers/SinowealthController/GenesisXenon200Controller/GenesisXenon200Controller.h index 0511f220..d733fe89 100644 --- a/Controllers/SinowealthController/GenesisXenon200Controller/GenesisXenon200Controller.h +++ b/Controllers/SinowealthController/GenesisXenon200Controller/GenesisXenon200Controller.h @@ -17,13 +17,17 @@ class GenesisXenon200Controller { public: - GenesisXenon200Controller(hid_device* dev_handle, hid_device* cmd_dev_handle, const char* path); + GenesisXenon200Controller(hid_device* dev_handle, hid_device* cmd_dev_handle, const char* path, std::string dev_name); ~GenesisXenon200Controller(); - void SaveMode(unsigned char mode, unsigned char value, RGBColor color); std::string GetLocationString(); + std::string GetNameString(); + + void SaveMode(unsigned char mode, unsigned char value, RGBColor color); + private: hid_device* dev; hid_device* cmd_dev; std::string location; + std::string name; }; diff --git a/Controllers/SinowealthController/GenesisXenon200Controller/RGBController_GenesisXenon200.cpp b/Controllers/SinowealthController/GenesisXenon200Controller/RGBController_GenesisXenon200.cpp index ccdb8d69..ffaed0c9 100644 --- a/Controllers/SinowealthController/GenesisXenon200Controller/RGBController_GenesisXenon200.cpp +++ b/Controllers/SinowealthController/GenesisXenon200Controller/RGBController_GenesisXenon200.cpp @@ -23,55 +23,55 @@ RGBController_GenesisXenon200::RGBController_GenesisXenon200(GenesisXenon200Controller* controller_ptr) { - controller = controller_ptr; + controller = controller_ptr; - name = "Genesis Xenon 200"; - vendor = "Genesis"; - description = "Genesis Xenon 200 Mouse"; - type = DEVICE_TYPE_MOUSE; - location = controller->GetLocationString(); + name = controller->GetNameString(); + vendor = "Genesis"; + description = "Genesis Xenon 200 Mouse Device"; + type = DEVICE_TYPE_MOUSE; + location = controller->GetLocationString(); mode Static; - Static.name = "Static"; - Static.value = GENESIS_XENON_200_MODE_STATIC; - Static.flags = MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_AUTOMATIC_SAVE; - Static.color_mode = MODE_COLORS_MODE_SPECIFIC; - Static.brightness = 1; - Static.brightness_min = 0; - Static.brightness_max = 2; - Static.colors_min = 1; - Static.colors_max = 1; + Static.name = "Static"; + Static.value = GENESIS_XENON_200_MODE_STATIC; + Static.flags = MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_AUTOMATIC_SAVE; + Static.color_mode = MODE_COLORS_MODE_SPECIFIC; + Static.brightness = 1; + Static.brightness_min = 0; + Static.brightness_max = 2; + Static.colors_min = 1; + Static.colors_max = 1; Static.colors.resize(1); modes.push_back(Static); mode Breathing; - Breathing.name = "Breathing"; - Breathing.value = GENESIS_XENON_200_MODE_BREATHING; - Breathing.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_AUTOMATIC_SAVE; - Breathing.color_mode = MODE_COLORS_MODE_SPECIFIC; - Breathing.speed = 1; - Breathing.speed_min = 0; - Breathing.speed_max = 2; - Breathing.colors_min = 1; - Breathing.colors_max = 1; + Breathing.name = "Breathing"; + Breathing.value = GENESIS_XENON_200_MODE_BREATHING; + Breathing.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_AUTOMATIC_SAVE; + Breathing.color_mode = MODE_COLORS_MODE_SPECIFIC; + Breathing.speed = 1; + Breathing.speed_min = 0; + Breathing.speed_max = 2; + Breathing.colors_min = 1; + Breathing.colors_max = 1; Breathing.colors.resize(1); modes.push_back(Breathing); mode SpectrumCycle; - SpectrumCycle.name = "Spectrum Cycle"; - SpectrumCycle.value = GENESIS_XENON_200_MODE_SPECTRUM_CYCLE; - SpectrumCycle.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_AUTOMATIC_SAVE; - SpectrumCycle.color_mode = MODE_COLORS_NONE; - SpectrumCycle.speed = 1; - SpectrumCycle.speed_min = 0; - SpectrumCycle.speed_max = 2; + SpectrumCycle.name = "Spectrum Cycle"; + SpectrumCycle.value = GENESIS_XENON_200_MODE_SPECTRUM_CYCLE; + SpectrumCycle.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_AUTOMATIC_SAVE; + SpectrumCycle.color_mode = MODE_COLORS_NONE; + SpectrumCycle.speed = 1; + SpectrumCycle.speed_min = 0; + SpectrumCycle.speed_max = 2; modes.push_back(SpectrumCycle); mode Off; - Off.name = "Off"; - Off.value = GENESIS_XENON_200_MODE_OFF; - Off.flags = MODE_FLAG_AUTOMATIC_SAVE; - Off.color_mode = MODE_COLORS_NONE; + Off.name = "Off"; + Off.value = GENESIS_XENON_200_MODE_OFF; + Off.flags = MODE_FLAG_AUTOMATIC_SAVE; + Off.color_mode = MODE_COLORS_NONE; modes.push_back(Off); SetupColors(); diff --git a/Controllers/SinowealthController/Sinowealth1007Controller/RGBController_Sinowealth1007.cpp b/Controllers/SinowealthController/Sinowealth1007Controller/RGBController_Sinowealth1007.cpp index bceecb41..23d5cdb1 100644 --- a/Controllers/SinowealthController/Sinowealth1007Controller/RGBController_Sinowealth1007.cpp +++ b/Controllers/SinowealthController/Sinowealth1007Controller/RGBController_Sinowealth1007.cpp @@ -35,14 +35,14 @@ static const char *led_names[] = RGBController_Sinowealth1007::RGBController_Sinowealth1007(SinowealthController1007* controller_ptr) { - controller = controller_ptr; + controller = controller_ptr; - name = "ZET Fury Pro Mouse Device"; - vendor = "ZET"; - type = DEVICE_TYPE_MOUSE; - description = "ZET Fury Pro Mouse Device"; - location = controller->GetLocation(); - serial = controller->GetSerialString(); + name = controller->GetName(); + vendor = "ZET"; + type = DEVICE_TYPE_MOUSE; + description = "ZET Fury Pro Mouse Device"; + location = controller->GetLocation(); + serial = controller->GetSerialString(); mode Custom; Custom.name = "Custom"; diff --git a/Controllers/SinowealthController/Sinowealth1007Controller/SinowealthController1007.cpp b/Controllers/SinowealthController/Sinowealth1007Controller/SinowealthController1007.cpp index ae71cdb8..3e0cac55 100644 --- a/Controllers/SinowealthController/Sinowealth1007Controller/SinowealthController1007.cpp +++ b/Controllers/SinowealthController/Sinowealth1007Controller/SinowealthController1007.cpp @@ -14,16 +14,16 @@ #include "SinowealthController1007.h" #include "StringUtils.h" -SinowealthController1007::SinowealthController1007(hid_device* dev, char *_path) +SinowealthController1007::SinowealthController1007(hid_device* dev, char *_path, std::string dev_name) { - this->dev = dev; - - this->led_count = 7; + this->dev = dev; + this->location = _path; + this->name = dev_name; + this->led_count = 7; this->current_mode = ZET_FURY_PRO_MODE_CUSTOM + ZET_FURY_PRO_SPEED_DEF; this->current_direction = ZET_FURY_PRO_DIR_RIGHT; - this->location = _path; memset(device_colors, 0x00, sizeof(device_colors)); } @@ -37,6 +37,11 @@ std::string SinowealthController1007::GetLocation() return("HID: " + location); } +std::string SinowealthController1007::GetName() +{ + return(name); +} + unsigned int SinowealthController1007::GetLEDCount() { return(led_count); diff --git a/Controllers/SinowealthController/Sinowealth1007Controller/SinowealthController1007.h b/Controllers/SinowealthController/Sinowealth1007Controller/SinowealthController1007.h index d743685c..ce15ec91 100644 --- a/Controllers/SinowealthController/Sinowealth1007Controller/SinowealthController1007.h +++ b/Controllers/SinowealthController/Sinowealth1007Controller/SinowealthController1007.h @@ -57,11 +57,12 @@ enum class SinowealthController1007 { public: - SinowealthController1007(hid_device* dev, char *_path); + SinowealthController1007(hid_device* dev, char *_path, std::string dev_name); ~SinowealthController1007(); unsigned int GetLEDCount(); std::string GetLocation(); + std::string GetName(); std::string GetSerialString(); void SetLEDColors(const std::vector& colors); @@ -69,14 +70,15 @@ public: int GetProfile(); void SendPacket(); private: - hid_device* dev; + hid_device* dev; - unsigned int led_count; + unsigned int led_count; - unsigned char current_mode; - unsigned char current_direction; - unsigned char device_configuration[ZET_FURY_PRO_STATE_BUFFER_LENGTH]; - unsigned char device_colors[ZET_FURY_PRO_COLOR_BUFFER_LENGTH]; + unsigned char current_mode; + unsigned char current_direction; + unsigned char device_configuration[ZET_FURY_PRO_STATE_BUFFER_LENGTH]; + unsigned char device_colors[ZET_FURY_PRO_COLOR_BUFFER_LENGTH]; - std::string location; + std::string location; + std::string name; }; diff --git a/Controllers/SinowealthController/SinowealthController/RGBController_Sinowealth.cpp b/Controllers/SinowealthController/SinowealthController/RGBController_Sinowealth.cpp index 2d71fe8b..52e11295 100644 --- a/Controllers/SinowealthController/SinowealthController/RGBController_Sinowealth.cpp +++ b/Controllers/SinowealthController/SinowealthController/RGBController_Sinowealth.cpp @@ -24,113 +24,113 @@ RGBController_Sinowealth::RGBController_Sinowealth(SinowealthController* controller_ptr) { - controller = controller_ptr; + controller = controller_ptr; - name = "Sinowealth Device"; - type = DEVICE_TYPE_MOUSE; - description = "Sinowealth Device"; - location = controller->GetLocation(); - serial = controller->GetSerialString(); - version = controller->GetFirmwareVersion(); + name = controller->GetName(); + type = DEVICE_TYPE_MOUSE; + description = "Sinowealth Device"; + location = controller->GetLocation(); + serial = controller->GetSerialString(); + version = controller->GetFirmwareVersion(); mode Static; - Static.name = "Static"; - Static.flags = MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_AUTOMATIC_SAVE; - Static.color_mode = MODE_COLORS_PER_LED; - Static.value = GLORIOUS_MODE_STATIC; + Static.name = "Static"; + Static.flags = MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_AUTOMATIC_SAVE; + Static.color_mode = MODE_COLORS_PER_LED; + Static.value = GLORIOUS_MODE_STATIC; modes.push_back(Static); mode Off; - Off.name = "Off"; - Off.flags = MODE_FLAG_AUTOMATIC_SAVE; - Off.color_mode = MODE_COLORS_NONE; - Off.value = GLORIOUS_MODE_OFF; + Off.name = "Off"; + Off.flags = MODE_FLAG_AUTOMATIC_SAVE; + Off.color_mode = MODE_COLORS_NONE; + Off.value = GLORIOUS_MODE_OFF; modes.push_back(Off); mode Rainbow; - Rainbow.name = "Glorious Mode"; - Rainbow.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_DIRECTION_UD | MODE_FLAG_AUTOMATIC_SAVE; - Rainbow.speed_min = GLORIOUS_SPEED_SLOW; - Rainbow.speed = GLORIOUS_SPEED_NORMAL; - Rainbow.speed_max = GLORIOUS_SPEED_FAST; - Rainbow.direction = MODE_DIRECTION_UP; - Rainbow.color_mode = MODE_COLORS_NONE; - Rainbow.value = GLORIOUS_MODE_RAINBOW; + Rainbow.name = "Glorious Mode"; + Rainbow.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_DIRECTION_UD | MODE_FLAG_AUTOMATIC_SAVE; + Rainbow.speed_min = GLORIOUS_SPEED_SLOW; + Rainbow.speed = GLORIOUS_SPEED_NORMAL; + Rainbow.speed_max = GLORIOUS_SPEED_FAST; + Rainbow.direction = MODE_DIRECTION_UP; + Rainbow.color_mode = MODE_COLORS_NONE; + Rainbow.value = GLORIOUS_MODE_RAINBOW; modes.push_back(Rainbow); mode SpectrumBreathing; - SpectrumBreathing.name = "Seemless Breathing"; - SpectrumBreathing.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_AUTOMATIC_SAVE; - SpectrumBreathing.speed_min = GLORIOUS_SPEED_SLOW; - SpectrumBreathing.speed = GLORIOUS_SPEED_NORMAL; - SpectrumBreathing.speed_max = GLORIOUS_SPEED_FAST; - SpectrumBreathing.colors_min = 7; - SpectrumBreathing.colors_max = 7; - SpectrumBreathing.color_mode = MODE_COLORS_MODE_SPECIFIC; - SpectrumBreathing.value = GLORIOUS_MODE_SPECTRUM_BREATING; + SpectrumBreathing.name = "Seemless Breathing"; + SpectrumBreathing.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_AUTOMATIC_SAVE; + SpectrumBreathing.speed_min = GLORIOUS_SPEED_SLOW; + SpectrumBreathing.speed = GLORIOUS_SPEED_NORMAL; + SpectrumBreathing.speed_max = GLORIOUS_SPEED_FAST; + SpectrumBreathing.colors_min = 7; + SpectrumBreathing.colors_max = 7; + SpectrumBreathing.color_mode = MODE_COLORS_MODE_SPECIFIC; + SpectrumBreathing.value = GLORIOUS_MODE_SPECTRUM_BREATING; SpectrumBreathing.colors.resize(7); modes.push_back(SpectrumBreathing); mode Chase; - Chase.name = "Tail"; - Chase.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_AUTOMATIC_SAVE; - Chase.speed_min = GLORIOUS_SPEED_SLOW; - Chase.speed = GLORIOUS_SPEED_NORMAL; - Chase.speed_max = GLORIOUS_SPEED_FAST; - Chase.color_mode = MODE_COLORS_NONE; - Chase.value = GLORIOUS_MODE_TAIL; + Chase.name = "Tail"; + Chase.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_AUTOMATIC_SAVE; + Chase.speed_min = GLORIOUS_SPEED_SLOW; + Chase.speed = GLORIOUS_SPEED_NORMAL; + Chase.speed_max = GLORIOUS_SPEED_FAST; + Chase.color_mode = MODE_COLORS_NONE; + Chase.value = GLORIOUS_MODE_TAIL; modes.push_back(Chase); mode SpectrumCycle; - SpectrumCycle.name = "Spectrum Cycle"; - SpectrumCycle.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_AUTOMATIC_SAVE; - SpectrumCycle.speed_min = GLORIOUS_SPEED_SLOW; - SpectrumCycle.speed = GLORIOUS_SPEED_NORMAL; - SpectrumCycle.speed_max = GLORIOUS_SPEED_FAST; - SpectrumCycle.color_mode = MODE_COLORS_NONE; - SpectrumCycle.value = GLORIOUS_MODE_SPECTRUM_CYCLE; + SpectrumCycle.name = "Spectrum Cycle"; + SpectrumCycle.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_AUTOMATIC_SAVE; + SpectrumCycle.speed_min = GLORIOUS_SPEED_SLOW; + SpectrumCycle.speed = GLORIOUS_SPEED_NORMAL; + SpectrumCycle.speed_max = GLORIOUS_SPEED_FAST; + SpectrumCycle.color_mode = MODE_COLORS_NONE; + SpectrumCycle.value = GLORIOUS_MODE_SPECTRUM_CYCLE; modes.push_back(SpectrumCycle); mode Flashing; - Flashing.name = "Rave"; - Flashing.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_AUTOMATIC_SAVE; - Flashing.speed_min = GLORIOUS_SPEED_SLOW; - Flashing.speed = GLORIOUS_SPEED_NORMAL; - Flashing.speed_max = GLORIOUS_SPEED_FAST; - Flashing.colors_min = 2; - Flashing.colors_max = 2; - Flashing.color_mode = MODE_COLORS_MODE_SPECIFIC; - Flashing.value = GLORIOUS_MODE_RAVE; + Flashing.name = "Rave"; + Flashing.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_AUTOMATIC_SAVE; + Flashing.speed_min = GLORIOUS_SPEED_SLOW; + Flashing.speed = GLORIOUS_SPEED_NORMAL; + Flashing.speed_max = GLORIOUS_SPEED_FAST; + Flashing.colors_min = 2; + Flashing.colors_max = 2; + Flashing.color_mode = MODE_COLORS_MODE_SPECIFIC; + Flashing.value = GLORIOUS_MODE_RAVE; Flashing.colors.resize(2); modes.push_back(Flashing); mode Epilepsy; - Epilepsy.name = "Epilepsy"; - Epilepsy.flags = MODE_FLAG_AUTOMATIC_SAVE; - Epilepsy.color_mode = MODE_COLORS_NONE; - Epilepsy.value = GLORIOUS_MODE_EPILEPSY; + Epilepsy.name = "Epilepsy"; + Epilepsy.flags = MODE_FLAG_AUTOMATIC_SAVE; + Epilepsy.color_mode = MODE_COLORS_NONE; + Epilepsy.value = GLORIOUS_MODE_EPILEPSY; modes.push_back(Epilepsy); mode RainbowSlow; - RainbowSlow.name = "Wave"; - RainbowSlow.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_AUTOMATIC_SAVE; - RainbowSlow.speed_min = GLORIOUS_SPEED_SLOW; - RainbowSlow.speed = GLORIOUS_SPEED_NORMAL; - RainbowSlow.speed_max = GLORIOUS_SPEED_FAST; - RainbowSlow.color_mode = MODE_COLORS_NONE; - RainbowSlow.value = GLORIOUS_MODE_WAVE; + RainbowSlow.name = "Wave"; + RainbowSlow.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_AUTOMATIC_SAVE; + RainbowSlow.speed_min = GLORIOUS_SPEED_SLOW; + RainbowSlow.speed = GLORIOUS_SPEED_NORMAL; + RainbowSlow.speed_max = GLORIOUS_SPEED_FAST; + RainbowSlow.color_mode = MODE_COLORS_NONE; + RainbowSlow.value = GLORIOUS_MODE_WAVE; modes.push_back(RainbowSlow); mode Breathing; - Breathing.name = "Breathing"; - Breathing.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_AUTOMATIC_SAVE; - Breathing.speed_min = GLORIOUS_MODE_BREATING_SLOW; - Breathing.speed = GLORIOUS_MODE_BREATING_NORMAL; - Breathing.speed_max = GLORIOUS_MODE_BREATING_FAST; - Breathing.colors_min = 1; - Breathing.colors_max = 1; - Breathing.color_mode = MODE_COLORS_MODE_SPECIFIC; - Breathing.value = GLORIOUS_MODE_BREATHING; + Breathing.name = "Breathing"; + Breathing.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_AUTOMATIC_SAVE; + Breathing.speed_min = GLORIOUS_MODE_BREATING_SLOW; + Breathing.speed = GLORIOUS_MODE_BREATING_NORMAL; + Breathing.speed_max = GLORIOUS_MODE_BREATING_FAST; + Breathing.colors_min = 1; + Breathing.colors_max = 1; + Breathing.color_mode = MODE_COLORS_MODE_SPECIFIC; + Breathing.value = GLORIOUS_MODE_BREATHING; Breathing.colors.resize(1); modes.push_back(Breathing); diff --git a/Controllers/SinowealthController/SinowealthController/RGBController_Sinowealth.h b/Controllers/SinowealthController/SinowealthController/RGBController_Sinowealth.h index fc628ed3..091d2737 100644 --- a/Controllers/SinowealthController/SinowealthController/RGBController_Sinowealth.h +++ b/Controllers/SinowealthController/SinowealthController/RGBController_Sinowealth.h @@ -29,7 +29,6 @@ public: void DeviceUpdateMode(); - private: SinowealthController* controller; }; diff --git a/Controllers/SinowealthController/SinowealthController/SinowealthController.cpp b/Controllers/SinowealthController/SinowealthController/SinowealthController.cpp index 8f8e996d..f4ede7ff 100644 --- a/Controllers/SinowealthController/SinowealthController/SinowealthController.cpp +++ b/Controllers/SinowealthController/SinowealthController/SinowealthController.cpp @@ -14,22 +14,24 @@ #include "SinowealthController.h" #include "StringUtils.h" -SinowealthController::SinowealthController(hid_device* dev_data_handle, hid_device* dev_cmd_handle, char *_path) +SinowealthController::SinowealthController(hid_device* dev_data_handle, hid_device* dev_cmd_handle, char *_path, std::string dev_name) { - dev_data = dev_data_handle; - dev_cmd = dev_cmd_handle; - location = _path; + dev_data = dev_data_handle; + dev_cmd = dev_cmd_handle; + location = _path; + name = dev_name; - led_count = 1; + led_count = 1; - current_mode = GLORIOUS_MODE_STATIC; - current_speed = GLORIOUS_SPEED_NORMAL; - current_direction = GLORIOUS_DIRECTION_UP; + current_mode = GLORIOUS_MODE_STATIC; + current_speed = GLORIOUS_SPEED_NORMAL; + current_direction = GLORIOUS_DIRECTION_UP; } SinowealthController::~SinowealthController() { hid_close(dev_data); + /*---------------------------------------------------------------------*\ | If the dev_cmd handle was passed in as the same device as dev_data | | then attempting to close it a second time will segfault | @@ -45,6 +47,11 @@ std::string SinowealthController::GetLocation() return("HID: " + location); } +std::string SinowealthController::GetName() +{ + return(name); +} + unsigned int SinowealthController::GetLEDCount() { return(led_count); diff --git a/Controllers/SinowealthController/SinowealthController/SinowealthController.h b/Controllers/SinowealthController/SinowealthController/SinowealthController.h index 55bca838..8630da7e 100644 --- a/Controllers/SinowealthController/SinowealthController/SinowealthController.h +++ b/Controllers/SinowealthController/SinowealthController/SinowealthController.h @@ -57,11 +57,12 @@ enum class SinowealthController { public: - SinowealthController(hid_device* dev_data_handle, hid_device* dev_cmd_handle, char *_path); //RGB, Command, path + SinowealthController(hid_device* dev_data_handle, hid_device* dev_cmd_handle, char *_path, std::string dev_name); //RGB, Command, path ~SinowealthController(); unsigned int GetLEDCount(); std::string GetLocation(); + std::string GetName(); std::string GetSerialString(); std::string GetFirmwareVersion(); @@ -69,15 +70,13 @@ public: void SetMode(unsigned char mode, unsigned char speed, unsigned char direction, RGBColor* color_buf); int GetProfile(); private: - hid_device* dev_cmd; - hid_device* dev_data; - - unsigned int led_count; - - unsigned char current_mode; - unsigned char current_speed; - unsigned char current_direction; - unsigned char device_configuration[SINOWEALTH_CONFIG_REPORT_SIZE]; - - std::string location; + hid_device* dev_cmd; + hid_device* dev_data; + unsigned int led_count; + unsigned char current_mode; + unsigned char current_speed; + unsigned char current_direction; + unsigned char device_configuration[SINOWEALTH_CONFIG_REPORT_SIZE]; + std::string location; + std::string name; }; diff --git a/Controllers/SinowealthController/SinowealthControllerDetect.cpp b/Controllers/SinowealthController/SinowealthControllerDetect.cpp index bc6a6143..ff555b24 100644 --- a/Controllers/SinowealthController/SinowealthControllerDetect.cpp +++ b/Controllers/SinowealthController/SinowealthControllerDetect.cpp @@ -240,7 +240,7 @@ static void DetectGenesisXenon200(hid_device_info* info, const std::string name) hid_device* dev = reports.at(0).device; hid_device* cmd_dev = reports.at(1).device; - GenesisXenon200Controller* controller = new GenesisXenon200Controller(dev, cmd_dev, info->path); + GenesisXenon200Controller* controller = new GenesisXenon200Controller(dev, cmd_dev, info->path, name); RGBController* rgb_controller = new RGBController_GenesisXenon200(controller); ResourceManager::get()->RegisterRGBController(rgb_controller); @@ -259,11 +259,11 @@ static void DetectZetFuryPro(hid_device_info* info, const std::string& name) #else hid_device* dev = hid_open_path(info->path); #endif + if(dev) { - SinowealthController1007* controller = new SinowealthController1007(dev, info->path); - RGBController *rgb_controller = new RGBController_Sinowealth1007(controller); - rgb_controller->name = name; + SinowealthController1007* controller = new SinowealthController1007(dev, info->path, name); + RGBController_Sinowealth1007* rgb_controller = new RGBController_Sinowealth1007(controller); ResourceManager::get()->RegisterRGBController(rgb_controller); } @@ -279,18 +279,18 @@ static void DetectSinowealthMouse(hid_device_info* info, const std::string& name { return; } - hid_device *dev = reports.at(0).device; - hid_device *dev_cmd = reports.at(0).cmd_device; + hid_device *dev = reports.at(0).device; + hid_device *dev_cmd = reports.at(0).cmd_device; #else - hid_device* dev = hid_open_path(info->path); + hid_device* dev = hid_open_path(info->path); hid_device* dev_cmd = dev; #endif + if(dev && dev_cmd) { - SinowealthController* controller = new SinowealthController(dev, dev_cmd, info->path); - RGBController* rgb_controller = new RGBController_Sinowealth(controller); - rgb_controller->name = name; + SinowealthController* controller = new SinowealthController(dev, dev_cmd, info->path, name); + RGBController_Sinowealth* rgb_controller = new RGBController_Sinowealth(controller); ResourceManager::get()->RegisterRGBController(rgb_controller); } @@ -300,11 +300,11 @@ static void DetectGMOW_Cable(hid_device_info* info, const std::string& name) { LOG_DEBUG("[%s] Detected connection via USB cable", name.c_str()); hid_device *dev = hid_open_path(info->path); + if(dev) { - SinowealthGMOWController* controller = new SinowealthGMOWController(dev, info->path, GMOW_CABLE_CONNECTED); - RGBController* rgb_controller = new RGBController_GMOW(controller); - rgb_controller->name = name; + SinowealthGMOWController* controller = new SinowealthGMOWController(dev, info->path, GMOW_CABLE_CONNECTED, name); + RGBController_GMOW* rgb_controller = new RGBController_GMOW(controller); ResourceManager::get()->RegisterRGBController(rgb_controller); } @@ -334,11 +334,11 @@ static void DetectGMOW_Dongle(hid_device_info* info, const std::string& name) hid_free_enumeration(start); hid_device *dev = hid_open_path(info->path); + if(dev) { - SinowealthGMOWController* controller = new SinowealthGMOWController(dev, info->path, GMOW_DONGLE_CONNECTED); - RGBController *rgb_controller = new RGBController_GMOW(controller); - rgb_controller->name = name; + SinowealthGMOWController* controller = new SinowealthGMOWController(dev, info->path, GMOW_DONGLE_CONNECTED, name); + RGBController_GMOW* rgb_controller = new RGBController_GMOW(controller); ResourceManager::get()->RegisterRGBController(rgb_controller); } @@ -361,9 +361,8 @@ static void DetectGMOW_Dongle(hid_device_info* info, const std::string& name) // #endif // if(dev && dev_cmd) // { -// SinowealthKeyboard16Controller* controller = new SinowealthKeyboard16Controller(dev_cmd, dev, info->path, name); -// RGBController *rgb_controller = new RGBController_SinowealthKeyboard16(controller); -// rgb_controller->name = name; +// SinowealthKeyboard16Controller* controller = new SinowealthKeyboard16Controller(dev_cmd, dev, info->path, name); +// RGBController_SinowealthKeyboard16* rgb_controller = new RGBController_SinowealthKeyboard16(controller); // // ResourceManager::get()->RegisterRGBController(rgb_controller); // } @@ -378,24 +377,25 @@ static void DetectGMOW_Dongle(hid_device_info* info, const std::string& name) // { // return; // } -// hid_device *dev = reports.at(0).device; -// hid_device *dev_cmd = reports.at(0).cmd_device; +// +// hid_device *dev = reports.at(0).device; +// hid_device *dev_cmd = reports.at(0).cmd_device; +// // if(dev && dev_cmd) // { -// SinowealthKeyboardController* controller = new SinowealthKeyboardController(dev_cmd, dev, info->path); -// RGBController* rgb_controller = new RGBController_SinowealthKeyboard(controller); -// rgb_controller->name = name; +// SinowealthKeyboardController* controller = new SinowealthKeyboardController(dev_cmd, dev, info->path, name); +// RGBController_SinowealthKeyboard* rgb_controller = new RGBController_SinowealthKeyboard(controller); // // ResourceManager::get()->RegisterRGBController(rgb_controller); // } // #else // // It is unknown why this code used the MOUSE controller here; could it be the reason why it was disabled? // hid_device* dev = hid_open_path(info->path); +// // if(dev) // { -// SinowealthController* controller = new SinowealthController(dev, dev, info->path); -// RGBController* rgb_controller = new RGBController_Sinowealth(controller); -// rgb_controller->name = name; +// SinowealthController* controller = new SinowealthController(dev, dev, info->path, name); +// RGBController_Sinowealth* rgb_controller = new RGBController_Sinowealth(controller); // // ResourceManager::get()->RegisterRGBController(rgb_controller); // } @@ -406,11 +406,11 @@ static void DetectSinowealthGenesisKeyboard(hid_device_info* info, const std::st { unsigned int pid = info->product_id; hid_device* dev = hid_open_path(info->path); + if(dev) { - SinowealthKeyboard90Controller* controller = new SinowealthKeyboard90Controller(dev, info->path, pid); + SinowealthKeyboard90Controller* controller = new SinowealthKeyboard90Controller(dev, info->path, pid, name); RGBController_SinowealthKeyboard90* rgb_controller = new RGBController_SinowealthKeyboard90(controller); - rgb_controller->name = name; ResourceManager::get()->RegisterRGBController(rgb_controller); } diff --git a/Controllers/SinowealthController/SinowealthGMOWController/RGBController_SinowealthGMOW.cpp b/Controllers/SinowealthController/SinowealthGMOWController/RGBController_SinowealthGMOW.cpp index bb466cdc..6eabffc3 100644 --- a/Controllers/SinowealthController/SinowealthGMOWController/RGBController_SinowealthGMOW.cpp +++ b/Controllers/SinowealthController/SinowealthGMOWController/RGBController_SinowealthGMOW.cpp @@ -23,134 +23,134 @@ RGBController_GMOW::RGBController_GMOW(SinowealthGMOWController* controller_ptr) { - controller = controller_ptr; + controller = controller_ptr; - name = "Sinowealth Device"; - type = DEVICE_TYPE_MOUSE; - description = "Sinowealth Device"; - location = controller->GetLocation(); - serial = controller->GetSerialString(); - version = controller->GetFirmwareVersion(); + name = controller->GetName(); + type = DEVICE_TYPE_MOUSE; + description = "Sinowealth Device"; + location = controller->GetLocation(); + serial = controller->GetSerialString(); + version = controller->GetFirmwareVersion(); mode Off; - Off.name = "Off"; - Off.flags = MODE_FLAG_AUTOMATIC_SAVE; - Off.color_mode = MODE_COLORS_NONE; - Off.value = GMOW_MODE_OFF; + Off.name = "Off"; + Off.flags = MODE_FLAG_AUTOMATIC_SAVE; + Off.color_mode = MODE_COLORS_NONE; + Off.value = GMOW_MODE_OFF; modes.push_back(Off); mode RainbowWave; - RainbowWave.name = "Rainbow Wave"; - RainbowWave.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_AUTOMATIC_SAVE; - RainbowWave.speed_min = GMOW_SPEED1_MIN; - RainbowWave.speed = GMOW_SPEED1_MID; - RainbowWave.speed_max = GMOW_SPEED1_MAX; - RainbowWave.direction = MODE_DIRECTION_UP; - RainbowWave.color_mode = MODE_COLORS_NONE; - RainbowWave.brightness_min = GMOW_BRIGHTNESS_MIN; - RainbowWave.brightness = GMOW_BRIGHTNESS_MID; - RainbowWave.brightness_max = GMOW_BRIGHTNESS_MAX; - RainbowWave.value = GMOW_MODE_RAINBOW_WAVE; + RainbowWave.name = "Rainbow Wave"; + RainbowWave.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_AUTOMATIC_SAVE; + RainbowWave.speed_min = GMOW_SPEED1_MIN; + RainbowWave.speed = GMOW_SPEED1_MID; + RainbowWave.speed_max = GMOW_SPEED1_MAX; + RainbowWave.direction = MODE_DIRECTION_UP; + RainbowWave.color_mode = MODE_COLORS_NONE; + RainbowWave.brightness_min = GMOW_BRIGHTNESS_MIN; + RainbowWave.brightness = GMOW_BRIGHTNESS_MID; + RainbowWave.brightness_max = GMOW_BRIGHTNESS_MAX; + RainbowWave.value = GMOW_MODE_RAINBOW_WAVE; modes.push_back(RainbowWave); mode SpectrumCycle; - SpectrumCycle.name = "Spectrum Cycle"; - SpectrumCycle.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_AUTOMATIC_SAVE; - SpectrumCycle.speed_min = GMOW_SPEED1_MIN; - SpectrumCycle.speed = GMOW_SPEED1_MID; - SpectrumCycle.speed_max = GMOW_SPEED1_MAX; - SpectrumCycle.color_mode = MODE_COLORS_NONE; - SpectrumCycle.brightness_min = GMOW_BRIGHTNESS_MIN; - SpectrumCycle.brightness = GMOW_BRIGHTNESS_MID; - SpectrumCycle.brightness_max = GMOW_BRIGHTNESS_MAX; - SpectrumCycle.value = GMOW_MODE_SPECTRUM_CYCLE; + SpectrumCycle.name = "Spectrum Cycle"; + SpectrumCycle.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_AUTOMATIC_SAVE; + SpectrumCycle.speed_min = GMOW_SPEED1_MIN; + SpectrumCycle.speed = GMOW_SPEED1_MID; + SpectrumCycle.speed_max = GMOW_SPEED1_MAX; + SpectrumCycle.color_mode = MODE_COLORS_NONE; + SpectrumCycle.brightness_min = GMOW_BRIGHTNESS_MIN; + SpectrumCycle.brightness = GMOW_BRIGHTNESS_MID; + SpectrumCycle.brightness_max = GMOW_BRIGHTNESS_MAX; + SpectrumCycle.value = GMOW_MODE_SPECTRUM_CYCLE; modes.push_back(SpectrumCycle); mode CustomBreathing; - CustomBreathing.name = "Custom Breathing"; - CustomBreathing.flags = MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_HAS_SPEED | MODE_FLAG_AUTOMATIC_SAVE; - CustomBreathing.speed_min = GMOW_SPEED1_MIN; - CustomBreathing.speed = GMOW_SPEED1_MID; - CustomBreathing.speed_max = GMOW_SPEED1_MAX; - CustomBreathing.color_mode = MODE_COLORS_MODE_SPECIFIC; - CustomBreathing.colors_min = 2; - CustomBreathing.colors_max = 7; - CustomBreathing.brightness_min = GMOW_BRIGHTNESS_MIN; - CustomBreathing.brightness = GMOW_BRIGHTNESS_MID; - CustomBreathing.brightness_max = GMOW_BRIGHTNESS_MAX; - CustomBreathing.value = GMOW_MODE_CUSTOM_BREATHING; + CustomBreathing.name = "Custom Breathing"; + CustomBreathing.flags = MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_HAS_SPEED | MODE_FLAG_AUTOMATIC_SAVE; + CustomBreathing.speed_min = GMOW_SPEED1_MIN; + CustomBreathing.speed = GMOW_SPEED1_MID; + CustomBreathing.speed_max = GMOW_SPEED1_MAX; + CustomBreathing.color_mode = MODE_COLORS_MODE_SPECIFIC; + CustomBreathing.colors_min = 2; + CustomBreathing.colors_max = 7; + CustomBreathing.brightness_min = GMOW_BRIGHTNESS_MIN; + CustomBreathing.brightness = GMOW_BRIGHTNESS_MID; + CustomBreathing.brightness_max = GMOW_BRIGHTNESS_MAX; + CustomBreathing.value = GMOW_MODE_CUSTOM_BREATHING; CustomBreathing.colors.resize(7); modes.push_back(CustomBreathing); mode Static; - Static.name = "Static"; - Static.flags = MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_AUTOMATIC_SAVE; - Static.color_mode = MODE_COLORS_MODE_SPECIFIC; - Static.colors_min = 1; - Static.colors_max = 1; - Static.brightness_min = GMOW_BRIGHTNESS_MIN; - Static.brightness = GMOW_BRIGHTNESS_MID; - Static.brightness_max = GMOW_BRIGHTNESS_MAX; - Static.value = GMOW_MODE_STATIC; + Static.name = "Static"; + Static.flags = MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_AUTOMATIC_SAVE; + Static.color_mode = MODE_COLORS_MODE_SPECIFIC; + Static.colors_min = 1; + Static.colors_max = 1; + Static.brightness_min = GMOW_BRIGHTNESS_MIN; + Static.brightness = GMOW_BRIGHTNESS_MID; + Static.brightness_max = GMOW_BRIGHTNESS_MAX; + Static.value = GMOW_MODE_STATIC; Static.colors.resize(1); modes.push_back(Static); mode Breathing; - Breathing.name = "Breathing"; - Breathing.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_AUTOMATIC_SAVE; - Breathing.speed_min = GMOW_SPEED1_MIN; - Breathing.speed = GMOW_SPEED1_MID; - Breathing.speed_max = GMOW_SPEED1_MAX; - Breathing.color_mode = MODE_COLORS_MODE_SPECIFIC; - Breathing.colors_min = 1; - Breathing.colors_max = 1; - Breathing.brightness_min = GMOW_BRIGHTNESS_MIN; - Breathing.brightness = GMOW_BRIGHTNESS_MID; - Breathing.brightness_max = GMOW_BRIGHTNESS_MAX; - Breathing.value = GMOW_MODE_BREATHING; + Breathing.name = "Breathing"; + Breathing.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_AUTOMATIC_SAVE; + Breathing.speed_min = GMOW_SPEED1_MIN; + Breathing.speed = GMOW_SPEED1_MID; + Breathing.speed_max = GMOW_SPEED1_MAX; + Breathing.color_mode = MODE_COLORS_MODE_SPECIFIC; + Breathing.colors_min = 1; + Breathing.colors_max = 1; + Breathing.brightness_min = GMOW_BRIGHTNESS_MIN; + Breathing.brightness = GMOW_BRIGHTNESS_MID; + Breathing.brightness_max = GMOW_BRIGHTNESS_MAX; + Breathing.value = GMOW_MODE_BREATHING; Breathing.colors.resize(1); modes.push_back(Breathing); mode Tail; - Tail.name = "Tail"; - Tail.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_AUTOMATIC_SAVE; - Tail.speed_min = GMOW_SPEED1_MIN; - Tail.speed = GMOW_SPEED1_MID; - Tail.speed_max = GMOW_SPEED1_MAX; - Tail.color_mode = MODE_COLORS_NONE; - Tail.brightness_min = GMOW_BRIGHTNESS_MIN; - Tail.brightness = GMOW_BRIGHTNESS_MID; - Tail.brightness_max = GMOW_BRIGHTNESS_MAX; - Tail.value = GMOW_MODE_TAIL; + Tail.name = "Tail"; + Tail.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_AUTOMATIC_SAVE; + Tail.speed_min = GMOW_SPEED1_MIN; + Tail.speed = GMOW_SPEED1_MID; + Tail.speed_max = GMOW_SPEED1_MAX; + Tail.color_mode = MODE_COLORS_NONE; + Tail.brightness_min = GMOW_BRIGHTNESS_MIN; + Tail.brightness = GMOW_BRIGHTNESS_MID; + Tail.brightness_max = GMOW_BRIGHTNESS_MAX; + Tail.value = GMOW_MODE_TAIL; modes.push_back(Tail); mode Rave; - Rave.name = "Rave"; - Rave.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_AUTOMATIC_SAVE; - Rave.speed_min = GMOW_SPEED2_MIN; - Rave.speed = GMOW_SPEED2_MID; - Rave.speed_max = GMOW_SPEED2_MAX; - Rave.color_mode = MODE_COLORS_MODE_SPECIFIC; - Rave.colors_min = 1; - Rave.colors_max = 2; - Rave.brightness_min = GMOW_BRIGHTNESS_MIN; - Rave.brightness = GMOW_BRIGHTNESS_MID; - Rave.brightness_max = GMOW_BRIGHTNESS_MAX; - Rave.value = GMOW_MODE_RAVE; + Rave.name = "Rave"; + Rave.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_AUTOMATIC_SAVE; + Rave.speed_min = GMOW_SPEED2_MIN; + Rave.speed = GMOW_SPEED2_MID; + Rave.speed_max = GMOW_SPEED2_MAX; + Rave.color_mode = MODE_COLORS_MODE_SPECIFIC; + Rave.colors_min = 1; + Rave.colors_max = 2; + Rave.brightness_min = GMOW_BRIGHTNESS_MIN; + Rave.brightness = GMOW_BRIGHTNESS_MID; + Rave.brightness_max = GMOW_BRIGHTNESS_MAX; + Rave.value = GMOW_MODE_RAVE; Rave.colors.resize(2); modes.push_back(Rave); mode Wave; - Wave.name = "Wave"; - Wave.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_AUTOMATIC_SAVE; - Wave.speed_min = GMOW_SPEED2_MIN; - Wave.speed = GMOW_SPEED2_MID; - Wave.speed_max = GMOW_SPEED2_MAX; - Wave.color_mode = MODE_COLORS_NONE; - Wave.brightness_min = GMOW_BRIGHTNESS_MIN; - Wave.brightness = GMOW_BRIGHTNESS_MID; - Wave.brightness_max = GMOW_BRIGHTNESS_MAX; - Wave.value = GMOW_MODE_WAVE; + Wave.name = "Wave"; + Wave.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_AUTOMATIC_SAVE; + Wave.speed_min = GMOW_SPEED2_MIN; + Wave.speed = GMOW_SPEED2_MID; + Wave.speed_max = GMOW_SPEED2_MAX; + Wave.color_mode = MODE_COLORS_NONE; + Wave.brightness_min = GMOW_BRIGHTNESS_MIN; + Wave.brightness = GMOW_BRIGHTNESS_MID; + Wave.brightness_max = GMOW_BRIGHTNESS_MAX; + Wave.value = GMOW_MODE_WAVE; modes.push_back(Wave); SetupZones(); diff --git a/Controllers/SinowealthController/SinowealthGMOWController/SinowealthGMOWController.cpp b/Controllers/SinowealthController/SinowealthGMOWController/SinowealthGMOWController.cpp index cd19e1fe..53e057a4 100644 --- a/Controllers/SinowealthController/SinowealthGMOWController/SinowealthGMOWController.cpp +++ b/Controllers/SinowealthController/SinowealthGMOWController/SinowealthGMOWController.cpp @@ -15,10 +15,12 @@ #include "SinowealthGMOWController.h" #include "StringUtils.h" -SinowealthGMOWController::SinowealthGMOWController(hid_device* dev_handle, char *_path, int _type) +SinowealthGMOWController::SinowealthGMOWController(hid_device* dev_handle, char *_path, int _type, std::string dev_name) { - dev = dev_handle; - location = _path; + dev = dev_handle; + location = _path; + name = dev_name; + type = _type; memset(mode_packet,0x00, GMOW_PACKET_SIZE); mode_packet[0x03] = 0x02; @@ -35,8 +37,6 @@ SinowealthGMOWController::SinowealthGMOWController(hid_device* dev_handle, char memcpy(less_packet, wired_packet, GMOW_PACKET_SIZE); less_packet[0x07] = 0x00; - - type = _type; } SinowealthGMOWController::~SinowealthGMOWController() @@ -49,6 +49,11 @@ std::string SinowealthGMOWController::GetLocation() return("HID: " + location); } +std::string SinowealthGMOWController::GetName() +{ + return(name); +} + std::string SinowealthGMOWController::GetSerialString() { wchar_t serial_string[128]; diff --git a/Controllers/SinowealthController/SinowealthGMOWController/SinowealthGMOWController.h b/Controllers/SinowealthController/SinowealthGMOWController/SinowealthGMOWController.h index bd6c79a7..49b2da03 100644 --- a/Controllers/SinowealthController/SinowealthGMOWController/SinowealthGMOWController.h +++ b/Controllers/SinowealthController/SinowealthGMOWController/SinowealthGMOWController.h @@ -59,10 +59,11 @@ enum class SinowealthGMOWController { public: - SinowealthGMOWController(hid_device* dev_handle, char *_path, int type); + SinowealthGMOWController(hid_device* dev_handle, char *_path, int type, std::string dev_name); ~SinowealthGMOWController(); std::string GetLocation(); + std::string GetName(); std::string GetSerialString(); void SetMode(unsigned char mode, @@ -81,5 +82,6 @@ private: unsigned char less_packet[GMOW_PACKET_SIZE]; std::string location; + std::string name; int type; }; diff --git a/Controllers/SinowealthController/SinowealthKeyboard16Controller/RGBController_SinowealthKeyboard16.cpp b/Controllers/SinowealthController/SinowealthKeyboard16Controller/RGBController_SinowealthKeyboard16.cpp index 15f2b8b4..8d012b7d 100644 --- a/Controllers/SinowealthController/SinowealthKeyboard16Controller/RGBController_SinowealthKeyboard16.cpp +++ b/Controllers/SinowealthController/SinowealthKeyboard16Controller/RGBController_SinowealthKeyboard16.cpp @@ -182,13 +182,13 @@ static const char *led_names_tkl[] = RGBController_SinowealthKeyboard16::RGBController_SinowealthKeyboard16(SinowealthKeyboard16Controller* controller_ptr) { - controller = controller_ptr; + controller = controller_ptr; - name = "Sinowealth Keyboard"; - type = DEVICE_TYPE_KEYBOARD; - description = "Generic Sinowealth Keyboard"; - location = controller->GetLocation(); - serial = controller->GetSerialString(); + name = controller->GetName(); + type = DEVICE_TYPE_KEYBOARD; + description = "Sinowealth Keyboard Device"; + location = controller->GetLocation(); + serial = controller->GetSerialString(); std::vector modes_cfg = controller->GetDeviceModes(); std::vector color_presets = controller->GetDeviceColors(); diff --git a/Controllers/SinowealthController/SinowealthKeyboard16Controller/SinowealthKeyboard16Controller.cpp b/Controllers/SinowealthController/SinowealthKeyboard16Controller/SinowealthKeyboard16Controller.cpp index 7a8a6148..01e5be0c 100644 --- a/Controllers/SinowealthController/SinowealthKeyboard16Controller/SinowealthKeyboard16Controller.cpp +++ b/Controllers/SinowealthController/SinowealthKeyboard16Controller/SinowealthKeyboard16Controller.cpp @@ -56,6 +56,11 @@ std::string SinowealthKeyboard16Controller::GetLocation() return("HID: " + location); } +std::string SinowealthKeyboard16Controller::GetName() +{ + return(name); +} + unsigned char SinowealthKeyboard16Controller::GetCurrentMode() { return current_mode; diff --git a/Controllers/SinowealthController/SinowealthKeyboard16Controller/SinowealthKeyboard16Controller.h b/Controllers/SinowealthController/SinowealthKeyboard16Controller/SinowealthKeyboard16Controller.h index 9c5f0151..e7827407 100644 --- a/Controllers/SinowealthController/SinowealthKeyboard16Controller/SinowealthKeyboard16Controller.h +++ b/Controllers/SinowealthController/SinowealthKeyboard16Controller/SinowealthKeyboard16Controller.h @@ -109,6 +109,7 @@ public: unsigned int GetLEDCount(); std::string GetLocation(); + std::string GetName(); std::string GetSerialString(); unsigned char GetCurrentMode(); std::vector GetDeviceModes(); diff --git a/Controllers/SinowealthController/SinowealthKeyboard90Controller/RGBController_SinowealthKeyboard90.cpp b/Controllers/SinowealthController/SinowealthKeyboard90Controller/RGBController_SinowealthKeyboard90.cpp index 8952452c..c3360816 100644 --- a/Controllers/SinowealthController/SinowealthKeyboard90Controller/RGBController_SinowealthKeyboard90.cpp +++ b/Controllers/SinowealthController/SinowealthKeyboard90Controller/RGBController_SinowealthKeyboard90.cpp @@ -28,7 +28,7 @@ RGBController_SinowealthKeyboard90::RGBController_SinowealthKeyboard90(Sinowealt { controller = controller_ptr; - name = "Genesis Thor 300"; + name = controller->GetNameString(); vendor = "Sinowealth"; type = DEVICE_TYPE_KEYBOARD; description = "Generic Sinowealth Keyboard"; diff --git a/Controllers/SinowealthController/SinowealthKeyboard90Controller/SinowealthKeyboard90Controller.cpp b/Controllers/SinowealthController/SinowealthKeyboard90Controller/SinowealthKeyboard90Controller.cpp index 9bacd38d..16cb98d8 100644 --- a/Controllers/SinowealthController/SinowealthKeyboard90Controller/SinowealthKeyboard90Controller.cpp +++ b/Controllers/SinowealthController/SinowealthKeyboard90Controller/SinowealthKeyboard90Controller.cpp @@ -15,10 +15,11 @@ using namespace thor300; -SinowealthKeyboard90Controller::SinowealthKeyboard90Controller(hid_device* dev_handle, const char* path, const unsigned short pid) +SinowealthKeyboard90Controller::SinowealthKeyboard90Controller(hid_device* dev_handle, const char* path, const unsigned short pid, std::string dev_name) { dev = dev_handle; location = path; + name = dev_name; usb_pid = pid; } @@ -32,6 +33,11 @@ std::string SinowealthKeyboard90Controller::GetDeviceLocation() return("HID: " + location); } +std::string SinowealthKeyboard90Controller::GetNameString() +{ + return(name); +} + std::string SinowealthKeyboard90Controller::GetSerialString() { wchar_t serial_string[128]; diff --git a/Controllers/SinowealthController/SinowealthKeyboard90Controller/SinowealthKeyboard90Controller.h b/Controllers/SinowealthController/SinowealthKeyboard90Controller/SinowealthKeyboard90Controller.h index a95167c8..bc4184e3 100644 --- a/Controllers/SinowealthController/SinowealthKeyboard90Controller/SinowealthKeyboard90Controller.h +++ b/Controllers/SinowealthController/SinowealthKeyboard90Controller/SinowealthKeyboard90Controller.h @@ -201,11 +201,13 @@ namespace thor300 class SinowealthKeyboard90Controller { public: - SinowealthKeyboard90Controller(hid_device* dev_handle, const char* path, const unsigned short pid); + SinowealthKeyboard90Controller(hid_device* dev_handle, const char* path, const unsigned short pid, std::string dev_name); ~SinowealthKeyboard90Controller(); std::string GetDeviceLocation(); + std::string GetNameString(); std::string GetSerialString(); + unsigned short GetUSBPID(); void SendMode diff --git a/Controllers/SinowealthController/SinowealthKeyboardController/RGBController_SinowealthKeyboard.cpp b/Controllers/SinowealthController/SinowealthKeyboardController/RGBController_SinowealthKeyboard.cpp index 4c0a7030..36fca8a7 100644 --- a/Controllers/SinowealthController/SinowealthKeyboardController/RGBController_SinowealthKeyboard.cpp +++ b/Controllers/SinowealthController/SinowealthKeyboardController/RGBController_SinowealthKeyboard.cpp @@ -131,273 +131,273 @@ static const char *led_names_tkl[] = RGBController_SinowealthKeyboard::RGBController_SinowealthKeyboard(SinowealthKeyboardController* controller_ptr) { - controller = controller_ptr; + controller = controller_ptr; - name = "Sinowealth Keyboard"; - type = DEVICE_TYPE_KEYBOARD; - description = "Sinowealth Keyboard"; - location = controller->GetLocation(); - serial = controller->GetSerialString(); + name = controller->GetName(); + type = DEVICE_TYPE_KEYBOARD; + description = "Sinowealth Keyboard Device"; + location = controller->GetLocation(); + serial = controller->GetSerialString(); mode Static; - Static.name = "Static"; - Static.flags = MODE_FLAG_HAS_MODE_SPECIFIC_COLOR; - Static.color_mode = MODE_COLORS_MODE_SPECIFIC; - Static.value = MODE_STATIC; - Static.colors_min = 1; - Static.colors_max = 1; + Static.name = "Static"; + Static.flags = MODE_FLAG_HAS_MODE_SPECIFIC_COLOR; + Static.color_mode = MODE_COLORS_MODE_SPECIFIC; + Static.value = MODE_STATIC; + Static.colors_min = 1; + Static.colors_max = 1; Static.colors.resize(1); modes.push_back(Static); mode Custom; - Custom.name = "Custom"; - Custom.flags = MODE_FLAG_HAS_PER_LED_COLOR; - Custom.color_mode = MODE_COLORS_PER_LED; - Custom.value = MODE_PER_KEY; + Custom.name = "Custom"; + Custom.flags = MODE_FLAG_HAS_PER_LED_COLOR; + Custom.color_mode = MODE_COLORS_PER_LED; + Custom.value = MODE_PER_KEY; modes.push_back(Custom); mode Off; - Off.name = "Off"; - Off.flags = 0; - Off.color_mode = MODE_COLORS_NONE; - Off.value = MODE_OFF; + Off.name = "Off"; + Off.flags = 0; + Off.color_mode = MODE_COLORS_NONE; + Off.value = MODE_OFF; modes.push_back(Off); mode Respire; - Respire.name = "Respire"; - Respire.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_RANDOM_COLOR | MODE_FLAG_HAS_BRIGHTNESS; - Respire.speed_min = SPEED_SLOW; - Respire.speed = SPEED_NORMAL; - Respire.speed_max = SPEED_FASTEST; - Respire.color_mode = MODE_COLORS_RANDOM; - Respire.value = MODE_RESPIRE; - Respire.colors_min = 1; - Respire.colors_max = 1; + Respire.name = "Respire"; + Respire.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_RANDOM_COLOR | MODE_FLAG_HAS_BRIGHTNESS; + Respire.speed_min = SPEED_SLOW; + Respire.speed = SPEED_NORMAL; + Respire.speed_max = SPEED_FASTEST; + Respire.color_mode = MODE_COLORS_RANDOM; + Respire.value = MODE_RESPIRE; + Respire.colors_min = 1; + Respire.colors_max = 1; Respire.colors.resize(1); modes.push_back(Respire); mode Rainbow; - Rainbow.name = "Rainbow"; - Rainbow.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS; - Rainbow.speed_min = SPEED_SLOW; - Rainbow.speed = SPEED_NORMAL; - Rainbow.speed_max = SPEED_FASTEST; - Rainbow.color_mode = MODE_COLORS_NONE; - Rainbow.value = MODE_RAINBOW; + Rainbow.name = "Rainbow"; + Rainbow.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS; + Rainbow.speed_min = SPEED_SLOW; + Rainbow.speed = SPEED_NORMAL; + Rainbow.speed_max = SPEED_FASTEST; + Rainbow.color_mode = MODE_COLORS_NONE; + Rainbow.value = MODE_RAINBOW; modes.push_back(Rainbow); mode FlashAway; - FlashAway.name = "Flash Away"; - FlashAway.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_RANDOM_COLOR | MODE_FLAG_HAS_BRIGHTNESS; - FlashAway.speed_min = SPEED_SLOW; - FlashAway.speed = SPEED_NORMAL; - FlashAway.speed_max = SPEED_FASTEST; - FlashAway.color_mode = MODE_COLORS_RANDOM; - FlashAway.value = MODE_FLASH_AWAY; - FlashAway.colors_min = 1; - FlashAway.colors_max = 1; + FlashAway.name = "Flash Away"; + FlashAway.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_RANDOM_COLOR | MODE_FLAG_HAS_BRIGHTNESS; + FlashAway.speed_min = SPEED_SLOW; + FlashAway.speed = SPEED_NORMAL; + FlashAway.speed_max = SPEED_FASTEST; + FlashAway.color_mode = MODE_COLORS_RANDOM; + FlashAway.value = MODE_FLASH_AWAY; + FlashAway.colors_min = 1; + FlashAway.colors_max = 1; FlashAway.colors.resize(1); modes.push_back(FlashAway); mode Raindrops; - Raindrops.name = "Raindrops"; - Raindrops.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_RANDOM_COLOR | MODE_FLAG_HAS_BRIGHTNESS; - Raindrops.speed_min = SPEED_SLOW; - Raindrops.speed = SPEED_NORMAL; - Raindrops.speed_max = SPEED_FASTEST; - Raindrops.color_mode = MODE_COLORS_RANDOM; - Raindrops.value = MODE_RAINDROPS; - Raindrops.colors_min = 1; - Raindrops.colors_max = 1; + Raindrops.name = "Raindrops"; + Raindrops.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_RANDOM_COLOR | MODE_FLAG_HAS_BRIGHTNESS; + Raindrops.speed_min = SPEED_SLOW; + Raindrops.speed = SPEED_NORMAL; + Raindrops.speed_max = SPEED_FASTEST; + Raindrops.color_mode = MODE_COLORS_RANDOM; + Raindrops.value = MODE_RAINDROPS; + Raindrops.colors_min = 1; + Raindrops.colors_max = 1; Raindrops.colors.resize(1); modes.push_back(Raindrops); mode RainbowWheel; - RainbowWheel.name = "Rainbow Wheel"; - RainbowWheel.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_RANDOM_COLOR | MODE_FLAG_HAS_BRIGHTNESS; - RainbowWheel.speed_min = SPEED_SLOW; - RainbowWheel.speed = SPEED_NORMAL; - RainbowWheel.speed_max = SPEED_FASTEST; - RainbowWheel.color_mode = MODE_COLORS_RANDOM; - RainbowWheel.value = MODE_RAINBOW_WHEEL; - RainbowWheel.colors_min = 1; - RainbowWheel.colors_max = 1; + RainbowWheel.name = "Rainbow Wheel"; + RainbowWheel.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_RANDOM_COLOR | MODE_FLAG_HAS_BRIGHTNESS; + RainbowWheel.speed_min = SPEED_SLOW; + RainbowWheel.speed = SPEED_NORMAL; + RainbowWheel.speed_max = SPEED_FASTEST; + RainbowWheel.color_mode = MODE_COLORS_RANDOM; + RainbowWheel.value = MODE_RAINBOW_WHEEL; + RainbowWheel.colors_min = 1; + RainbowWheel.colors_max = 1; RainbowWheel.colors.resize(1); modes.push_back(RainbowWheel); mode RipplesShining; - RipplesShining.name = "Ripples Shining"; - RipplesShining.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_RANDOM_COLOR | MODE_FLAG_HAS_BRIGHTNESS; - RipplesShining.speed_min = SPEED_SLOW; - RipplesShining.speed = SPEED_NORMAL; - RipplesShining.speed_max = SPEED_FASTEST; - RipplesShining.color_mode = MODE_COLORS_RANDOM; - RipplesShining.value = MODE_RIPPLES_SHINING; - RipplesShining.colors_min = 1; - RipplesShining.colors_max = 1; + RipplesShining.name = "Ripples Shining"; + RipplesShining.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_RANDOM_COLOR | MODE_FLAG_HAS_BRIGHTNESS; + RipplesShining.speed_min = SPEED_SLOW; + RipplesShining.speed = SPEED_NORMAL; + RipplesShining.speed_max = SPEED_FASTEST; + RipplesShining.color_mode = MODE_COLORS_RANDOM; + RipplesShining.value = MODE_RIPPLES_SHINING; + RipplesShining.colors_min = 1; + RipplesShining.colors_max = 1; RipplesShining.colors.resize(1); modes.push_back(RipplesShining); mode StarsTwinkle; - StarsTwinkle.name = "Stars Twinkle"; - StarsTwinkle.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_RANDOM_COLOR | MODE_FLAG_HAS_BRIGHTNESS; - StarsTwinkle.speed_min = SPEED_SLOW; - StarsTwinkle.speed = SPEED_NORMAL; - StarsTwinkle.speed_max = SPEED_FASTEST; - StarsTwinkle.color_mode = MODE_COLORS_RANDOM; - StarsTwinkle.value = MODE_STARS_TWINKLE; - StarsTwinkle.colors_min = 1; - StarsTwinkle.colors_max = 1; + StarsTwinkle.name = "Stars Twinkle"; + StarsTwinkle.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_RANDOM_COLOR | MODE_FLAG_HAS_BRIGHTNESS; + StarsTwinkle.speed_min = SPEED_SLOW; + StarsTwinkle.speed = SPEED_NORMAL; + StarsTwinkle.speed_max = SPEED_FASTEST; + StarsTwinkle.color_mode = MODE_COLORS_RANDOM; + StarsTwinkle.value = MODE_STARS_TWINKLE; + StarsTwinkle.colors_min = 1; + StarsTwinkle.colors_max = 1; StarsTwinkle.colors.resize(1); modes.push_back(StarsTwinkle); mode ShadowDisappear; - ShadowDisappear.name = "Shadow Disappear"; - ShadowDisappear.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_RANDOM_COLOR | MODE_FLAG_HAS_BRIGHTNESS; - ShadowDisappear.speed_min = SPEED_SLOW; - ShadowDisappear.speed = SPEED_NORMAL; - ShadowDisappear.speed_max = SPEED_FASTEST; - ShadowDisappear.color_mode = MODE_COLORS_RANDOM; - ShadowDisappear.value = MODE_SHADOW_DISAPPEAR; - ShadowDisappear.colors_min = 1; - ShadowDisappear.colors_max = 1; + ShadowDisappear.name = "Shadow Disappear"; + ShadowDisappear.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_RANDOM_COLOR | MODE_FLAG_HAS_BRIGHTNESS; + ShadowDisappear.speed_min = SPEED_SLOW; + ShadowDisappear.speed = SPEED_NORMAL; + ShadowDisappear.speed_max = SPEED_FASTEST; + ShadowDisappear.color_mode = MODE_COLORS_RANDOM; + ShadowDisappear.value = MODE_SHADOW_DISAPPEAR; + ShadowDisappear.colors_min = 1; + ShadowDisappear.colors_max = 1; ShadowDisappear.colors.resize(1); modes.push_back(ShadowDisappear); mode RetroSnake; - RetroSnake.name = "Retro Snake"; - RetroSnake.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_RANDOM_COLOR | MODE_FLAG_HAS_BRIGHTNESS; - RetroSnake.speed_min = SPEED_SLOW; - RetroSnake.speed = SPEED_NORMAL; - RetroSnake.speed_max = SPEED_FASTEST; - RetroSnake.color_mode = MODE_COLORS_RANDOM; - RetroSnake.value = MODE_RETRO_SNAKE; - RetroSnake.colors_min = 1; - RetroSnake.colors_max = 1; + RetroSnake.name = "Retro Snake"; + RetroSnake.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_RANDOM_COLOR | MODE_FLAG_HAS_BRIGHTNESS; + RetroSnake.speed_min = SPEED_SLOW; + RetroSnake.speed = SPEED_NORMAL; + RetroSnake.speed_max = SPEED_FASTEST; + RetroSnake.color_mode = MODE_COLORS_RANDOM; + RetroSnake.value = MODE_RETRO_SNAKE; + RetroSnake.colors_min = 1; + RetroSnake.colors_max = 1; RetroSnake.colors.resize(1); modes.push_back(RetroSnake); mode NeonStream; - NeonStream.name = "Neon Stream"; - NeonStream.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_RANDOM_COLOR | MODE_FLAG_HAS_BRIGHTNESS; - NeonStream.speed_min = SPEED_SLOW; - NeonStream.speed = SPEED_NORMAL; - NeonStream.speed_max = SPEED_FASTEST; - NeonStream.color_mode = MODE_COLORS_RANDOM; - NeonStream.value = MODE_NEON_STREAM; - NeonStream.colors_min = 1; - NeonStream.colors_max = 1; + NeonStream.name = "Neon Stream"; + NeonStream.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_RANDOM_COLOR | MODE_FLAG_HAS_BRIGHTNESS; + NeonStream.speed_min = SPEED_SLOW; + NeonStream.speed = SPEED_NORMAL; + NeonStream.speed_max = SPEED_FASTEST; + NeonStream.color_mode = MODE_COLORS_RANDOM; + NeonStream.value = MODE_NEON_STREAM; + NeonStream.colors_min = 1; + NeonStream.colors_max = 1; NeonStream.colors.resize(1); modes.push_back(NeonStream); mode Reaction; - Reaction.name = "Reaction"; - Reaction.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_RANDOM_COLOR | MODE_FLAG_HAS_BRIGHTNESS; - Reaction.speed_min = SPEED_SLOW; - Reaction.speed = SPEED_NORMAL; - Reaction.speed_max = SPEED_FASTEST; - Reaction.color_mode = MODE_COLORS_RANDOM; - Reaction.value = MODE_REACTION; - Reaction.colors_min = 1; - Reaction.colors_max = 1; + Reaction.name = "Reaction"; + Reaction.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_RANDOM_COLOR | MODE_FLAG_HAS_BRIGHTNESS; + Reaction.speed_min = SPEED_SLOW; + Reaction.speed = SPEED_NORMAL; + Reaction.speed_max = SPEED_FASTEST; + Reaction.color_mode = MODE_COLORS_RANDOM; + Reaction.value = MODE_REACTION; + Reaction.colors_min = 1; + Reaction.colors_max = 1; Reaction.colors.resize(1); modes.push_back(Reaction); mode SineWave; - SineWave.name = "Sine Wave"; - SineWave.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_RANDOM_COLOR | MODE_FLAG_HAS_BRIGHTNESS; - SineWave.speed_min = SPEED_SLOW; - SineWave.speed = SPEED_NORMAL; - SineWave.speed_max = SPEED_FASTEST; - SineWave.color_mode = MODE_COLORS_RANDOM; - SineWave.value = MODE_SINE_WAVE; - SineWave.colors_min = 1; - SineWave.colors_max = 1; + SineWave.name = "Sine Wave"; + SineWave.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_RANDOM_COLOR | MODE_FLAG_HAS_BRIGHTNESS; + SineWave.speed_min = SPEED_SLOW; + SineWave.speed = SPEED_NORMAL; + SineWave.speed_max = SPEED_FASTEST; + SineWave.color_mode = MODE_COLORS_RANDOM; + SineWave.value = MODE_SINE_WAVE; + SineWave.colors_min = 1; + SineWave.colors_max = 1; SineWave.colors.resize(1); modes.push_back(SineWave); mode RetinueScanning; - RetinueScanning.name = "Retinue Scanning"; - RetinueScanning.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_RANDOM_COLOR | MODE_FLAG_HAS_BRIGHTNESS; - RetinueScanning.speed_min = SPEED_SLOW; - RetinueScanning.speed = SPEED_NORMAL; - RetinueScanning.speed_max = SPEED_FASTEST; - RetinueScanning.color_mode = MODE_COLORS_RANDOM; - RetinueScanning.value = MODE_RETINUE_SCANNING; - RetinueScanning.colors_min = 1; - RetinueScanning.colors_max = 1; + RetinueScanning.name = "Retinue Scanning"; + RetinueScanning.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_RANDOM_COLOR | MODE_FLAG_HAS_BRIGHTNESS; + RetinueScanning.speed_min = SPEED_SLOW; + RetinueScanning.speed = SPEED_NORMAL; + RetinueScanning.speed_max = SPEED_FASTEST; + RetinueScanning.color_mode = MODE_COLORS_RANDOM; + RetinueScanning.value = MODE_RETINUE_SCANNING; + RetinueScanning.colors_min = 1; + RetinueScanning.colors_max = 1; RetinueScanning.colors.resize(1); modes.push_back(RetinueScanning); mode RotatingWindmill; - RotatingWindmill.name = "Rotating Windmill"; - RotatingWindmill.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_RANDOM_COLOR | MODE_FLAG_HAS_BRIGHTNESS; - RotatingWindmill.speed_min = SPEED_SLOW; - RotatingWindmill.speed = SPEED_NORMAL; - RotatingWindmill.speed_max = SPEED_FASTEST; - RotatingWindmill.color_mode = MODE_COLORS_RANDOM; - RotatingWindmill.value = MODE_ROTATING_WINDMILL; - RotatingWindmill.colors_min = 1; - RotatingWindmill.colors_max = 1; + RotatingWindmill.name = "Rotating Windmill"; + RotatingWindmill.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_RANDOM_COLOR | MODE_FLAG_HAS_BRIGHTNESS; + RotatingWindmill.speed_min = SPEED_SLOW; + RotatingWindmill.speed = SPEED_NORMAL; + RotatingWindmill.speed_max = SPEED_FASTEST; + RotatingWindmill.color_mode = MODE_COLORS_RANDOM; + RotatingWindmill.value = MODE_ROTATING_WINDMILL; + RotatingWindmill.colors_min = 1; + RotatingWindmill.colors_max = 1; RotatingWindmill.colors.resize(1); modes.push_back(RotatingWindmill); mode ColorfulWaterfall; - ColorfulWaterfall.name = "Colorful Waterfall"; - ColorfulWaterfall.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS; - ColorfulWaterfall.speed_min = SPEED_SLOW; - ColorfulWaterfall.speed = SPEED_NORMAL; - ColorfulWaterfall.speed_max = SPEED_FASTEST; - ColorfulWaterfall.color_mode = MODE_COLORS_NONE; - ColorfulWaterfall.value = MODE_COLORFUL_WATERFALL; + ColorfulWaterfall.name = "Colorful Waterfall"; + ColorfulWaterfall.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS; + ColorfulWaterfall.speed_min = SPEED_SLOW; + ColorfulWaterfall.speed = SPEED_NORMAL; + ColorfulWaterfall.speed_max = SPEED_FASTEST; + ColorfulWaterfall.color_mode = MODE_COLORS_NONE; + ColorfulWaterfall.value = MODE_COLORFUL_WATERFALL; modes.push_back(ColorfulWaterfall); mode Blossoming; - Blossoming.name = "Blossoming"; - Blossoming.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS; - Blossoming.speed_min = SPEED_SLOW; - Blossoming.speed = SPEED_NORMAL; - Blossoming.speed_max = SPEED_FASTEST; - Blossoming.color_mode = MODE_COLORS_NONE; - Blossoming.value = MODE_BLOSSOMING; + Blossoming.name = "Blossoming"; + Blossoming.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS; + Blossoming.speed_min = SPEED_SLOW; + Blossoming.speed = SPEED_NORMAL; + Blossoming.speed_max = SPEED_FASTEST; + Blossoming.color_mode = MODE_COLORS_NONE; + Blossoming.value = MODE_BLOSSOMING; modes.push_back(Blossoming); mode RotatingStorm; - RotatingStorm.name = "Rotating Storm"; - RotatingStorm.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_RANDOM_COLOR | MODE_FLAG_HAS_BRIGHTNESS; - RotatingStorm.speed_min = SPEED_SLOW; - RotatingStorm.speed = SPEED_NORMAL; - RotatingStorm.speed_max = SPEED_FASTEST; - RotatingStorm.color_mode = MODE_COLORS_RANDOM; - RotatingStorm.value = MODE_ROTATING_STORM; - RotatingStorm.colors_min = 1; - RotatingStorm.colors_max = 1; + RotatingStorm.name = "Rotating Storm"; + RotatingStorm.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_RANDOM_COLOR | MODE_FLAG_HAS_BRIGHTNESS; + RotatingStorm.speed_min = SPEED_SLOW; + RotatingStorm.speed = SPEED_NORMAL; + RotatingStorm.speed_max = SPEED_FASTEST; + RotatingStorm.color_mode = MODE_COLORS_RANDOM; + RotatingStorm.value = MODE_ROTATING_STORM; + RotatingStorm.colors_min = 1; + RotatingStorm.colors_max = 1; RotatingStorm.colors.resize(1); modes.push_back(RotatingStorm); mode Collision; - Collision.name = "Collision"; - Collision.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_RANDOM_COLOR | MODE_FLAG_HAS_BRIGHTNESS; - Collision.speed_min = SPEED_SLOW; - Collision.speed = SPEED_NORMAL; - Collision.speed_max = SPEED_FASTEST; - Collision.color_mode = MODE_COLORS_RANDOM; - Collision.value = MODE_COLLISION; - Collision.colors_min = 1; - Collision.colors_max = 1; + Collision.name = "Collision"; + Collision.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_RANDOM_COLOR | MODE_FLAG_HAS_BRIGHTNESS; + Collision.speed_min = SPEED_SLOW; + Collision.speed = SPEED_NORMAL; + Collision.speed_max = SPEED_FASTEST; + Collision.color_mode = MODE_COLORS_RANDOM; + Collision.value = MODE_COLLISION; + Collision.colors_min = 1; + Collision.colors_max = 1; Collision.colors.resize(1); modes.push_back(Collision); mode Perfect; - Perfect.name = "Perfect"; - Perfect.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_RANDOM_COLOR | MODE_FLAG_HAS_BRIGHTNESS; - Perfect.speed_min = SPEED_SLOW; - Perfect.speed = SPEED_NORMAL; - Perfect.speed_max = SPEED_FASTEST; - Perfect.color_mode = MODE_COLORS_RANDOM; - Perfect.value = MODE_PERFECT; - Perfect.colors_min = 1; - Perfect.colors_max = 1; + Perfect.name = "Perfect"; + Perfect.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_RANDOM_COLOR | MODE_FLAG_HAS_BRIGHTNESS; + Perfect.speed_min = SPEED_SLOW; + Perfect.speed = SPEED_NORMAL; + Perfect.speed_max = SPEED_FASTEST; + Perfect.color_mode = MODE_COLORS_RANDOM; + Perfect.value = MODE_PERFECT; + Perfect.colors_min = 1; + Perfect.colors_max = 1; Perfect.colors.resize(1); modes.push_back(Perfect); diff --git a/Controllers/SinowealthController/SinowealthKeyboardController/SinowealthKeyboardController.cpp b/Controllers/SinowealthController/SinowealthKeyboardController/SinowealthKeyboardController.cpp index 907a12cd..cc57420b 100644 --- a/Controllers/SinowealthController/SinowealthKeyboardController/SinowealthKeyboardController.cpp +++ b/Controllers/SinowealthController/SinowealthKeyboardController/SinowealthKeyboardController.cpp @@ -71,10 +71,11 @@ static unsigned int keys_tkl_keys_indices_static_command[] = { 0x0022, 0x0024, 0x01E0, 0x01E2, 0x01E4, 0x01E6, 0x01E7, 0x01E8, 0x01E9, 0x01EA}; -SinowealthKeyboardController::SinowealthKeyboardController(hid_device* dev_cmd_handle, hid_device* dev_data_handle, char* path) +SinowealthKeyboardController::SinowealthKeyboardController(hid_device* dev_cmd_handle, hid_device* dev_data_handle, char* path, std::string dev_name) { - dev_cmd = dev_cmd_handle; - dev_data = dev_data_handle; + dev_cmd = dev_cmd_handle; + dev_data = dev_data_handle; + name = dev_name; led_count = sizeof(tkl_keys_per_key_index) / sizeof(*tkl_keys_per_key_index); @@ -95,6 +96,11 @@ std::string SinowealthKeyboardController::GetLocation() return("HID: " + location); } +std::string SinowealthKeyboardController::GetName() +{ + return(name); +} + unsigned char SinowealthKeyboardController::GetCurrentMode() { return current_mode; diff --git a/Controllers/SinowealthController/SinowealthKeyboardController/SinowealthKeyboardController.h b/Controllers/SinowealthController/SinowealthKeyboardController/SinowealthKeyboardController.h index 85f45871..6ef5c7bc 100644 --- a/Controllers/SinowealthController/SinowealthKeyboardController/SinowealthKeyboardController.h +++ b/Controllers/SinowealthController/SinowealthKeyboardController/SinowealthKeyboardController.h @@ -61,11 +61,12 @@ enum class SinowealthKeyboardController { public: - SinowealthKeyboardController(hid_device* dev_cmd_handle, hid_device* dev_data_handle, char *_path); //RGB, Command, path + SinowealthKeyboardController(hid_device* dev_cmd_handle, hid_device* dev_data_handle, char *_path, std::string dev_name); //RGB, Command, path ~SinowealthKeyboardController(); unsigned int GetLEDCount(); std::string GetLocation(); + std::string GetName(); std::string GetSerialString(); unsigned char GetCurrentMode(); @@ -79,11 +80,9 @@ private: hid_device* dev_cmd; hid_device* dev_data; device_type type; - unsigned int led_count; - unsigned char current_mode; unsigned char current_speed; - std::string location; + std::string name; };