Cleanups to QMKKeychronController and create common QMK VIA protocol header

This commit is contained in:
Adam Honse
2026-06-21 21:12:08 -05:00
parent 175f3ed338
commit cce2d41500
5 changed files with 578 additions and 354 deletions

View File

@@ -12,23 +12,18 @@
#include "QMKKeychronController.h"
#include "RGBController_QMKKeychron.h"
/*---------------------------------------------------------*\
| Q1 HE detector |
\*---------------------------------------------------------*/
void DetectQMKKeychronController(hid_device_info* info, const std::string& name)
{
hid_device* dev = hid_open_path(info->path);
if(dev)
{
QMKKeychronController* controller = new QMKKeychronController(dev, *info, name);
QMKKeychronController* controller = new QMKKeychronController(dev, info->path);
RGBController_QMKKeychron* rgb_controller = new RGBController_QMKKeychron(controller);
ResourceManager::get()->RegisterRGBController(rgb_controller);
}
}
/*---------------------------------------------------------*\
| Register HID detectors |
\*---------------------------------------------------------*/
REGISTER_HID_DETECTOR_IPU("Keychron Q1 HE", DetectQMKKeychronController, KEYCHRON_VID, KEYCHRON_Q1_HE_PID, 1, KEYCHRON_QMK_USAGE_PAGE, KEYCHRON_QMK_USAGE);
REGISTER_HID_DETECTOR_IPU("Keychron Q2", DetectQMKKeychronController, KEYCHRON_VID, KEYCHRON_Q2_PID, 1, KEYCHRON_QMK_USAGE_PAGE, KEYCHRON_QMK_USAGE);