Added VialRGB dynamic detector.

master
Egor Vorontsov 6 months ago committed by Adam Honse
parent a3c77d20a0
commit 7886dc4c14

@ -14,6 +14,7 @@
#include "Detector.h"
#include "QMKVialRGBController.h"
#include "RGBController_QMKVialRGB.h"
#include "SettingsManager.h"
/*-----------------------------------------------------*\
| USB IDs |
@ -47,4 +48,37 @@ void DetectQMKVialRGBControllers(hid_device_info *info, const std::string&)
}
}
void RegisterQMKVialRGBDetectors()
{
/*-------------------------------------------------*\
| Get QMKVialRGB settings |
\*-------------------------------------------------*/
json vial_settings = ResourceManager::get()->GetSettingsManager()->GetSettings("QMKVialRGBDevices");
if(vial_settings.contains("devices"))
{
for(unsigned int device_idx = 0; device_idx < vial_settings["devices"].size(); device_idx++)
{
if( vial_settings["devices"][device_idx].contains("usb_pid")
&& vial_settings["devices"][device_idx].contains("usb_vid")
&& vial_settings["devices"][device_idx].contains("name"))
{
std::string usb_pid_str = vial_settings["devices"][device_idx]["usb_pid"];
std::string usb_vid_str = vial_settings["devices"][device_idx]["usb_vid"];
std::string name = vial_settings["devices"][device_idx]["name"];
/*-------------------------------------*\
| Parse hex string to integer |
\*-------------------------------------*/
unsigned short usb_pid = std::stoi(usb_pid_str, 0, 16);
unsigned short usb_vid = std::stoi(usb_vid_str, 0, 16);
REGISTER_DYNAMIC_HID_DETECTOR_PU(name, DetectQMKVialRGBControllers, usb_vid, usb_pid, QMK_USAGE_PAGE, QMK_USAGE);
}
}
}
}
REGISTER_DYNAMIC_DETECTOR("QMK VialRGB Devices", RegisterQMKVialRGBDetectors);
REGISTER_HID_DETECTOR_PU( "Raspberry Pi 500+", DetectQMKVialRGBControllers, RASPBERRY_PI_VID, RASPBERRY_PI_500_PLUS_PID, QMK_USAGE_PAGE, QMK_USAGE );

Loading…
Cancel
Save