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_detach_kernel_driver(dev, 0);
libusb_claim_interface(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); RGBController_HYTEMousemat * rgb_controller = new RGBController_HYTEMousemat(controller);
rgb_controller->name = device_list[device_idx].name;
ResourceManager::get()->RegisterRGBController(rgb_controller); ResourceManager::get()->RegisterRGBController(rgb_controller);
} }

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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