mirror of
https://github.com/CalcProgrammer1/OpenRGB.git
synced 2025-12-24 07:47:49 -05:00
Improving targeted detection for the Das 4Q Keyboard to resolve #2633
+ Changing to IPU detector to accurately detect keyboard first time * Avoiding errors by adding new detector callback function
This commit is contained in:
@@ -66,5 +66,28 @@ void DetectDasKeyboardControllers(hid_device_info *info_in, const std::string &n
|
||||
}
|
||||
} /* DetectDasKeyboardControllers() */
|
||||
|
||||
REGISTER_HID_DETECTOR_I("Das Keyboard Q4 RGB", DetectDasKeyboardControllers, DAS_KEYBOARD_VID, DAS_KEYBOARD_Q4_PID, 0);
|
||||
REGISTER_HID_DETECTOR_I("Das Keyboard Q5 RGB", DetectDasKeyboardControllers, DAS_KEYBOARD_VID, DAS_KEYBOARD_Q5_PID, 0);
|
||||
void DetectDas4QKeyboard(hid_device_info *info, const std::string &name)
|
||||
{
|
||||
hid_device *dev = hid_open_path(info->path);
|
||||
|
||||
if(dev)
|
||||
{
|
||||
DasKeyboardController *controller = new DasKeyboardController(dev, info->path);
|
||||
|
||||
if(controller->GetLayoutString() == "NONE")
|
||||
{
|
||||
delete controller;
|
||||
}
|
||||
else
|
||||
{
|
||||
RGBController_DasKeyboard *rgb_controller = new RGBController_DasKeyboard(controller);
|
||||
rgb_controller->SetupZones();
|
||||
rgb_controller->name = name;
|
||||
|
||||
ResourceManager::get()->RegisterRGBController(rgb_controller);
|
||||
}
|
||||
}
|
||||
} /* DetectDas4QKeyboard() */
|
||||
|
||||
REGISTER_HID_DETECTOR_IPU("Das Keyboard Q4 RGB", DetectDas4QKeyboard, DAS_KEYBOARD_VID, DAS_KEYBOARD_Q4_PID, 1, 0x01, 0x80);
|
||||
REGISTER_HID_DETECTOR_I ("Das Keyboard Q5 RGB", DetectDasKeyboardControllers, DAS_KEYBOARD_VID, DAS_KEYBOARD_Q5_PID, 1);
|
||||
|
||||
Reference in New Issue
Block a user