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:
Chris
2022-07-28 21:02:26 +10:00
committed by Adam Honse
parent c7881890d0
commit 20286c285d

View File

@@ -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);