Store name in HyperXMouseControllers to avoid setting it in detectors

This commit is contained in:
Adam Honse 2025-08-10 21:17:20 -05:00
parent 0c0ffe7f5c
commit ca554d9ef6
16 changed files with 148 additions and 121 deletions

View file

@ -15,11 +15,11 @@
using namespace std::chrono_literals;
HyperXPulsefireRaidController::HyperXPulsefireRaidController(hid_device* dev_handle, const hid_device_info& info)
HyperXPulsefireRaidController::HyperXPulsefireRaidController(hid_device* dev_handle, const hid_device_info& info, std::string dev_name)
{
dev = dev_handle;
location = info.path;
version = "";
name = dev_name;
}
HyperXPulsefireRaidController::~HyperXPulsefireRaidController()
@ -32,6 +32,11 @@ std::string HyperXPulsefireRaidController::GetDeviceLocation()
return("HID: " + location);
}
std::string HyperXPulsefireRaidController::GetNameString()
{
return(name);
}
std::string HyperXPulsefireRaidController::GetSerialString()
{
wchar_t serial_string[128];
@ -45,11 +50,6 @@ std::string HyperXPulsefireRaidController::GetSerialString()
return(StringUtils::wstring_to_string(serial_string));
}
std::string HyperXPulsefireRaidController::GetFirmwareVersion()
{
return(version);
}
void HyperXPulsefireRaidController::SendColors(std::vector<RGBColor> colors)
{
unsigned char usb_buf[HYPERX_PULSFIRE_RAID_PACKET_DATA_LENGTH];

View file

@ -30,12 +30,13 @@ enum
class HyperXPulsefireRaidController
{
public:
HyperXPulsefireRaidController(hid_device* dev_handle, const hid_device_info& info);
HyperXPulsefireRaidController(hid_device* dev_handle, const hid_device_info& info, std::string dev_name);
~HyperXPulsefireRaidController();
std::string GetNameString();
std::string GetSerialString();
std::string GetDeviceLocation();
std::string GetFirmwareVersion();
void SendColors(std::vector<RGBColor> colors);
void SetBrightness(unsigned char brightness);
@ -44,7 +45,7 @@ protected:
private:
std::string location;
std::string version;
std::string name;
void Send(unsigned char* packet);
};

View file

@ -26,24 +26,23 @@ using namespace std::chrono_literals;
RGBController_HyperXPulsefireRaid::RGBController_HyperXPulsefireRaid(HyperXPulsefireRaidController* controller_ptr)
{
controller = controller_ptr;
controller = controller_ptr;
name = "HyperX Pulsefire Raid Device";
vendor = "HyperX";
type = DEVICE_TYPE_MOUSE;
description = "HyperX Pulsefire Raid Device";
location = controller->GetDeviceLocation();
serial = controller->GetSerialString();
version = controller->GetFirmwareVersion();
name = controller->GetNameString();
vendor = "HyperX";
type = DEVICE_TYPE_MOUSE;
description = "HyperX Pulsefire Raid Device";
location = controller->GetDeviceLocation();
serial = controller->GetSerialString();
mode Direct;
Direct.name = "Direct";
Direct.value = 0x00;
Direct.flags = MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_HAS_BRIGHTNESS;
Direct.color_mode = MODE_COLORS_PER_LED;
Direct.brightness = HYPERX_PULSFIRE_RAID_BRIGHTNESS_MAX;
Direct.brightness_min = HYPERX_PULSFIRE_RAID_BRIGHTNESS_MIN;
Direct.brightness_max = HYPERX_PULSFIRE_RAID_BRIGHTNESS_MAX;
Direct.name = "Direct";
Direct.value = 0x00;
Direct.flags = MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_HAS_BRIGHTNESS;
Direct.color_mode = MODE_COLORS_PER_LED;
Direct.brightness = HYPERX_PULSFIRE_RAID_BRIGHTNESS_MAX;
Direct.brightness_min = HYPERX_PULSFIRE_RAID_BRIGHTNESS_MIN;
Direct.brightness_max = HYPERX_PULSFIRE_RAID_BRIGHTNESS_MAX;
modes.push_back(Direct);