Store name in LogitechControllers to avoid setting it in detectors

This commit is contained in:
Adam Honse 2025-08-16 16:47:44 -05:00
parent 86fbdfa6e7
commit a0726dc065
35 changed files with 258 additions and 185 deletions

View file

@ -19,25 +19,26 @@ const size_t HEADER_SIZE = 4;
const size_t MESSAGE_LEN = 20;
const size_t RESPONSE_LEN = 20;
LogitechG915Controller::LogitechG915Controller(hid_device* dev_handle, bool wired)
LogitechG915Controller::LogitechG915Controller(hid_device* dev_handle, bool wired, std::string dev_name)
{
this->dev_handle = dev_handle;
this->dev_handle = dev_handle;
this->name = dev_name;
if(wired)
{
device_index = 0xFF;
feature_4522_idx = 0x0E;
feature_8040_idx = 0x13;
feature_8071_idx = 0x09;
feature_8081_idx = 0x0A;
device_index = 0xFF;
feature_4522_idx = 0x0E;
feature_8040_idx = 0x13;
feature_8071_idx = 0x09;
feature_8081_idx = 0x0A;
}
else
{
device_index = 0x01;
feature_4522_idx = 0x0F;
feature_8040_idx = 0x14;
feature_8071_idx = 0x0A;
feature_8081_idx = 0x0B;
device_index = 0x01;
feature_4522_idx = 0x0F;
feature_8040_idx = 0x14;
feature_8071_idx = 0x0A;
feature_8081_idx = 0x0B;
}
}
@ -46,6 +47,11 @@ LogitechG915Controller::~LogitechG915Controller()
}
std::string LogitechG915Controller::GetNameString()
{
return(name);
}
std::string LogitechG915Controller::GetSerialString()
{
wchar_t serial_string[128];

View file

@ -83,10 +83,12 @@ enum
class LogitechG915Controller
{
public:
LogitechG915Controller(hid_device* dev_handle, bool wired);
LogitechG915Controller(hid_device* dev_handle, bool wired, std::string dev_name);
~LogitechG915Controller();
std::string GetNameString();
std::string GetSerialString();
void Commit();
void InitializeDirect();
void InitializeModeSet();
@ -115,12 +117,13 @@ public:
);
private:
hid_device* dev_handle;
unsigned char feature_4522_idx;
unsigned char device_index;
unsigned char feature_8040_idx;
unsigned char feature_8071_idx;
unsigned char feature_8081_idx;
hid_device* dev_handle;
unsigned char feature_4522_idx;
unsigned char device_index;
unsigned char feature_8040_idx;
unsigned char feature_8071_idx;
unsigned char feature_8081_idx;
std::string name;
void SendDirectFrame
(

View file

@ -282,14 +282,14 @@ RGBController_LogitechG915::RGBController_LogitechG915(LogitechG915Controller* c
if(is_tkl)
{
name = "Logitech G915TKL Keyboard Device";
description = "Logitech G915TKL Keyboard Device";
}
else
{
name = "Logitech G915 Keyboard Device";
description = "Logitech G915 Keyboard Device";
}
description = name;
name = controller->GetNameString();
vendor = "Logitech";
type = DEVICE_TYPE_KEYBOARD;
serial = controller->GetSerialString();