Store name in DasKeyboardController to avoid setting it in detector

This commit is contained in:
Adam Honse 2025-08-06 17:13:55 -05:00
parent e6190ec275
commit 718962c188
4 changed files with 41 additions and 80 deletions

View file

@ -35,33 +35,13 @@
* *
\******************************************************************************************/
void DetectDasKeyboardControllers(hid_device_info *info_in, const std::string &name)
void DetectDasKeyboardControllers(hid_device_info *info, const std::string &name)
{
hid_device_info *info = info_in;
while(info)
{
if(info->vendor_id == DAS_KEYBOARD_VID &&
(info->product_id == DAS_KEYBOARD_Q4_PID ||
info->product_id == DAS_KEYBOARD_Q5_PID ||
info->product_id == DAS_KEYBOARD_Q5S_PID) &&
info->interface_number == 1)
{
break;
}
info = info->next;
}
if(!info)
{
return;
}
hid_device *dev = hid_open_path(info->path);
if(dev)
{
DasKeyboardController *controller = new DasKeyboardController(dev, info->path);
DasKeyboardController *controller = new DasKeyboardController(dev, info->path, name);
if(controller->GetLayoutString() == "NONE")
{
@ -70,37 +50,12 @@ void DetectDasKeyboardControllers(hid_device_info *info_in, const std::string &n
else
{
RGBController_DasKeyboard *rgb_controller = new RGBController_DasKeyboard(controller);
rgb_controller->SetupZones();
rgb_controller->name = name;
ResourceManager::get()->RegisterRGBController(rgb_controller);
}
}
} /* DetectDasKeyboardControllers() */
void DetectDas4QKeyboard(hid_device_info *info, const std::string &name)
{
hid_device *dev = hid_open_path(info->path);
if(dev)
{
DasKeyboardController *controller = new DasKeyboardController(dev, info->path);
if(controller->GetLayoutString() == "NONE")
{
delete controller;
}
else
{
RGBController_DasKeyboard *rgb_controller = new RGBController_DasKeyboard(controller);
rgb_controller->SetupZones();
rgb_controller->name = name;
ResourceManager::get()->RegisterRGBController(rgb_controller);
}
}
} /* DetectDas4QKeyboard() */
REGISTER_HID_DETECTOR_IPU("Das Keyboard Q4 RGB", DetectDas4QKeyboard, DAS_KEYBOARD_VID, DAS_KEYBOARD_Q4_PID, 1, 0x01, 0x80);
REGISTER_HID_DETECTOR_IPU("Das Keyboard Q4 RGB", DetectDasKeyboardControllers, DAS_KEYBOARD_VID, DAS_KEYBOARD_Q4_PID, 1, 0x01, 0x80);
REGISTER_HID_DETECTOR_I ("Das Keyboard Q5 RGB", DetectDasKeyboardControllers, DAS_KEYBOARD_VID, DAS_KEYBOARD_Q5_PID, 1);
REGISTER_HID_DETECTOR_I ("Das Keyboard Q5S RGB", DetectDasKeyboardControllers, DAS_KEYBOARD_VID, DAS_KEYBOARD_Q5S_PID, 1);