mirror of
https://github.com/CalcProgrammer1/OpenRGB.git
synced 2026-04-04 22:24:12 -04:00
Initial commit for Lian Li Universal Screen LED controller
This commit is contained in:
@@ -30,6 +30,8 @@
|
||||
#include "RGBController_LianLiUniHubSLInfinity.h"
|
||||
#include "LianLiGAIITrinityController.h"
|
||||
#include "RGBController_LianLiGAIITrinity.h"
|
||||
#include "LianLiUniversalScreenController.h"
|
||||
#include "RGBController_LianLiUniversalScreen.h"
|
||||
|
||||
/*-----------------------------------------------------*\
|
||||
| USB vendor IDs |
|
||||
@@ -54,6 +56,11 @@
|
||||
#define GAII_USB_PID 0x7373
|
||||
#define GAII_Perf_USB_PID 0x7371
|
||||
|
||||
/*-----------------------------------------------------*\
|
||||
| Screen product IDs |
|
||||
\*-----------------------------------------------------*/
|
||||
#define UNIVERSAL_SCREEN_LED_PID 0x8050
|
||||
|
||||
/*----------------------------------------------------------------------------*\
|
||||
| The Uni Hub is controlled by sending control transfers to various wIndex |
|
||||
| addresses, allthough it announces some kind of hid interface. Hence it |
|
||||
@@ -233,18 +240,42 @@ void DetectLianLiGAIITrinity(hid_device_info* info, const std::string& /*name*/)
|
||||
}
|
||||
}
|
||||
|
||||
void DetectLianLiUniversalScreen()
|
||||
{
|
||||
libusb_init(NULL);
|
||||
|
||||
#ifdef _WIN32
|
||||
libusb_set_option(NULL, LIBUSB_OPTION_USE_USBDK);
|
||||
#endif
|
||||
|
||||
libusb_device_handle * dev = libusb_open_device_with_vid_pid(NULL, NUVOTON_USB_VID, UNIVERSAL_SCREEN_LED_PID);
|
||||
|
||||
if(dev)
|
||||
{
|
||||
libusb_detach_kernel_driver(dev, 0);
|
||||
libusb_claim_interface(dev, 0);
|
||||
|
||||
LianLiUniversalScreenController* controller = new LianLiUniversalScreenController(dev);
|
||||
RGBController_LianLiUniversalScreen* rgb_controller = new RGBController_LianLiUniversalScreen(controller);
|
||||
|
||||
ResourceManager::get()->RegisterRGBController(rgb_controller);
|
||||
}
|
||||
}
|
||||
|
||||
/*---------------------------------------------------------------------------------------------------------*\
|
||||
| Entries for dynamic UDEV rules for libusb devices |
|
||||
| |
|
||||
| DUMMY_DEVICE_DETECTOR("Lian Li Uni Hub", DetectLianLiUniHub, 0x0CF2, 0x7750 ) |
|
||||
| DUMMY_DEVICE_DETECTOR("Lian Li Universal Screen", DetectLianLiUniversalScreen, 0x0416, 0x8050 ) |
|
||||
\*---------------------------------------------------------------------------------------------------------*/
|
||||
REGISTER_DETECTOR("Lian Li Uni Hub", DetectLianLiUniHub);
|
||||
REGISTER_DETECTOR("Lian Li Universal Screen", DetectLianLiUniversalScreen);
|
||||
|
||||
REGISTER_HID_DETECTOR_IPU("Lian Li Uni Hub - AL", DetectLianLiUniHubAL, ENE_USB_VID, UNI_HUB_AL_PID, 0x01, 0xFF72, 0xA1);
|
||||
REGISTER_HID_DETECTOR_IPU("Lian Li Uni Hub - SL V2", DetectLianLiUniHubSLV2, ENE_USB_VID, UNI_HUB_SLV2_PID, 0x01, 0xFF72, 0xA1);
|
||||
REGISTER_HID_DETECTOR_IPU("Lian Li Uni Hub - AL V2", DetectLianLiUniHubSLV2, ENE_USB_VID, UNI_HUB_ALV2_PID, 0x01, 0xFF72, 0xA1);
|
||||
REGISTER_HID_DETECTOR_IPU("Lian Li Uni Hub - SL V2 v0.5", DetectLianLiUniHubSLV2, ENE_USB_VID, UNI_HUB_SLV2_V05_PID, 0x01, 0xFF72, 0xA1);
|
||||
REGISTER_HID_DETECTOR_IPU("Lian Li Uni Hub - SL Infinity", DetectLianLiUniHubSLInfinity, ENE_USB_VID, UNI_HUB_SLINF_PID, 0x01, 0xFF72, 0xA1);
|
||||
/*---------------------------------------------------------------------------------------------------------*\
|
||||
| Entries for dynamic UDEV rules |
|
||||
| |
|
||||
| DUMMY_DEVICE_DETECTOR("Lian Li Uni Hub", DetectLianLiUniHub, 0x0CF2, 0x7750 ) |
|
||||
\*---------------------------------------------------------------------------------------------------------*/
|
||||
|
||||
REGISTER_HID_DETECTOR_IPU("Lian Li Strimer L Connect", DetectLianLiStrimerControllers, ENE_USB_VID, STRIMER_L_CONNECT_PID, 1, 0xFF72, 0xA1);
|
||||
REGISTER_HID_DETECTOR_I("Lian Li GA II Trinity", DetectLianLiGAIITrinity, NUVOTON_USB_VID, GAII_USB_PID, 0x02);
|
||||
REGISTER_HID_DETECTOR_I("Lian Li GA II Trinity Performance", DetectLianLiGAIITrinity, NUVOTON_USB_VID, GAII_Perf_USB_PID, 0x02);
|
||||
|
||||
Reference in New Issue
Block a user