diff --git a/Mouse.cpp b/Mouse.cpp index 328ddb3..18e1fa7 100644 --- a/Mouse.cpp +++ b/Mouse.cpp @@ -33,8 +33,22 @@ void Mouse::discoverDevices() { libusb_device_descriptor desc; libusb_get_device_descriptor(devs[i], &desc); if (isCompatibleDevice(desc)) { - if(libusb_open(devs[i], ¤tDevice) != 0) - continue; + switch (int status = libusb_open(devs[i], ¤tDevice)) { + case 0: + break; + case LIBUSB_ERROR_NO_MEM: + cout << "LIBUSB_ERROR_NO_MEM" << endl; + continue; + case LIBUSB_ERROR_ACCESS: + cout << "LIBUSB_ERROR_ACCESS" << endl; + continue; + case LIBUSB_ERROR_NO_DEVICE: + cout << "LIBUSB_ERROR_NO_DEVICE" << endl; + continue; + default: + cout << "Status: " << status << endl; + continue; + } if(libusb_kernel_driver_active(currentDevice, 2) == 1) if(libusb_detach_kernel_driver(currentDevice, 2) != 0) { @@ -90,14 +104,26 @@ int Mouse::setBackLightLevel(uint8_t level) { } int Mouse::writeToMouse(uint8_t data[], size_t size) { - int res = libusb_control_transfer(currentDevice,0x21,9, - 0x0307,2,data,size,10000); - if(res < 0){ - cout<<"Unnable to send command"<