From f7d6ede03393fb87f24415b1d94e1a23a787da9b Mon Sep 17 00:00:00 2001 From: Adam Honse Date: Sun, 5 Jul 2020 12:02:29 -0500 Subject: [PATCH] Update NZXT Hue 2 and Kraken detectors --- .../NZXTHue2ControllerDetect.cpp | 27 +++++++--------- .../NZXTKrakenControllerDetect.cpp | 32 +++++++++++++++---- 2 files changed, 36 insertions(+), 23 deletions(-) diff --git a/Controllers/NZXTHue2Controller/NZXTHue2ControllerDetect.cpp b/Controllers/NZXTHue2Controller/NZXTHue2ControllerDetect.cpp index 50dc2c0a..145118e9 100644 --- a/Controllers/NZXTHue2Controller/NZXTHue2ControllerDetect.cpp +++ b/Controllers/NZXTHue2Controller/NZXTHue2ControllerDetect.cpp @@ -60,23 +60,18 @@ void DetectNZXTHue2Controllers(std::vector &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() */ diff --git a/Controllers/NZXTKrakenController/NZXTKrakenControllerDetect.cpp b/Controllers/NZXTKrakenController/NZXTKrakenControllerDetect.cpp index 5e4e119e..d91a0f2f 100644 --- a/Controllers/NZXTKrakenController/NZXTKrakenControllerDetect.cpp +++ b/Controllers/NZXTKrakenController/NZXTKrakenControllerDetect.cpp @@ -17,17 +17,35 @@ void DetectNZXTKrakenControllers(std::vector &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; + } } - }