Code cleanup round 6

This commit is contained in:
Adam Honse 2022-01-19 23:08:09 -06:00
parent f11f242ded
commit f1ed2abe53
46 changed files with 2616 additions and 2584 deletions

View file

@ -1,34 +1,36 @@
#include "Detector.h"
#include "HyperXMousematController.h"
#include "RGBController.h"
#include "RGBController_HyperXMousemat.h"
#include <vector>
#include <hidapi/hidapi.h>
/*-----------------------------------------------------*\
| HyperX mousemat vendor IDs |
\*-----------------------------------------------------*/
#define HYPERX_VID 0x0951
#define HYPERX_FURY_ULTRA_PID 0x1705
/******************************************************************************************\
* *
* DetectHyperXMousematControllers *
* *
* Tests the USB address to see if a HyperX Mousemat controller exists there. *
* *
\******************************************************************************************/
void DetectHyperXMousematControllers(hid_device_info* info, const std::string& name)
{
hid_device* dev = hid_open_path(info->path);
if( dev )
{
HyperXMousematController* controller = new HyperXMousematController(dev, info->path);
RGBController_HyperXMousemat* rgb_controller = new RGBController_HyperXMousemat(controller);
rgb_controller->name = name;
ResourceManager::get()->RegisterRGBController(rgb_controller);
}
} /* DetectHyperXMousematControllers() */
REGISTER_HID_DETECTOR_I("HyperX Fury Ultra", DetectHyperXMousematControllers, HYPERX_VID, HYPERX_FURY_ULTRA_PID, 0);
#include "Detector.h"
#include "HyperXMousematController.h"
#include "RGBController.h"
#include "RGBController_HyperXMousemat.h"
#include <vector>
#include <hidapi/hidapi.h>
/*-----------------------------------------------------*\
| HyperX mousemat vendor IDs |
\*-----------------------------------------------------*/
#define HYPERX_VID 0x0951
#define HYPERX_FURY_ULTRA_PID 0x1705
/******************************************************************************************\
* *
* DetectHyperXMousematControllers *
* *
* Tests the USB address to see if a HyperX Mousemat controller exists there. *
* *
\******************************************************************************************/
void DetectHyperXMousematControllers(hid_device_info* info, const std::string& name)
{
hid_device* dev = hid_open_path(info->path);
if(dev)
{
HyperXMousematController* controller = new HyperXMousematController(dev, info->path);
RGBController_HyperXMousemat* rgb_controller = new RGBController_HyperXMousemat(controller);
rgb_controller->name = name;
ResourceManager::get()->RegisterRGBController(rgb_controller);
}
} /* DetectHyperXMousematControllers() */
REGISTER_HID_DETECTOR_I("HyperX Fury Ultra", DetectHyperXMousematControllers, HYPERX_VID, HYPERX_FURY_ULTRA_PID, 0);

View file

@ -11,21 +11,21 @@
using namespace std::chrono_literals;
RGBController_HyperXMousemat::RGBController_HyperXMousemat(HyperXMousematController* hyperx_ptr)
RGBController_HyperXMousemat::RGBController_HyperXMousemat(HyperXMousematController* controller_ptr)
{
hyperx = hyperx_ptr;
controller = controller_ptr;
name = "HyperX Mousemat Device";
vendor = "HyperX";
type = DEVICE_TYPE_MOUSEMAT;
description = "HyperX Mousemat Device";
location = hyperx->GetDeviceLocation();
serial = hyperx->GetSerialString();
location = controller->GetDeviceLocation();
serial = controller->GetSerialString();
mode Direct;
Direct.name = "Direct";
Direct.value = 0xFFFF;
Direct.flags = MODE_FLAG_HAS_PER_LED_COLOR;
Direct.name = "Direct";
Direct.value = 0xFFFF;
Direct.flags = MODE_FLAG_HAS_PER_LED_COLOR;
Direct.color_mode = MODE_COLORS_PER_LED;
modes.push_back(Direct);
@ -47,7 +47,7 @@ RGBController_HyperXMousemat::~RGBController_HyperXMousemat()
keepalive_thread->join();
delete keepalive_thread;
delete hyperx;
delete controller;
}
void RGBController_HyperXMousemat::SetupZones()
@ -104,12 +104,11 @@ void RGBController_HyperXMousemat::DeviceUpdateLEDs()
if(active_mode == 0)
{
hyperx->SendDirect(&colors[0]);
controller->SendDirect(&colors[0]);
}
else
{
}
}
void RGBController_HyperXMousemat::UpdateZoneLEDs(int /*zone*/)

View file

@ -1,40 +1,40 @@
/*-----------------------------------------*\
| RGBController_HyperXMousemat.h |
| |
| Generic RGB Interface for HyperX |
| mousemat |
| |
| Adam Honse (CalcProgrammer1) 10/25/2020 |
\*-----------------------------------------*/
#pragma once
#include <chrono>
#include "RGBController.h"
#include "HyperXMousematController.h"
class RGBController_HyperXMousemat : public RGBController
{
public:
RGBController_HyperXMousemat(HyperXMousematController* hyperx_ptr);
~RGBController_HyperXMousemat();
void SetupZones();
void ResizeZone(int zone, int new_size);
void DeviceUpdateLEDs();
void UpdateZoneLEDs(int zone);
void UpdateSingleLED(int led);
void SetCustomMode();
void DeviceUpdateMode();
void KeepaliveThread();
private:
HyperXMousematController* hyperx;
std::thread* keepalive_thread;
std::atomic<bool> keepalive_thread_run;
std::chrono::time_point<std::chrono::steady_clock> last_update_time;
};
/*-----------------------------------------*\
| RGBController_HyperXMousemat.h |
| |
| Generic RGB Interface for HyperX |
| mousemat |
| |
| Adam Honse (CalcProgrammer1) 10/25/2020 |
\*-----------------------------------------*/
#pragma once
#include <chrono>
#include "RGBController.h"
#include "HyperXMousematController.h"
class RGBController_HyperXMousemat : public RGBController
{
public:
RGBController_HyperXMousemat(HyperXMousematController* controller_ptr);
~RGBController_HyperXMousemat();
void SetupZones();
void ResizeZone(int zone, int new_size);
void DeviceUpdateLEDs();
void UpdateZoneLEDs(int zone);
void UpdateSingleLED(int led);
void SetCustomMode();
void DeviceUpdateMode();
void KeepaliveThread();
private:
HyperXMousematController* controller;
std::thread* keepalive_thread;
std::atomic<bool> keepalive_thread_run;
std::chrono::time_point<std::chrono::steady_clock> last_update_time;
};