diff --git a/Controllers/NZXTKrakenController/NZXTKrakenController.cpp b/Controllers/NZXTKrakenController/NZXTKrakenController.cpp index b86dfde2..3fe344d1 100644 --- a/Controllers/NZXTKrakenController/NZXTKrakenController.cpp +++ b/Controllers/NZXTKrakenController/NZXTKrakenController.cpp @@ -10,9 +10,6 @@ #include #include -const int NZXT_KRAKEN_READ_ENDPOINT = 0x81; -const int NZXT_KRAKEN_WRITE_ENDPOINT = 0x01; - static void SetColor(const std::vector& colors, unsigned char* color_data) { for (std::size_t idx = 0; idx < colors.size(); idx++) @@ -30,7 +27,7 @@ static RGBColor ToLogoColor(RGBColor rgb) return ToRGBColor(RGBGetGValue(rgb), RGBGetRValue(rgb), RGBGetBValue(rgb)); } -NZXTKrakenController::NZXTKrakenController(libusb_device_handle* dev_handle) +NZXTKrakenController::NZXTKrakenController(hid_device* dev_handle) { dev = dev_handle; @@ -42,7 +39,7 @@ NZXTKrakenController::NZXTKrakenController(libusb_device_handle* dev_handle) NZXTKrakenController::~NZXTKrakenController() { - + hid_close(dev); } std::string NZXTKrakenController::GetFirmwareVersion() @@ -52,11 +49,10 @@ std::string NZXTKrakenController::GetFirmwareVersion() void NZXTKrakenController::UpdateStatus() { - int actual; unsigned char usb_buf[64]; memset(usb_buf, 0, sizeof(usb_buf)); - libusb_interrupt_transfer(dev, NZXT_KRAKEN_READ_ENDPOINT, usb_buf, sizeof(usb_buf), &actual, 0); + hid_read(dev, usb_buf, sizeof(usb_buf)); /*-----------------------------------------------------*\ | Extract cooler information | @@ -110,7 +106,6 @@ void NZXTKrakenController::SendEffect int size /* = 0 */ ) { - int actual; unsigned char usb_buf[65]; /*-----------------------------------------------------*\ @@ -154,13 +149,5 @@ void NZXTKrakenController::SendEffect /*-----------------------------------------------------*\ | Send effect | \*-----------------------------------------------------*/ - libusb_interrupt_transfer - ( - dev, - NZXT_KRAKEN_WRITE_ENDPOINT, - usb_buf, - sizeof(usb_buf), - &actual, - 0 - ); + hid_write(dev, usb_buf, sizeof(usb_buf)); } diff --git a/Controllers/NZXTKrakenController/NZXTKrakenController.h b/Controllers/NZXTKrakenController/NZXTKrakenController.h index f7d6e42f..e98ef8a6 100644 --- a/Controllers/NZXTKrakenController/NZXTKrakenController.h +++ b/Controllers/NZXTKrakenController/NZXTKrakenController.h @@ -9,7 +9,7 @@ #include "RGBController.h" #include #include -#include +#include enum NZXTKrakenChannel_t { @@ -46,7 +46,7 @@ enum class NZXTKrakenController { public: - NZXTKrakenController(libusb_device_handle* dev_handle); + NZXTKrakenController(hid_device* dev_handle); ~NZXTKrakenController(); std::string GetFirmwareVersion(); @@ -76,7 +76,7 @@ private: int size = 0 ); - libusb_device_handle* dev; + hid_device* dev; // -- status std::string firmware_version; diff --git a/Controllers/NZXTKrakenController/NZXTKrakenControllerDetect.cpp b/Controllers/NZXTKrakenController/NZXTKrakenControllerDetect.cpp index febcba0d..5e4e119e 100644 --- a/Controllers/NZXTKrakenController/NZXTKrakenControllerDetect.cpp +++ b/Controllers/NZXTKrakenController/NZXTKrakenControllerDetect.cpp @@ -2,7 +2,7 @@ #include "RGBController.h" #include "RGBController_NZXTKraken.h" #include -#include +#include #define NZXT_KRAKEN_VID 0x1E71 #define NZXT_KRAKEN_PID 0x170E @@ -17,16 +17,12 @@ void DetectNZXTKrakenControllers(std::vector &rgb_controllers) { - libusb_context * ctx; - libusb_init(&ctx); + hid_init(); - libusb_device_handle * dev = libusb_open_device_with_vid_pid(ctx, NZXT_KRAKEN_VID, NZXT_KRAKEN_PID); + hid_device* dev = hid_open(NZXT_KRAKEN_VID, NZXT_KRAKEN_PID, nullptr); if( dev ) { - libusb_detach_kernel_driver(dev, 0); - libusb_claim_interface(dev, 0); - NZXTKrakenController* controller = new NZXTKrakenController(dev); RGBController_NZXTKraken* rgb_controller = new RGBController_NZXTKraken(controller);