Update NZXT Hue 2 and Kraken detectors

This commit is contained in:
Adam Honse 2020-07-05 12:02:29 -05:00
parent 25f9e2a110
commit f7d6ede033
2 changed files with 36 additions and 23 deletions

View file

@ -60,23 +60,18 @@ void DetectNZXTHue2Controllers(std::vector<RGBController*> &rgb_controllers)
&&(info->product_id == device_list[device_idx].usb_pid))
{
dev = hid_open_path(info->path);
break;
if( dev )
{
NZXTHue2Controller* controller = new NZXTHue2Controller(dev, device_list[device_idx].num_rgb_channels, device_list[device_idx].num_fan_channels);
RGBController_NZXTHue2* rgb_controller = new RGBController_NZXTHue2(controller);
rgb_controller->name = device_list[device_idx].name;
rgb_controllers.push_back(rgb_controller);
}
}
else
{
info = info->next;
}
}
if( dev )
{
NZXTHue2Controller* controller = new NZXTHue2Controller(dev, device_list[device_idx].num_rgb_channels, device_list[device_idx].num_fan_channels);
RGBController_NZXTHue2* rgb_controller = new RGBController_NZXTHue2(controller);
rgb_controller->name = device_list[device_idx].name;
rgb_controllers.push_back(rgb_controller);
}
}
} /* DetectNZXTHue2Controllers() */

View file

@ -17,17 +17,35 @@
void DetectNZXTKrakenControllers(std::vector<RGBController*> &rgb_controllers)
{
hid_device_info* info;
hid_device* dev;
hid_init();
hid_device* dev = hid_open(NZXT_KRAKEN_VID, NZXT_KRAKEN_PID, nullptr);
if( dev )
for(std::size_t device_idx = 0; device_idx < 1; device_idx++)
{
NZXTKrakenController* controller = new NZXTKrakenController(dev);
dev = NULL;
RGBController_NZXTKraken* rgb_controller = new RGBController_NZXTKraken(controller);
info = hid_enumerate(NZXT_KRAKEN_VID, NZXT_KRAKEN_PID);
rgb_controllers.push_back(rgb_controller);
//Look for NZXT Kraken devices
while(info)
{
if((info->vendor_id == NZXT_KRAKEN_VID)
&&(info->product_id == NZXT_KRAKEN_PID))
{
dev = hid_open_path(info->path);
if( dev )
{
NZXTKrakenController* controller = new NZXTKrakenController(dev);
RGBController_NZXTKraken* rgb_controller = new RGBController_NZXTKraken(controller);
rgb_controllers.push_back(rgb_controller);
}
}
info = info->next;
}
}
}