Logitech G810 Orion Spectrum driver, does not include direct mode yet

This commit is contained in:
Adam Honse
2020-06-12 15:23:22 -05:00
parent cb94b4fe28
commit 8ae07ea9e2
6 changed files with 369 additions and 19 deletions

View File

@@ -1,19 +1,24 @@
#include "LogitechG203Controller.h"
#include "LogitechG403Controller.h"
#include "LogitechG810Controller.h"
#include "RGBController.h"
#include "RGBController_LogitechG203.h"
#include "RGBController_LogitechG403.h"
#include "RGBController_LogitechG810.h"
#include <vector>
#include <hidapi/hidapi.h>
/*-----------------------------------------------------*\
| Logitech vendor ID |
\*-----------------------------------------------------*/
#define LOGITECH_VID 0x046D
/*-----------------------------------------------------*\
| Keyboard product IDs |
\*-----------------------------------------------------*/
#define LOGITECH_G810_PID 0xC337
/*-----------------------------------------------------*\
| Mouse product IDs |
\*-----------------------------------------------------*/
#define LOGITECH_MOUSE_VID 0x046D
#define LOGITECH_G203_PID 0xC084
#define LOGITECH_G403_PID 0xC083
@@ -30,17 +35,18 @@ typedef struct
static const logitech_device device_list[] =
{
/*-----------------------------------------------------------------------------------------------------*\
| Keyboards |
\*-----------------------------------------------------------------------------------------------------*/
/*-----------------------------------------------------------------------------------------------------*\
| Mice |
\*-----------------------------------------------------------------------------------------------------*/
{ LOGITECH_MOUSE_VID, LOGITECH_G203_PID, 1, DEVICE_TYPE_MOUSE, "Logitech G203 Prodigy" },
{ LOGITECH_MOUSE_VID, LOGITECH_G403_PID, 1, DEVICE_TYPE_MOUSE, "Logitech G403 Prodigy" },
/*-----------------------------------------------------------------------------------------------------*\
| Mousemats |
\*-----------------------------------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------------------------------------*\
| Keyboards |
\*---------------------------------------------------------------------------------------------------------*/
{ LOGITECH_VID, LOGITECH_G810_PID, 1, DEVICE_TYPE_KEYBOARD, "Logitech G810 Orion Spectrum" },
/*---------------------------------------------------------------------------------------------------------*\
| Mice |
\*---------------------------------------------------------------------------------------------------------*/
{ LOGITECH_VID, LOGITECH_G203_PID, 1, DEVICE_TYPE_MOUSE, "Logitech G203 Prodigy" },
{ LOGITECH_VID, LOGITECH_G403_PID, 1, DEVICE_TYPE_MOUSE, "Logitech G403 Prodigy" },
/*---------------------------------------------------------------------------------------------------------*\
| Mousemats |
\*---------------------------------------------------------------------------------------------------------*/
};
/******************************************************************************************\
@@ -85,14 +91,14 @@ void DetectLogitechControllers(std::vector<RGBController*>& rgb_controllers)
switch(device_list[device_idx].type)
{
case DEVICE_TYPE_KEYBOARD:
// {
// RedragonK556Controller* controller = new RedragonK556Controller(dev);
{
LogitechG810Controller* controller = new LogitechG810Controller(dev);
// RGBController_RedragonK556* rgb_controller = new RGBController_RedragonK556(controller);
RGBController_LogitechG810* rgb_controller = new RGBController_LogitechG810(controller);
// rgb_controller->name = device_list[device_idx].name;
// rgb_controllers.push_back(rgb_controller);
// }
rgb_controller->name = device_list[device_idx].name;
rgb_controllers.push_back(rgb_controller);
}
break;
case DEVICE_TYPE_MOUSE: