Store name in HYTEMousematController to avoid setting it in detector

This commit is contained in:
Adam Honse 2025-08-11 17:23:51 -05:00
parent d412ef5e17
commit 20f3e5db0b
7 changed files with 25 additions and 11 deletions

View file

@ -70,9 +70,8 @@ void DetectHYTEMousematControllers()
libusb_detach_kernel_driver(dev, 0);
libusb_claim_interface(dev, 0);
HYTEMousematController * controller = new HYTEMousematController(dev);
HYTEMousematController * controller = new HYTEMousematController(dev, device_list[device_idx].name);
RGBController_HYTEMousemat * rgb_controller = new RGBController_HYTEMousemat(controller);
rgb_controller->name = device_list[device_idx].name;
ResourceManager::get()->RegisterRGBController(rgb_controller);
}

View file

@ -15,9 +15,10 @@
#include <sstream>
#include "HYTEMousematController_Linux.h"
HYTEMousematController::HYTEMousematController(libusb_device_handle* dev_handle)
HYTEMousematController::HYTEMousematController(libusb_device_handle* dev_handle, std::string dev_name)
{
dev = dev_handle;
dev = dev_handle;
name = dev_name;
/*-----------------------------------------------------*\
| Fill in location string with USB ID |
@ -42,6 +43,11 @@ std::string HYTEMousematController::GetLocation()
return(location);
}
std::string HYTEMousematController::GetName()
{
return(name);
}
void HYTEMousematController::FirmwareAnimationControl(bool enabled)
{
unsigned char serial_buf[4];

View file

@ -24,10 +24,11 @@
class HYTEMousematController
{
public:
HYTEMousematController(libusb_device_handle* dev_handle);
HYTEMousematController(libusb_device_handle* dev_handle, std::string dev_name);
~HYTEMousematController();
std::string GetLocation();
std::string GetName();
void FirmwareAnimationControl(bool enabled);
void StreamingCommand(RGBColor* colors);
@ -35,4 +36,5 @@ public:
private:
libusb_device_handle* dev;
std::string location;
std::string name;
};

View file

@ -54,9 +54,8 @@ void DetectHYTEMousematControllers()
{
if(*ports[i] != "")
{
HYTEMousematController * controller = new HYTEMousematController((char *)ports[i]->c_str());
HYTEMousematController * controller = new HYTEMousematController((char *)ports[i]->c_str(), hyte_mousemat_devices[device_id].name);
RGBController_HYTEMousemat * rgb_controller = new RGBController_HYTEMousemat(controller);
rgb_controller->name = hyte_mousemat_devices[device_id].name;
ResourceManager::get()->RegisterRGBController(rgb_controller);
}

View file

@ -12,9 +12,10 @@
#include "HYTEMousematController_Windows_MacOS.h"
HYTEMousematController::HYTEMousematController(char* port)
HYTEMousematController::HYTEMousematController(char* port, std::string dev_name)
{
port_name = port;
name = dev_name;
port_name = port;
/*-----------------------------------------------------*\
| Open the port |
@ -33,6 +34,11 @@ std::string HYTEMousematController::GetLocation()
return(port_name);
}
std::string HYTEMousematController::GetName()
{
return(name);
}
void HYTEMousematController::FirmwareAnimationControl(bool enabled)
{
unsigned char serial_buf[4];

View file

@ -19,15 +19,17 @@
class HYTEMousematController
{
public:
HYTEMousematController(char* port);
HYTEMousematController(char* port, std::string dev_name);
~HYTEMousematController();
std::string GetLocation();
std::string GetName();
void FirmwareAnimationControl(bool enabled);
void StreamingCommand(RGBColor* colors);
private:
std::string name;
std::string port_name;
serial_port * serialport = nullptr;
};

View file

@ -26,7 +26,7 @@ RGBController_HYTEMousemat::RGBController_HYTEMousemat(HYTEMousematController* c
{
controller = controller_ptr;
name = "HYTE Mousemat";
name = controller->GetName();
vendor = "HYTE";
description = "HYTE Mousemat Device";
type = DEVICE_TYPE_MOUSEMAT;