Store name in DarkProjectrKeyboardController to avoid setting it in detector
This commit is contained in:
parent
ea206235c5
commit
13e8f70438
4 changed files with 17 additions and 23 deletions
|
|
@ -28,9 +28,9 @@ void DetectDarkProjectKeyboardControllers(hid_device_info* info, const std::stri
|
||||||
|
|
||||||
if(dev)
|
if(dev)
|
||||||
{
|
{
|
||||||
DarkProjectKeyboardController* controller = new DarkProjectKeyboardController(dev, info->path);
|
DarkProjectKeyboardController* controller = new DarkProjectKeyboardController(dev, info->path, name);
|
||||||
RGBController_DarkProjectKeyboard* rgb_controller = new RGBController_DarkProjectKeyboard(controller);
|
RGBController_DarkProjectKeyboard* rgb_controller = new RGBController_DarkProjectKeyboard(controller);
|
||||||
rgb_controller->name = name;
|
|
||||||
ResourceManager::get()->RegisterRGBController(rgb_controller);
|
ResourceManager::get()->RegisterRGBController(rgb_controller);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -45,10 +45,11 @@ static uint8_t packet_map[88] =
|
||||||
/* Missing Indexes 9, 22, 28, 40, 46, 70, 74, 75, 82, 86, 87, 92, 98, 99, 101 */
|
/* Missing Indexes 9, 22, 28, 40, 46, 70, 74, 75, 82, 86, 87, 92, 98, 99, 101 */
|
||||||
};
|
};
|
||||||
|
|
||||||
DarkProjectKeyboardController::DarkProjectKeyboardController(hid_device* dev_handle, const char* path)
|
DarkProjectKeyboardController::DarkProjectKeyboardController(hid_device* dev_handle, const char* path, std::string dev_name)
|
||||||
{
|
{
|
||||||
dev = dev_handle;
|
dev = dev_handle;
|
||||||
location = path;
|
location = path;
|
||||||
|
name = dev_name;
|
||||||
}
|
}
|
||||||
|
|
||||||
DarkProjectKeyboardController::~DarkProjectKeyboardController()
|
DarkProjectKeyboardController::~DarkProjectKeyboardController()
|
||||||
|
|
@ -56,17 +57,14 @@ DarkProjectKeyboardController::~DarkProjectKeyboardController()
|
||||||
hid_close(dev);
|
hid_close(dev);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string DarkProjectKeyboardController::GetDeviceName()
|
std::string DarkProjectKeyboardController::GetLocation()
|
||||||
{
|
{
|
||||||
wchar_t name_string[128];
|
return("HID: " + location);
|
||||||
int ret = hid_get_manufacturer_string(dev, name_string, 128);
|
}
|
||||||
|
|
||||||
if(ret != 0)
|
std::string DarkProjectKeyboardController::GetName()
|
||||||
{
|
{
|
||||||
return("");
|
return(name);
|
||||||
}
|
|
||||||
|
|
||||||
return(StringUtils::wstring_to_string(name_string));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string DarkProjectKeyboardController::GetSerial()
|
std::string DarkProjectKeyboardController::GetSerial()
|
||||||
|
|
@ -82,11 +80,6 @@ std::string DarkProjectKeyboardController::GetSerial()
|
||||||
return(StringUtils::wstring_to_string(serial_string));
|
return(StringUtils::wstring_to_string(serial_string));
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string DarkProjectKeyboardController::GetLocation()
|
|
||||||
{
|
|
||||||
return("HID: " + location);
|
|
||||||
}
|
|
||||||
|
|
||||||
void DarkProjectKeyboardController::SetLedsDirect(std::vector<RGBColor> colors)
|
void DarkProjectKeyboardController::SetLedsDirect(std::vector<RGBColor> colors)
|
||||||
{
|
{
|
||||||
uint8_t RGbuffer[DARKPROJECTKEYBOARD_PACKET_SIZE] = { 0x08, 0x07, 0x00, 0x00, 0x00 };
|
uint8_t RGbuffer[DARKPROJECTKEYBOARD_PACKET_SIZE] = { 0x08, 0x07, 0x00, 0x00, 0x00 };
|
||||||
|
|
|
||||||
|
|
@ -37,15 +37,16 @@ enum
|
||||||
class DarkProjectKeyboardController
|
class DarkProjectKeyboardController
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
DarkProjectKeyboardController(hid_device* dev_handle, const char* path);
|
DarkProjectKeyboardController(hid_device* dev_handle, const char* path, std::string dev_name);
|
||||||
~DarkProjectKeyboardController();
|
~DarkProjectKeyboardController();
|
||||||
|
|
||||||
std::string GetDeviceName();
|
|
||||||
std::string GetSerial();
|
|
||||||
std::string GetLocation();
|
std::string GetLocation();
|
||||||
|
std::string GetName();
|
||||||
|
std::string GetSerial();
|
||||||
|
|
||||||
void SetLedsDirect(std::vector<RGBColor> colors);
|
void SetLedsDirect(std::vector<RGBColor> colors);
|
||||||
private:
|
private:
|
||||||
std::string location;
|
|
||||||
hid_device* dev;
|
hid_device* dev;
|
||||||
|
std::string location;
|
||||||
|
std::string name;
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -134,10 +134,10 @@ RGBController_DarkProjectKeyboard::RGBController_DarkProjectKeyboard(DarkProject
|
||||||
{
|
{
|
||||||
controller = controller_ptr;
|
controller = controller_ptr;
|
||||||
|
|
||||||
name = "Dark Project Keyboard";
|
name = controller->GetName();
|
||||||
vendor = "Dark Project";
|
vendor = "Dark Project";
|
||||||
type = DEVICE_TYPE_KEYBOARD;
|
type = DEVICE_TYPE_KEYBOARD;
|
||||||
description = controller->GetDeviceName();
|
description = "Dark Project Keyboard Device";
|
||||||
serial = controller->GetSerial();
|
serial = controller->GetSerial();
|
||||||
location = controller->GetLocation();
|
location = controller->GetLocation();
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue