Add support for HyperX Pulsefire Dart

Commit amended to address review comments by Adam Honse <calcprogrammer1@gmail.com>
This commit is contained in:
santeri3700 2020-12-26 22:55:41 +02:00 committed by Adam Honse
parent 5b35e64fbe
commit f7a68e6fe2
6 changed files with 350 additions and 3 deletions

View file

@ -1,17 +1,21 @@
#include "Detector.h"
#include "HyperXPulsefireFPSProController.h"
#include "HyperXPulsefireSurgeController.h"
#include "HyperXPulsefireDartController.h"
#include "RGBController.h"
#include "RGBController_HyperXPulsefireFPSPro.h"
#include "RGBController_HyperXPulsefireSurge.h"
#include "RGBController_HyperXPulsefireDart.h"
#include <hidapi/hidapi.h>
/*-----------------------------------------------------*\
| HyperX mouse vendor IDs |
\*-----------------------------------------------------*/
#define HYPERX_VID 0x0951
#define HYPERX_PULSEFIRE_SURGE_PID 0x16D3
#define HYPERX_PULSEFIRE_FPS_PRO_PID 0x16D7
#define HYPERX_VID 0x0951
#define HYPERX_PULSEFIRE_SURGE_PID 0x16D3
#define HYPERX_PULSEFIRE_FPS_PRO_PID 0x16D7
#define HYPERX_PULSEFIRE_DART_WIRELESS_PID 0x16E1
#define HYPERX_PULSEFIRE_DART_WIRED_PID 0x16E2
void DetectHyperXPulsefireSurgeControllers(hid_device_info* info, const std::string& name)
{
@ -37,5 +41,19 @@ void DetectHyperXPulsefireFPSProControllers(hid_device_info* info, const std::st
}
} /* DetectHyperXPulsefireFPSProControllers() */
void DetectHyperXPulsefireDartControllers(hid_device_info* info, const std::string& name)
{
hid_device* dev = hid_open_path(info->path);
if( dev )
{
HyperXPulsefireDartController* controller = new HyperXPulsefireDartController(dev, info->path);
RGBController_HyperXPulsefireDart* rgb_controller = new RGBController_HyperXPulsefireDart(controller);
rgb_controller->name = name;
ResourceManager::get()->RegisterRGBController(rgb_controller);
}
} /* DetectHyperXPulsefireDartControllers() */
REGISTER_HID_DETECTOR_IP("HyperX Pulsefire Surge", DetectHyperXPulsefireSurgeControllers, HYPERX_VID, HYPERX_PULSEFIRE_SURGE_PID, 1, 0xFF01);
REGISTER_HID_DETECTOR_IP("HyperX Pulsefire FPS Pro", DetectHyperXPulsefireFPSProControllers, HYPERX_VID, HYPERX_PULSEFIRE_FPS_PRO_PID, 1, 0xFF01);
REGISTER_HID_DETECTOR_IP("HyperX Pulsefire Dart (Wireless)", DetectHyperXPulsefireDartControllers, HYPERX_VID, HYPERX_PULSEFIRE_DART_WIRELESS_PID, 2, 0xFF00);
REGISTER_HID_DETECTOR_IP("HyperX Pulsefire Dart (Wired)", DetectHyperXPulsefireDartControllers, HYPERX_VID, HYPERX_PULSEFIRE_DART_WIRED_PID, 1, 0xFF00);