Store name in GigabyteAorusLaptopController to avoid setting it in detector

This commit is contained in:
Adam Honse 2025-08-08 11:43:37 -05:00
parent 7d0db424ec
commit cba7c016d3
4 changed files with 25 additions and 26 deletions

View file

@ -32,11 +32,11 @@ static unsigned char argb_colour_index_data[2][2][2] =
{ 0x05, 0x07 }, } //G1 R1
};
GigabyteAorusLaptopController::GigabyteAorusLaptopController(hid_device* dev_handle, const hid_device_info& info)
GigabyteAorusLaptopController::GigabyteAorusLaptopController(hid_device* dev_handle, const hid_device_info& info, std::string dev_name)
{
dev = dev_handle;
location = info.path;
version = "";
name = dev_name;
}
GigabyteAorusLaptopController::~GigabyteAorusLaptopController()
@ -44,6 +44,11 @@ GigabyteAorusLaptopController::~GigabyteAorusLaptopController()
hid_close(dev);
}
std::string GigabyteAorusLaptopController::GetNameString()
{
return(name);
}
std::string GigabyteAorusLaptopController::GetDeviceLocation()
{
return("HID: " + location);
@ -62,11 +67,6 @@ std::string GigabyteAorusLaptopController::GetSerialString()
return(StringUtils::wstring_to_string(serial_string));
}
std::string GigabyteAorusLaptopController::GetFirmwareVersion()
{
return(version);
}
void GigabyteAorusLaptopController::SetDirect(uint8_t brightness, RGBColor color)
{
/*---------------------------------------------------------*\

View file

@ -50,12 +50,12 @@ enum
class GigabyteAorusLaptopController
{
public:
GigabyteAorusLaptopController(hid_device* dev_handle, const hid_device_info& info);
GigabyteAorusLaptopController(hid_device* dev_handle, const hid_device_info& info, std::string dev_name);
~GigabyteAorusLaptopController();
std::string GetNameString();
std::string GetSerialString();
std::string GetDeviceLocation();
std::string GetFirmwareVersion();
void SetDirect(uint8_t brightness, RGBColor color);
void SetMode(uint8_t mode_value, uint8_t speed, uint8_t brightness, uint8_t direction, RGBColor color);
@ -69,5 +69,5 @@ private:
unsigned char GetColourIndex(unsigned char red, unsigned char green, unsigned char blue);
std::string location;
std::string version;
std::string name;
};

View file

@ -24,8 +24,8 @@
#define AORUS_17X_BACKLIGHT_PID 0x7A42
#define AORUS_17X_KEYBOARD_PID 0x7A3F
#define AORUS_15BKF_BACKLIGHT_PID 0x7A44
#define AORUS_15BKF_KEYBOARD_PID 0x7A43
#define AORUS_15BKF_BACKLIGHT_PID 0x7A44
#define AORUS_15BKF_KEYBOARD_PID 0x7A43
void DetectGigabyteAorusLaptopControllers(hid_device_info* info, const std::string& name, GIGABYTE_AORUS_LAPTOP_DEV_TYPE dev_type)
{
@ -33,9 +33,9 @@ void DetectGigabyteAorusLaptopControllers(hid_device_info* info, const std::stri
if(dev)
{
GigabyteAorusLaptopController* controller = new GigabyteAorusLaptopController(dev, *info);
GigabyteAorusLaptopController* controller = new GigabyteAorusLaptopController(dev, *info, name);
RGBController_GigabyteAorusLaptop* rgb_controller = new RGBController_GigabyteAorusLaptop(controller, dev_type);
rgb_controller->name = name;
ResourceManager::get()->RegisterRGBController(rgb_controller);
}
}
@ -50,8 +50,7 @@ void DetectGigabyteAorusLaptopBacklightControllers(hid_device_info* info, const
DetectGigabyteAorusLaptopControllers(info, name, GIGABYTE_AORUS_LAPTOP_BACKLIGHT_TYPE);
}
REGISTER_HID_DETECTOR_IPU("Gigabyte Aorus 17X Keyboard", DetectGigabyteAorusLaptopKeyboardControllers, GIGABYTE_AORUS_LAPTOP_VID, AORUS_17X_KEYBOARD_PID, 3, 0xFF01, 0x01);
REGISTER_HID_DETECTOR_IPU("Gigabyte Aorus 17X Backlight", DetectGigabyteAorusLaptopBacklightControllers, GIGABYTE_AORUS_LAPTOP_VID, AORUS_17X_BACKLIGHT_PID, 3, 0xFF01, 0x01);
REGISTER_HID_DETECTOR_IPU("Gigabyte Aorus 15BKF Keyboard", DetectGigabyteAorusLaptopKeyboardControllers, GIGABYTE_AORUS_LAPTOP_VID, AORUS_15BKF_KEYBOARD_PID, 3, 0xFF01, 0x01);
REGISTER_HID_DETECTOR_IPU("Gigabyte Aorus 17X Keyboard", DetectGigabyteAorusLaptopKeyboardControllers, GIGABYTE_AORUS_LAPTOP_VID, AORUS_17X_KEYBOARD_PID, 3, 0xFF01, 0x01);
REGISTER_HID_DETECTOR_IPU("Gigabyte Aorus 17X Backlight", DetectGigabyteAorusLaptopBacklightControllers, GIGABYTE_AORUS_LAPTOP_VID, AORUS_17X_BACKLIGHT_PID, 3, 0xFF01, 0x01);
REGISTER_HID_DETECTOR_IPU("Gigabyte Aorus 15BKF Keyboard", DetectGigabyteAorusLaptopKeyboardControllers, GIGABYTE_AORUS_LAPTOP_VID, AORUS_15BKF_KEYBOARD_PID, 3, 0xFF01, 0x01);
REGISTER_HID_DETECTOR_IPU("Gigabyte Aorus 15BKF Backlight", DetectGigabyteAorusLaptopBacklightControllers, GIGABYTE_AORUS_LAPTOP_VID, AORUS_15BKF_BACKLIGHT_PID, 3, 0xFF01, 0x01);

View file

@ -74,12 +74,12 @@ RGBController_GigabyteAorusLaptop::RGBController_GigabyteAorusLaptop(GigabyteAor
{
this->dev_type = dev_type;
controller = controller_ptr;
name = controller->GetNameString();
vendor = "Gigabyte";
type = DEVICE_TYPE_LAPTOP;
description = "Aorus Laptop";
location = controller->GetDeviceLocation();
serial = controller->GetSerialString();
version = controller->GetFirmwareVersion();
/*---------------------------------------------------------*\
| Only keyboard supports Direct mode |
@ -87,13 +87,13 @@ RGBController_GigabyteAorusLaptop::RGBController_GigabyteAorusLaptop(GigabyteAor
if(dev_type == GIGABYTE_AORUS_LAPTOP_KEYBOARD_TYPE)
{
mode Direct;
Direct.name = "Direct";
Direct.value = GIGABYTE_AORUS_LAPTOP_DIRECT_MODE_VALUE;
Direct.flags = MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_HAS_BRIGHTNESS;
Direct.color_mode = MODE_COLORS_PER_LED;
Direct.brightness_min = GIGABYTE_AORUS_LAPTOP_BRIGHTNESS_MIN;
Direct.brightness_max = GIGABYTE_AORUS_LAPTOP_BRIGHTNESS_MAX;
Direct.brightness = GIGABYTE_AORUS_LAPTOP_BRIGHTNESS_MAX/2;
Direct.name = "Direct";
Direct.value = GIGABYTE_AORUS_LAPTOP_DIRECT_MODE_VALUE;
Direct.flags = MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_HAS_BRIGHTNESS;
Direct.color_mode = MODE_COLORS_PER_LED;
Direct.brightness_min = GIGABYTE_AORUS_LAPTOP_BRIGHTNESS_MIN;
Direct.brightness_max = GIGABYTE_AORUS_LAPTOP_BRIGHTNESS_MAX;
Direct.brightness = GIGABYTE_AORUS_LAPTOP_BRIGHTNESS_MAX/2;
modes.push_back(Direct);
}