Updated UDEV rules script
* Improved device processing * Updated shebang to improve compatibility * Converted SteelSeriesControllerDetect to UNIX line endings * Corrected hex literals in Artic and SteelSeries detection
This commit is contained in:
parent
f9c17c75c5
commit
3cf1f58f30
3 changed files with 369 additions and 368 deletions
|
|
@ -47,5 +47,5 @@ REGISTER_DETECTOR("Arctic RGB controller", DetectArcticControllers);
|
||||||
/*---------------------------------------------------------------------------------------------------------*\
|
/*---------------------------------------------------------------------------------------------------------*\
|
||||||
| Entries for dynamic UDEV rules |
|
| Entries for dynamic UDEV rules |
|
||||||
| |
|
| |
|
||||||
| DUMMY_DEVICE_DETECTOR("Arctic RGB controller", DetectArcticControllers, 0x1a86, 0x7523 ) |
|
| DUMMY_DEVICE_DETECTOR("Arctic RGB controller", DetectArcticControllers, 0x1A86, 0x7523 ) |
|
||||||
\*---------------------------------------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------------------------------------*/
|
||||||
|
|
|
||||||
|
|
@ -1,360 +1,360 @@
|
||||||
#include <hidapi/hidapi.h>
|
#include <hidapi/hidapi.h>
|
||||||
#include "Detector.h"
|
#include "Detector.h"
|
||||||
#include "RGBController.h"
|
#include "RGBController.h"
|
||||||
#include "SteelSeriesGeneric.h"
|
#include "SteelSeriesGeneric.h"
|
||||||
|
|
||||||
#include "SteelSeriesAerox9Controller.h"
|
#include "SteelSeriesAerox9Controller.h"
|
||||||
#include "SteelSeriesArctis5Controller.h"
|
#include "SteelSeriesArctis5Controller.h"
|
||||||
#include "SteelSeriesApex8ZoneController.h"
|
#include "SteelSeriesApex8ZoneController.h"
|
||||||
#include "SteelSeriesApexController.h"
|
#include "SteelSeriesApexController.h"
|
||||||
#include "SteelSeriesApexMController.h"
|
#include "SteelSeriesApexMController.h"
|
||||||
#include "SteelSeriesApexTZoneController.h"
|
#include "SteelSeriesApexTZoneController.h"
|
||||||
#include "SteelSeriesOldApexController.h"
|
#include "SteelSeriesOldApexController.h"
|
||||||
#include "SteelSeriesQCKMatController.h"
|
#include "SteelSeriesQCKMatController.h"
|
||||||
#include "SteelSeriesRivalController.h"
|
#include "SteelSeriesRivalController.h"
|
||||||
#include "SteelSeriesRival3Controller.h"
|
#include "SteelSeriesRival3Controller.h"
|
||||||
#include "SteelSeriesSenseiController.h"
|
#include "SteelSeriesSenseiController.h"
|
||||||
#include "SteelSeriesSiberiaController.h"
|
#include "SteelSeriesSiberiaController.h"
|
||||||
|
|
||||||
#include "RGBController_SteelSeriesArctis5.h"
|
#include "RGBController_SteelSeriesArctis5.h"
|
||||||
#include "RGBController_SteelSeriesApex.h"
|
#include "RGBController_SteelSeriesApex.h"
|
||||||
#include "RGBController_SteelSeriesApex3.h"
|
#include "RGBController_SteelSeriesApex3.h"
|
||||||
#include "RGBController_SteelSeriesOldApex.h"
|
#include "RGBController_SteelSeriesOldApex.h"
|
||||||
#include "RGBController_SteelSeriesQCKMat.h"
|
#include "RGBController_SteelSeriesQCKMat.h"
|
||||||
#include "RGBController_SteelSeriesRival.h"
|
#include "RGBController_SteelSeriesRival.h"
|
||||||
#include "RGBController_SteelSeriesRival3.h"
|
#include "RGBController_SteelSeriesRival3.h"
|
||||||
#include "RGBController_SteelSeriesSensei.h"
|
#include "RGBController_SteelSeriesSensei.h"
|
||||||
#include "RGBController_SteelSeriesSiberia.h"
|
#include "RGBController_SteelSeriesSiberia.h"
|
||||||
|
|
||||||
/*-----------------------------------------------------*\
|
/*-----------------------------------------------------*\
|
||||||
| Vendor ID |
|
| Vendor ID |
|
||||||
\*-----------------------------------------------------*/
|
\*-----------------------------------------------------*/
|
||||||
#define STEELSERIES_VID 0x1038
|
#define STEELSERIES_VID 0x1038
|
||||||
/*-----------------------------------------------------*\
|
/*-----------------------------------------------------*\
|
||||||
| Mouse product IDs |
|
| Mouse product IDs |
|
||||||
\*-----------------------------------------------------*/
|
\*-----------------------------------------------------*/
|
||||||
#define STEELSERIES_AEROX_3_PID 0x1836
|
#define STEELSERIES_AEROX_3_PID 0x1836
|
||||||
#define STEELSERIES_AEROX_9_PID 0x185A
|
#define STEELSERIES_AEROX_9_PID 0x185A
|
||||||
#define STEELSERIES_RIVAL_100_PID 0x1702
|
#define STEELSERIES_RIVAL_100_PID 0x1702
|
||||||
#define STEELSERIES_RIVAL_100_DOTA_PID 0x170c
|
#define STEELSERIES_RIVAL_100_DOTA_PID 0x170C
|
||||||
#define STEELSERIES_RIVAL_105_PID 0x1814
|
#define STEELSERIES_RIVAL_105_PID 0x1814
|
||||||
#define STEELSERIES_RIVAL_106_PID 0x1816
|
#define STEELSERIES_RIVAL_106_PID 0x1816
|
||||||
#define STEELSERIES_RIVAL_110_PID 0x1729
|
#define STEELSERIES_RIVAL_110_PID 0x1729
|
||||||
#define STEELSERIES_RIVAL_300_PID 0x1710
|
#define STEELSERIES_RIVAL_300_PID 0x1710
|
||||||
#define ACER_PREDATOR_RIVAL_300_PID 0x1714
|
#define ACER_PREDATOR_RIVAL_300_PID 0x1714
|
||||||
#define STEELSERIES_RIVAL_300_CSGO_PID 0x1394
|
#define STEELSERIES_RIVAL_300_CSGO_PID 0x1394
|
||||||
#define STEELSERIES_RIVAL_300_CSGO_STM32_PID 0x1716
|
#define STEELSERIES_RIVAL_300_CSGO_STM32_PID 0x1716
|
||||||
#define STEELSERIES_RIVAL_300_CSGO_HYPERBEAST_PID 0x171a
|
#define STEELSERIES_RIVAL_300_CSGO_HYPERBEAST_PID 0x171A
|
||||||
#define STEELSERIES_RIVAL_300_DOTA_PID 0x1392
|
#define STEELSERIES_RIVAL_300_DOTA_PID 0x1392
|
||||||
#define STEELSERIES_RIVAL_300_HP_PID 0x1718
|
#define STEELSERIES_RIVAL_300_HP_PID 0x1718
|
||||||
#define STEELSERIES_RIVAL_300_BLACKOPS_PID 0x1710
|
#define STEELSERIES_RIVAL_300_BLACKOPS_PID 0x1710
|
||||||
#define STEELSERIES_RIVAL_310_PID 0x1720
|
#define STEELSERIES_RIVAL_310_PID 0x1720
|
||||||
#define STEELSERIES_RIVAL_310_CSGO_HOWL_PID 0x171e
|
#define STEELSERIES_RIVAL_310_CSGO_HOWL_PID 0x171E
|
||||||
#define STEELSERIES_RIVAL_310_PUBG_PID 0x1736
|
#define STEELSERIES_RIVAL_310_PUBG_PID 0x1736
|
||||||
#define STEELSERIES_RIVAL_600_PID 0x1724
|
#define STEELSERIES_RIVAL_600_PID 0x1724
|
||||||
#define STEELSERIES_RIVAL_600_DOTA_2_PID 0x172E
|
#define STEELSERIES_RIVAL_600_DOTA_2_PID 0x172E
|
||||||
#define STEELSERIES_RIVAL_650_PID 0x172B
|
#define STEELSERIES_RIVAL_650_PID 0x172B
|
||||||
#define STEELSERIES_RIVAL_650_WIRELESS_PID 0x1726
|
#define STEELSERIES_RIVAL_650_WIRELESS_PID 0x1726
|
||||||
#define STEELSERIES_RIVAL_700_PID 0x1700
|
#define STEELSERIES_RIVAL_700_PID 0x1700
|
||||||
#define STEELSERIES_RIVAL_710_PID 0x1730
|
#define STEELSERIES_RIVAL_710_PID 0x1730
|
||||||
#define STEELSERIES_RIVAL_3_OLD_PID 0x1824
|
#define STEELSERIES_RIVAL_3_OLD_PID 0x1824
|
||||||
#define STEELSERIES_RIVAL_3_PID 0x184C
|
#define STEELSERIES_RIVAL_3_PID 0x184C
|
||||||
#define STEELSERIES_SENSEI_TEN_PID 0x1832
|
#define STEELSERIES_SENSEI_TEN_PID 0x1832
|
||||||
#define STEELSERIES_SENSEI_TEN_CSGO_NEON_RIDER_PID 0x1834
|
#define STEELSERIES_SENSEI_TEN_CSGO_NEON_RIDER_PID 0x1834
|
||||||
#define STEELSERIES_SENSEI_310_PID 0x1722
|
#define STEELSERIES_SENSEI_310_PID 0x1722
|
||||||
/*-----------------------------------------------------*\
|
/*-----------------------------------------------------*\
|
||||||
| Headset product IDs |
|
| Headset product IDs |
|
||||||
\*-----------------------------------------------------*/
|
\*-----------------------------------------------------*/
|
||||||
#define STEELSERIES_SIBERIA_350_PID 0x1229
|
#define STEELSERIES_SIBERIA_350_PID 0x1229
|
||||||
#define STEELSERIES_ARCTIS_5_PID 0x12AA
|
#define STEELSERIES_ARCTIS_5_PID 0x12AA
|
||||||
/*--------------------------------------------------------------*\
|
/*--------------------------------------------------------------*\
|
||||||
| Mousemat product IDs |
|
| Mousemat product IDs |
|
||||||
\*--------------------------------------------------------------*/
|
\*--------------------------------------------------------------*/
|
||||||
#define STEELSERIES_QCK_PRISM_CLOTH_MED_PID 0x150A
|
#define STEELSERIES_QCK_PRISM_CLOTH_MED_PID 0x150A
|
||||||
#define STEELSERIES_QCK_PRISM_CLOTH_XL_PID 0x150D
|
#define STEELSERIES_QCK_PRISM_CLOTH_XL_PID 0x150D
|
||||||
#define STEELSERIES_QCK_PRISM_CLOTH_XL_DESTINY_PID 0x151E
|
#define STEELSERIES_QCK_PRISM_CLOTH_XL_DESTINY_PID 0x151E
|
||||||
#define STEELSERIES_QCK_PRISM_CLOTH_XL_CSGO_NEON_RIDER_PID 0x1514
|
#define STEELSERIES_QCK_PRISM_CLOTH_XL_CSGO_NEON_RIDER_PID 0x1514
|
||||||
#define STEELSERIES_QCK_PRISM_CLOTH_XL_CSGO_NEO_NOIR_PID 0x151C
|
#define STEELSERIES_QCK_PRISM_CLOTH_XL_CSGO_NEO_NOIR_PID 0x151C
|
||||||
#define STEELSERIES_QCK_PRISM_CLOTH_3XL_PID 0x1516
|
#define STEELSERIES_QCK_PRISM_CLOTH_3XL_PID 0x1516
|
||||||
#define STEELSERIES_QCK_PRISM_CLOTH_4XL_PID 0x1518
|
#define STEELSERIES_QCK_PRISM_CLOTH_4XL_PID 0x1518
|
||||||
/*-----------------------------------------------------*\
|
/*-----------------------------------------------------*\
|
||||||
| Keyboard product IDs |
|
| Keyboard product IDs |
|
||||||
\*-----------------------------------------------------*/
|
\*-----------------------------------------------------*/
|
||||||
#define STEELSERIES_APEX_3_PID 0x161A
|
#define STEELSERIES_APEX_3_PID 0x161A
|
||||||
#define STEELSERIES_APEX_3_TKL_PID 0x1622
|
#define STEELSERIES_APEX_3_TKL_PID 0x1622
|
||||||
#define STEELSERIES_APEX_5_PID 0x161C
|
#define STEELSERIES_APEX_5_PID 0x161C
|
||||||
#define STEELSERIES_APEX_7_PID 0x1612
|
#define STEELSERIES_APEX_7_PID 0x1612
|
||||||
#define STEELSERIES_APEX_7_TKL_PID 0x1618
|
#define STEELSERIES_APEX_7_TKL_PID 0x1618
|
||||||
#define STEELSERIES_APEX_PRO_PID 0x1610
|
#define STEELSERIES_APEX_PRO_PID 0x1610
|
||||||
#define STEELSERIES_APEX_PRO_TKL_PID 0x1614
|
#define STEELSERIES_APEX_PRO_TKL_PID 0x1614
|
||||||
#define STEELSERIES_APEX_M750_PID 0x0616
|
#define STEELSERIES_APEX_M750_PID 0x0616
|
||||||
#define STEELSERIES_APEX_OG_PID 0x1202
|
#define STEELSERIES_APEX_OG_PID 0x1202
|
||||||
#define STEELSERIES_APEX_350_PID 0x1206
|
#define STEELSERIES_APEX_350_PID 0x1206
|
||||||
|
|
||||||
void DetectSteelSeriesAerox3(hid_device_info* info, const std::string& name)
|
void DetectSteelSeriesAerox3(hid_device_info* info, const std::string& name)
|
||||||
{
|
{
|
||||||
hid_device* dev = hid_open_path(info->path);
|
hid_device* dev = hid_open_path(info->path);
|
||||||
if(dev)
|
if(dev)
|
||||||
{
|
{
|
||||||
SteelSeriesAerox3Controller* controller = new SteelSeriesAerox3Controller(dev, AEROX_3, info->path);
|
SteelSeriesAerox3Controller* controller = new SteelSeriesAerox3Controller(dev, AEROX_3, info->path);
|
||||||
RGBController_SteelSeriesRival3* rgb_controller = new RGBController_SteelSeriesRival3(controller);
|
RGBController_SteelSeriesRival3* rgb_controller = new RGBController_SteelSeriesRival3(controller);
|
||||||
rgb_controller->name = name;
|
rgb_controller->name = name;
|
||||||
ResourceManager::get()->RegisterRGBController(rgb_controller);
|
ResourceManager::get()->RegisterRGBController(rgb_controller);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void DetectSteelSeriesAerox9(hid_device_info* info, const std::string& name)
|
void DetectSteelSeriesAerox9(hid_device_info* info, const std::string& name)
|
||||||
{
|
{
|
||||||
hid_device* dev = hid_open_path(info->path);
|
hid_device* dev = hid_open_path(info->path);
|
||||||
if(dev)
|
if(dev)
|
||||||
{
|
{
|
||||||
SteelSeriesAerox9Controller* controller = new SteelSeriesAerox9Controller(dev, AEROX_3, info->path);
|
SteelSeriesAerox9Controller* controller = new SteelSeriesAerox9Controller(dev, AEROX_3, info->path);
|
||||||
RGBController_SteelSeriesRival3* rgb_controller = new RGBController_SteelSeriesRival3(controller);
|
RGBController_SteelSeriesRival3* rgb_controller = new RGBController_SteelSeriesRival3(controller);
|
||||||
rgb_controller->name = name;
|
rgb_controller->name = name;
|
||||||
ResourceManager::get()->RegisterRGBController(rgb_controller);
|
ResourceManager::get()->RegisterRGBController(rgb_controller);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void DetectSteelSeriesApex3Full(hid_device_info* info, const std::string& name)
|
void DetectSteelSeriesApex3Full(hid_device_info* info, const std::string& name)
|
||||||
{
|
{
|
||||||
hid_device* dev = hid_open_path(info->path);
|
hid_device* dev = hid_open_path(info->path);
|
||||||
if(dev)
|
if(dev)
|
||||||
{
|
{
|
||||||
SteelSeriesApexTZoneController* controller = new SteelSeriesApexTZoneController(dev, info->path);
|
SteelSeriesApexTZoneController* controller = new SteelSeriesApexTZoneController(dev, info->path);
|
||||||
RGBController_SteelSeriesApex3* rgb_controller = new RGBController_SteelSeriesApex3(controller);
|
RGBController_SteelSeriesApex3* rgb_controller = new RGBController_SteelSeriesApex3(controller);
|
||||||
rgb_controller->name = name;
|
rgb_controller->name = name;
|
||||||
ResourceManager::get()->RegisterRGBController(rgb_controller);
|
ResourceManager::get()->RegisterRGBController(rgb_controller);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void DetectSteelSeriesApex3TKL(hid_device_info* info, const std::string& name)
|
void DetectSteelSeriesApex3TKL(hid_device_info* info, const std::string& name)
|
||||||
{
|
{
|
||||||
hid_device* dev = hid_open_path(info->path);
|
hid_device* dev = hid_open_path(info->path);
|
||||||
if(dev)
|
if(dev)
|
||||||
{
|
{
|
||||||
SteelSeriesApex8ZoneController* controller = new SteelSeriesApex8ZoneController(dev, info->path);
|
SteelSeriesApex8ZoneController* controller = new SteelSeriesApex8ZoneController(dev, info->path);
|
||||||
RGBController_SteelSeriesApex3* rgb_controller = new RGBController_SteelSeriesApex3(controller);
|
RGBController_SteelSeriesApex3* rgb_controller = new RGBController_SteelSeriesApex3(controller);
|
||||||
rgb_controller->name = name;
|
rgb_controller->name = name;
|
||||||
ResourceManager::get()->RegisterRGBController(rgb_controller);
|
ResourceManager::get()->RegisterRGBController(rgb_controller);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void DetectSteelSeriesApex(hid_device_info* info, const std::string& name)
|
void DetectSteelSeriesApex(hid_device_info* info, const std::string& name)
|
||||||
{
|
{
|
||||||
hid_device* dev = hid_open_path(info->path);
|
hid_device* dev = hid_open_path(info->path);
|
||||||
if(dev)
|
if(dev)
|
||||||
{
|
{
|
||||||
SteelSeriesApexController* controller = new SteelSeriesApexController(dev, APEX, info->path);
|
SteelSeriesApexController* controller = new SteelSeriesApexController(dev, APEX, info->path);
|
||||||
RGBController_SteelSeriesApex* rgb_controller = new RGBController_SteelSeriesApex(controller);
|
RGBController_SteelSeriesApex* rgb_controller = new RGBController_SteelSeriesApex(controller);
|
||||||
rgb_controller->name = name;
|
rgb_controller->name = name;
|
||||||
ResourceManager::get()->RegisterRGBController(rgb_controller);
|
ResourceManager::get()->RegisterRGBController(rgb_controller);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void DetectSteelSeriesApexM(hid_device_info* info, const std::string& name)
|
void DetectSteelSeriesApexM(hid_device_info* info, const std::string& name)
|
||||||
{
|
{
|
||||||
hid_device* dev = hid_open_path(info->path);
|
hid_device* dev = hid_open_path(info->path);
|
||||||
if(dev)
|
if(dev)
|
||||||
{
|
{
|
||||||
SteelSeriesApexMController* controller = new SteelSeriesApexMController(dev, APEX_M, info->path);
|
SteelSeriesApexMController* controller = new SteelSeriesApexMController(dev, APEX_M, info->path);
|
||||||
RGBController_SteelSeriesApex* rgb_controller = new RGBController_SteelSeriesApex(controller);
|
RGBController_SteelSeriesApex* rgb_controller = new RGBController_SteelSeriesApex(controller);
|
||||||
rgb_controller->name = name;
|
rgb_controller->name = name;
|
||||||
ResourceManager::get()->RegisterRGBController(rgb_controller);
|
ResourceManager::get()->RegisterRGBController(rgb_controller);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void DetectSteelSeriesApexOld(hid_device_info* info, const std::string& name)
|
void DetectSteelSeriesApexOld(hid_device_info* info, const std::string& name)
|
||||||
{
|
{
|
||||||
hid_device* dev = hid_open_path(info->path);
|
hid_device* dev = hid_open_path(info->path);
|
||||||
if(dev)
|
if(dev)
|
||||||
{
|
{
|
||||||
SteelSeriesOldApexController* controller = new SteelSeriesOldApexController(dev, APEX_OLD, info->path);
|
SteelSeriesOldApexController* controller = new SteelSeriesOldApexController(dev, APEX_OLD, info->path);
|
||||||
RGBController_SteelSeriesOldApex* rgb_controller = new RGBController_SteelSeriesOldApex(controller);
|
RGBController_SteelSeriesOldApex* rgb_controller = new RGBController_SteelSeriesOldApex(controller);
|
||||||
rgb_controller->name = name;
|
rgb_controller->name = name;
|
||||||
ResourceManager::get()->RegisterRGBController(rgb_controller);
|
ResourceManager::get()->RegisterRGBController(rgb_controller);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void DetectSteelSeriesHeadset(hid_device_info* info, const std::string& name)
|
void DetectSteelSeriesHeadset(hid_device_info* info, const std::string& name)
|
||||||
{
|
{
|
||||||
hid_device* dev = hid_open_path(info->path);
|
hid_device* dev = hid_open_path(info->path);
|
||||||
if(dev)
|
if(dev)
|
||||||
{
|
{
|
||||||
SteelSeriesSiberiaController* controller = new SteelSeriesSiberiaController(dev, info->path);
|
SteelSeriesSiberiaController* controller = new SteelSeriesSiberiaController(dev, info->path);
|
||||||
RGBController_SteelSeriesSiberia* rgb_controller = new RGBController_SteelSeriesSiberia(controller);
|
RGBController_SteelSeriesSiberia* rgb_controller = new RGBController_SteelSeriesSiberia(controller);
|
||||||
rgb_controller->name = name;
|
rgb_controller->name = name;
|
||||||
ResourceManager::get()->RegisterRGBController(rgb_controller);
|
ResourceManager::get()->RegisterRGBController(rgb_controller);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void DetectSteelSeriesMousemat(hid_device_info* info, const std::string& name)
|
void DetectSteelSeriesMousemat(hid_device_info* info, const std::string& name)
|
||||||
{
|
{
|
||||||
hid_device* dev = hid_open_path(info->path);
|
hid_device* dev = hid_open_path(info->path);
|
||||||
if(dev)
|
if(dev)
|
||||||
{
|
{
|
||||||
SteelSeriesQCKMatController* controller = new SteelSeriesQCKMatController(dev, info->path);
|
SteelSeriesQCKMatController* controller = new SteelSeriesQCKMatController(dev, info->path);
|
||||||
RGBController_SteelSeriesQCKMat* rgb_controller = new RGBController_SteelSeriesQCKMat(controller);
|
RGBController_SteelSeriesQCKMat* rgb_controller = new RGBController_SteelSeriesQCKMat(controller);
|
||||||
rgb_controller->name = name;
|
rgb_controller->name = name;
|
||||||
ResourceManager::get()->RegisterRGBController(rgb_controller);
|
ResourceManager::get()->RegisterRGBController(rgb_controller);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void DetectSteelSeriesRival100(hid_device_info* info, const std::string& name)
|
void DetectSteelSeriesRival100(hid_device_info* info, const std::string& name)
|
||||||
{
|
{
|
||||||
hid_device* dev = hid_open_path(info->path);
|
hid_device* dev = hid_open_path(info->path);
|
||||||
if(dev)
|
if(dev)
|
||||||
{
|
{
|
||||||
SteelSeriesRivalController* controller = new SteelSeriesRivalController(dev, RIVAL_100, info->path);
|
SteelSeriesRivalController* controller = new SteelSeriesRivalController(dev, RIVAL_100, info->path);
|
||||||
RGBController_SteelSeriesRival* rgb_controller = new RGBController_SteelSeriesRival(controller);
|
RGBController_SteelSeriesRival* rgb_controller = new RGBController_SteelSeriesRival(controller);
|
||||||
rgb_controller->name = name;
|
rgb_controller->name = name;
|
||||||
ResourceManager::get()->RegisterRGBController(rgb_controller);
|
ResourceManager::get()->RegisterRGBController(rgb_controller);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void DetectSteelSeriesRival300(hid_device_info* info, const std::string& name)
|
void DetectSteelSeriesRival300(hid_device_info* info, const std::string& name)
|
||||||
{
|
{
|
||||||
hid_device* dev = hid_open_path(info->path);
|
hid_device* dev = hid_open_path(info->path);
|
||||||
if(dev)
|
if(dev)
|
||||||
{
|
{
|
||||||
SteelSeriesRivalController* controller = new SteelSeriesRivalController(dev, RIVAL_300, info->path);
|
SteelSeriesRivalController* controller = new SteelSeriesRivalController(dev, RIVAL_300, info->path);
|
||||||
RGBController_SteelSeriesRival* rgb_controller = new RGBController_SteelSeriesRival(controller);
|
RGBController_SteelSeriesRival* rgb_controller = new RGBController_SteelSeriesRival(controller);
|
||||||
rgb_controller->name = name;
|
rgb_controller->name = name;
|
||||||
ResourceManager::get()->RegisterRGBController(rgb_controller);
|
ResourceManager::get()->RegisterRGBController(rgb_controller);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void DetectSteelSeriesRival600(hid_device_info* info, const std::string& name)
|
void DetectSteelSeriesRival600(hid_device_info* info, const std::string& name)
|
||||||
{
|
{
|
||||||
hid_device* dev = hid_open_path(info->path);
|
hid_device* dev = hid_open_path(info->path);
|
||||||
if(dev)
|
if(dev)
|
||||||
{
|
{
|
||||||
SteelSeriesRivalController* controller = new SteelSeriesRivalController(dev, RIVAL_600, info->path);
|
SteelSeriesRivalController* controller = new SteelSeriesRivalController(dev, RIVAL_600, info->path);
|
||||||
RGBController_SteelSeriesRival* rgb_controller = new RGBController_SteelSeriesRival(controller);
|
RGBController_SteelSeriesRival* rgb_controller = new RGBController_SteelSeriesRival(controller);
|
||||||
rgb_controller->name = name;
|
rgb_controller->name = name;
|
||||||
ResourceManager::get()->RegisterRGBController(rgb_controller);
|
ResourceManager::get()->RegisterRGBController(rgb_controller);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void DetectSteelSeriesRival650(hid_device_info* info, const std::string& name)
|
void DetectSteelSeriesRival650(hid_device_info* info, const std::string& name)
|
||||||
{
|
{
|
||||||
hid_device* dev = hid_open_path(info->path);
|
hid_device* dev = hid_open_path(info->path);
|
||||||
if(dev)
|
if(dev)
|
||||||
{
|
{
|
||||||
SteelSeriesRivalController* controller = new SteelSeriesRivalController(dev, RIVAL_650, info->path);
|
SteelSeriesRivalController* controller = new SteelSeriesRivalController(dev, RIVAL_650, info->path);
|
||||||
RGBController_SteelSeriesRival* rgb_controller = new RGBController_SteelSeriesRival(controller);
|
RGBController_SteelSeriesRival* rgb_controller = new RGBController_SteelSeriesRival(controller);
|
||||||
rgb_controller->name = name;
|
rgb_controller->name = name;
|
||||||
ResourceManager::get()->RegisterRGBController(rgb_controller);
|
ResourceManager::get()->RegisterRGBController(rgb_controller);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void DetectSteelSeriesRival700(hid_device_info* info, const std::string& name)
|
void DetectSteelSeriesRival700(hid_device_info* info, const std::string& name)
|
||||||
{
|
{
|
||||||
hid_device* dev = hid_open_path(info->path);
|
hid_device* dev = hid_open_path(info->path);
|
||||||
if(dev)
|
if(dev)
|
||||||
{
|
{
|
||||||
SteelSeriesRivalController* controller = new SteelSeriesRivalController(dev, RIVAL_700, info->path);
|
SteelSeriesRivalController* controller = new SteelSeriesRivalController(dev, RIVAL_700, info->path);
|
||||||
RGBController_SteelSeriesRival* rgb_controller = new RGBController_SteelSeriesRival(controller);
|
RGBController_SteelSeriesRival* rgb_controller = new RGBController_SteelSeriesRival(controller);
|
||||||
rgb_controller->name = name;
|
rgb_controller->name = name;
|
||||||
ResourceManager::get()->RegisterRGBController(rgb_controller);
|
ResourceManager::get()->RegisterRGBController(rgb_controller);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void DetectSteelSeriesRival3(hid_device_info* info, const std::string& name)
|
void DetectSteelSeriesRival3(hid_device_info* info, const std::string& name)
|
||||||
{
|
{
|
||||||
hid_device* dev = hid_open_path(info->path);
|
hid_device* dev = hid_open_path(info->path);
|
||||||
if(dev)
|
if(dev)
|
||||||
{
|
{
|
||||||
SteelSeriesRival3Controller* controller = new SteelSeriesRival3Controller(dev, RIVAL_3, info->path);
|
SteelSeriesRival3Controller* controller = new SteelSeriesRival3Controller(dev, RIVAL_3, info->path);
|
||||||
RGBController_SteelSeriesRival3* rgb_controller = new RGBController_SteelSeriesRival3(controller);
|
RGBController_SteelSeriesRival3* rgb_controller = new RGBController_SteelSeriesRival3(controller);
|
||||||
rgb_controller->name = name;
|
rgb_controller->name = name;
|
||||||
ResourceManager::get()->RegisterRGBController(rgb_controller);
|
ResourceManager::get()->RegisterRGBController(rgb_controller);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void DetectSteelSeriesSensei(hid_device_info* info, const std::string& name)
|
void DetectSteelSeriesSensei(hid_device_info* info, const std::string& name)
|
||||||
{
|
{
|
||||||
hid_device* dev = hid_open_path(info->path);
|
hid_device* dev = hid_open_path(info->path);
|
||||||
if(dev)
|
if(dev)
|
||||||
{
|
{
|
||||||
SteelSeriesSenseiController* controller = new SteelSeriesSenseiController(dev, SENSEI, info->path);
|
SteelSeriesSenseiController* controller = new SteelSeriesSenseiController(dev, SENSEI, info->path);
|
||||||
RGBController_SteelSeriesSensei* rgb_controller = new RGBController_SteelSeriesSensei(controller);
|
RGBController_SteelSeriesSensei* rgb_controller = new RGBController_SteelSeriesSensei(controller);
|
||||||
rgb_controller->name = name;
|
rgb_controller->name = name;
|
||||||
ResourceManager::get()->RegisterRGBController(rgb_controller);
|
ResourceManager::get()->RegisterRGBController(rgb_controller);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void DetectSteelSeriesArctis5(hid_device_info* info, const std::string& name)
|
void DetectSteelSeriesArctis5(hid_device_info* info, const std::string& name)
|
||||||
{
|
{
|
||||||
hid_device* dev = hid_open_path(info->path);
|
hid_device* dev = hid_open_path(info->path);
|
||||||
|
|
||||||
if(dev)
|
if(dev)
|
||||||
{
|
{
|
||||||
SteelSeriesArctis5Controller* controller = new SteelSeriesArctis5Controller(dev, *info);
|
SteelSeriesArctis5Controller* controller = new SteelSeriesArctis5Controller(dev, *info);
|
||||||
RGBController_SteelSeriesArctis5* rgb_controller = new RGBController_SteelSeriesArctis5(controller);
|
RGBController_SteelSeriesArctis5* rgb_controller = new RGBController_SteelSeriesArctis5(controller);
|
||||||
rgb_controller->name = name;
|
rgb_controller->name = name;
|
||||||
ResourceManager::get()->RegisterRGBController(rgb_controller);
|
ResourceManager::get()->RegisterRGBController(rgb_controller);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*-------------------------------------------------------------------------------------------------------------------------------------------------------------------------*\
|
/*-------------------------------------------------------------------------------------------------------------------------------------------------------------------------*\
|
||||||
| Mice |
|
| Mice |
|
||||||
\*-------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
|
\*-------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
|
||||||
REGISTER_HID_DETECTOR_IPU("SteelSeries Aerox 3 Wired", DetectSteelSeriesAerox3, STEELSERIES_VID, STEELSERIES_AEROX_3_PID, 3, 0xFFC0, 1 );
|
REGISTER_HID_DETECTOR_IPU("SteelSeries Aerox 3 Wired", DetectSteelSeriesAerox3, STEELSERIES_VID, STEELSERIES_AEROX_3_PID, 3, 0xFFC0, 1 );
|
||||||
REGISTER_HID_DETECTOR_IPU("SteelSeries Aerox 9 Wired", DetectSteelSeriesAerox9, STEELSERIES_VID, STEELSERIES_AEROX_9_PID, 3, 0xFFC0, 1 );
|
REGISTER_HID_DETECTOR_IPU("SteelSeries Aerox 9 Wired", DetectSteelSeriesAerox9, STEELSERIES_VID, STEELSERIES_AEROX_9_PID, 3, 0xFFC0, 1 );
|
||||||
REGISTER_HID_DETECTOR_I("SteelSeries Rival 100", DetectSteelSeriesRival100, STEELSERIES_VID, STEELSERIES_RIVAL_100_PID, 0 );
|
REGISTER_HID_DETECTOR_I("SteelSeries Rival 100", DetectSteelSeriesRival100, STEELSERIES_VID, STEELSERIES_RIVAL_100_PID, 0 );
|
||||||
REGISTER_HID_DETECTOR_I("SteelSeries Rival 100 DotA 2 Edition", DetectSteelSeriesRival100, STEELSERIES_VID, STEELSERIES_RIVAL_100_DOTA_PID, 0 );
|
REGISTER_HID_DETECTOR_I("SteelSeries Rival 100 DotA 2 Edition", DetectSteelSeriesRival100, STEELSERIES_VID, STEELSERIES_RIVAL_100_DOTA_PID, 0 );
|
||||||
REGISTER_HID_DETECTOR_I("SteelSeries Rival 105", DetectSteelSeriesRival100, STEELSERIES_VID, STEELSERIES_RIVAL_105_PID, 0 );
|
REGISTER_HID_DETECTOR_I("SteelSeries Rival 105", DetectSteelSeriesRival100, STEELSERIES_VID, STEELSERIES_RIVAL_105_PID, 0 );
|
||||||
REGISTER_HID_DETECTOR_I("SteelSeries Rival 106", DetectSteelSeriesRival100, STEELSERIES_VID, STEELSERIES_RIVAL_106_PID, 0 );
|
REGISTER_HID_DETECTOR_I("SteelSeries Rival 106", DetectSteelSeriesRival100, STEELSERIES_VID, STEELSERIES_RIVAL_106_PID, 0 );
|
||||||
REGISTER_HID_DETECTOR_I("SteelSeries Rival 110", DetectSteelSeriesRival100, STEELSERIES_VID, STEELSERIES_RIVAL_110_PID, 0 );
|
REGISTER_HID_DETECTOR_I("SteelSeries Rival 110", DetectSteelSeriesRival100, STEELSERIES_VID, STEELSERIES_RIVAL_110_PID, 0 );
|
||||||
REGISTER_HID_DETECTOR_I("SteelSeries Rival 300", DetectSteelSeriesRival300, STEELSERIES_VID, STEELSERIES_RIVAL_300_PID, 0 );
|
REGISTER_HID_DETECTOR_I("SteelSeries Rival 300", DetectSteelSeriesRival300, STEELSERIES_VID, STEELSERIES_RIVAL_300_PID, 0 );
|
||||||
REGISTER_HID_DETECTOR_I("Acer Predator Gaming Mouse (Rival 300)", DetectSteelSeriesRival300, STEELSERIES_VID, ACER_PREDATOR_RIVAL_300_PID, 0 );
|
REGISTER_HID_DETECTOR_I("Acer Predator Gaming Mouse (Rival 300)", DetectSteelSeriesRival300, STEELSERIES_VID, ACER_PREDATOR_RIVAL_300_PID, 0 );
|
||||||
REGISTER_HID_DETECTOR_I("SteelSeries Rival 300 CS:GO Fade Edition", DetectSteelSeriesRival300, STEELSERIES_VID, STEELSERIES_RIVAL_300_CSGO_PID, 0 );
|
REGISTER_HID_DETECTOR_I("SteelSeries Rival 300 CS:GO Fade Edition", DetectSteelSeriesRival300, STEELSERIES_VID, STEELSERIES_RIVAL_300_CSGO_PID, 0 );
|
||||||
REGISTER_HID_DETECTOR_I("SteelSeries Rival 300 CS:GO Fade Edition (stm32)", DetectSteelSeriesRival300, STEELSERIES_VID, STEELSERIES_RIVAL_300_CSGO_STM32_PID, 0 );
|
REGISTER_HID_DETECTOR_I("SteelSeries Rival 300 CS:GO Fade Edition (stm32)", DetectSteelSeriesRival300, STEELSERIES_VID, STEELSERIES_RIVAL_300_CSGO_STM32_PID, 0 );
|
||||||
REGISTER_HID_DETECTOR_I("SteelSeries Rival 300 CS:GO Hyperbeast Edition", DetectSteelSeriesRival300, STEELSERIES_VID, STEELSERIES_RIVAL_300_CSGO_HYPERBEAST_PID, 0 );
|
REGISTER_HID_DETECTOR_I("SteelSeries Rival 300 CS:GO Hyperbeast Edition", DetectSteelSeriesRival300, STEELSERIES_VID, STEELSERIES_RIVAL_300_CSGO_HYPERBEAST_PID, 0 );
|
||||||
REGISTER_HID_DETECTOR_I("SteelSeries Rival 300 Dota 2 Edition", DetectSteelSeriesRival300, STEELSERIES_VID, STEELSERIES_RIVAL_300_DOTA_PID, 0 );
|
REGISTER_HID_DETECTOR_I("SteelSeries Rival 300 Dota 2 Edition", DetectSteelSeriesRival300, STEELSERIES_VID, STEELSERIES_RIVAL_300_DOTA_PID, 0 );
|
||||||
REGISTER_HID_DETECTOR_I("SteelSeries Rival 300 HP Omen Edition", DetectSteelSeriesRival300, STEELSERIES_VID, STEELSERIES_RIVAL_300_HP_PID, 0 );
|
REGISTER_HID_DETECTOR_I("SteelSeries Rival 300 HP Omen Edition", DetectSteelSeriesRival300, STEELSERIES_VID, STEELSERIES_RIVAL_300_HP_PID, 0 );
|
||||||
REGISTER_HID_DETECTOR_I("SteelSeries Rival 300 Black Ops Edition", DetectSteelSeriesRival300, STEELSERIES_VID, STEELSERIES_RIVAL_300_BLACKOPS_PID, 0 );
|
REGISTER_HID_DETECTOR_I("SteelSeries Rival 300 Black Ops Edition", DetectSteelSeriesRival300, STEELSERIES_VID, STEELSERIES_RIVAL_300_BLACKOPS_PID, 0 );
|
||||||
REGISTER_HID_DETECTOR_I("SteelSeries Rival 310", DetectSteelSeriesSensei, STEELSERIES_VID, STEELSERIES_RIVAL_310_PID, 0 );
|
REGISTER_HID_DETECTOR_I("SteelSeries Rival 310", DetectSteelSeriesSensei, STEELSERIES_VID, STEELSERIES_RIVAL_310_PID, 0 );
|
||||||
REGISTER_HID_DETECTOR_I("SteelSeries Rival 310 CS:GO Howl Edition", DetectSteelSeriesSensei, STEELSERIES_VID, STEELSERIES_RIVAL_310_CSGO_HOWL_PID, 0 );
|
REGISTER_HID_DETECTOR_I("SteelSeries Rival 310 CS:GO Howl Edition", DetectSteelSeriesSensei, STEELSERIES_VID, STEELSERIES_RIVAL_310_CSGO_HOWL_PID, 0 );
|
||||||
REGISTER_HID_DETECTOR_I("SteelSeries Rival 310 PUBG Edition", DetectSteelSeriesSensei, STEELSERIES_VID, STEELSERIES_RIVAL_310_PUBG_PID, 0 );
|
REGISTER_HID_DETECTOR_I("SteelSeries Rival 310 PUBG Edition", DetectSteelSeriesSensei, STEELSERIES_VID, STEELSERIES_RIVAL_310_PUBG_PID, 0 );
|
||||||
REGISTER_HID_DETECTOR_I("SteelSeries Rival 600", DetectSteelSeriesRival600, STEELSERIES_VID, STEELSERIES_RIVAL_600_PID, 0 );
|
REGISTER_HID_DETECTOR_I("SteelSeries Rival 600", DetectSteelSeriesRival600, STEELSERIES_VID, STEELSERIES_RIVAL_600_PID, 0 );
|
||||||
REGISTER_HID_DETECTOR_I("SteelSeries Rival 600 Dota 2 Edition", DetectSteelSeriesRival600, STEELSERIES_VID, STEELSERIES_RIVAL_600_DOTA_2_PID, 0 );
|
REGISTER_HID_DETECTOR_I("SteelSeries Rival 600 Dota 2 Edition", DetectSteelSeriesRival600, STEELSERIES_VID, STEELSERIES_RIVAL_600_DOTA_2_PID, 0 );
|
||||||
REGISTER_HID_DETECTOR_I("SteelSeries Rival 650", DetectSteelSeriesRival650, STEELSERIES_VID, STEELSERIES_RIVAL_650_PID, 0 );
|
REGISTER_HID_DETECTOR_I("SteelSeries Rival 650", DetectSteelSeriesRival650, STEELSERIES_VID, STEELSERIES_RIVAL_650_PID, 0 );
|
||||||
REGISTER_HID_DETECTOR_I("SteelSeries Rival 650 Wireless", DetectSteelSeriesRival650, STEELSERIES_VID, STEELSERIES_RIVAL_650_WIRELESS_PID, 0 );
|
REGISTER_HID_DETECTOR_I("SteelSeries Rival 650 Wireless", DetectSteelSeriesRival650, STEELSERIES_VID, STEELSERIES_RIVAL_650_WIRELESS_PID, 0 );
|
||||||
REGISTER_HID_DETECTOR_I("SteelSeries Rival 700", DetectSteelSeriesRival700, STEELSERIES_VID, STEELSERIES_RIVAL_700_PID, 0 );
|
REGISTER_HID_DETECTOR_I("SteelSeries Rival 700", DetectSteelSeriesRival700, STEELSERIES_VID, STEELSERIES_RIVAL_700_PID, 0 );
|
||||||
REGISTER_HID_DETECTOR_I("SteelSeries Rival 710", DetectSteelSeriesRival700, STEELSERIES_VID, STEELSERIES_RIVAL_710_PID, 0 );
|
REGISTER_HID_DETECTOR_I("SteelSeries Rival 710", DetectSteelSeriesRival700, STEELSERIES_VID, STEELSERIES_RIVAL_710_PID, 0 );
|
||||||
REGISTER_HID_DETECTOR_I("SteelSeries Rival 3 (Old Firmware)", DetectSteelSeriesRival3, STEELSERIES_VID, STEELSERIES_RIVAL_3_OLD_PID, 3 );
|
REGISTER_HID_DETECTOR_I("SteelSeries Rival 3 (Old Firmware)", DetectSteelSeriesRival3, STEELSERIES_VID, STEELSERIES_RIVAL_3_OLD_PID, 3 );
|
||||||
REGISTER_HID_DETECTOR_I("SteelSeries Rival 3", DetectSteelSeriesRival3, STEELSERIES_VID, STEELSERIES_RIVAL_3_PID, 3 );
|
REGISTER_HID_DETECTOR_I("SteelSeries Rival 3", DetectSteelSeriesRival3, STEELSERIES_VID, STEELSERIES_RIVAL_3_PID, 3 );
|
||||||
REGISTER_HID_DETECTOR_I("SteelSeries Sensei TEN", DetectSteelSeriesSensei, STEELSERIES_VID, STEELSERIES_SENSEI_TEN_PID, 0 );
|
REGISTER_HID_DETECTOR_I("SteelSeries Sensei TEN", DetectSteelSeriesSensei, STEELSERIES_VID, STEELSERIES_SENSEI_TEN_PID, 0 );
|
||||||
REGISTER_HID_DETECTOR_I("SteelSeries Sensei TEN CS:GO Neon Rider Edition", DetectSteelSeriesSensei, STEELSERIES_VID, STEELSERIES_SENSEI_TEN_CSGO_NEON_RIDER_PID, 0 );
|
REGISTER_HID_DETECTOR_I("SteelSeries Sensei TEN CS:GO Neon Rider Edition", DetectSteelSeriesSensei, STEELSERIES_VID, STEELSERIES_SENSEI_TEN_CSGO_NEON_RIDER_PID, 0 );
|
||||||
REGISTER_HID_DETECTOR_I("SteelSeries Sensei 310", DetectSteelSeriesSensei, STEELSERIES_VID, STEELSERIES_SENSEI_310_PID, 0 );
|
REGISTER_HID_DETECTOR_I("SteelSeries Sensei 310", DetectSteelSeriesSensei, STEELSERIES_VID, STEELSERIES_SENSEI_310_PID, 0 );
|
||||||
/*-------------------------------------------------------------------------------------------------------------------------------------------------------------------------*\
|
/*-------------------------------------------------------------------------------------------------------------------------------------------------------------------------*\
|
||||||
| Headsets |
|
| Headsets |
|
||||||
\*-------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
|
\*-------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
|
||||||
REGISTER_HID_DETECTOR_I("SteelSeries Siberia 350", DetectSteelSeriesHeadset, STEELSERIES_VID, STEELSERIES_SIBERIA_350_PID, 3 );
|
REGISTER_HID_DETECTOR_I("SteelSeries Siberia 350", DetectSteelSeriesHeadset, STEELSERIES_VID, STEELSERIES_SIBERIA_350_PID, 3 );
|
||||||
REGISTER_HID_DETECTOR_I("SteelSeries Arctis 5", DetectSteelSeriesArctis5, STEELSERIES_VID, STEELSERIES_ARCTIS_5_PID, 5 );
|
REGISTER_HID_DETECTOR_I("SteelSeries Arctis 5", DetectSteelSeriesArctis5, STEELSERIES_VID, STEELSERIES_ARCTIS_5_PID, 5 );
|
||||||
/*-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*\
|
/*-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*\
|
||||||
| Mousemats |
|
| Mousemats |
|
||||||
\*-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
|
\*-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
|
||||||
REGISTER_HID_DETECTOR_I("SteelSeries QCK Prism Cloth Medium", DetectSteelSeriesMousemat, STEELSERIES_VID, STEELSERIES_QCK_PRISM_CLOTH_MED_PID, 0 );
|
REGISTER_HID_DETECTOR_I("SteelSeries QCK Prism Cloth Medium", DetectSteelSeriesMousemat, STEELSERIES_VID, STEELSERIES_QCK_PRISM_CLOTH_MED_PID, 0 );
|
||||||
REGISTER_HID_DETECTOR_I("SteelSeries QCK Prism Cloth XL", DetectSteelSeriesMousemat, STEELSERIES_VID, STEELSERIES_QCK_PRISM_CLOTH_XL_PID, 0 );
|
REGISTER_HID_DETECTOR_I("SteelSeries QCK Prism Cloth XL", DetectSteelSeriesMousemat, STEELSERIES_VID, STEELSERIES_QCK_PRISM_CLOTH_XL_PID, 0 );
|
||||||
REGISTER_HID_DETECTOR_I("SteelSeries QCK Prism Cloth XL Destiny Ed.", DetectSteelSeriesMousemat, STEELSERIES_VID, STEELSERIES_QCK_PRISM_CLOTH_XL_DESTINY_PID, 0 );
|
REGISTER_HID_DETECTOR_I("SteelSeries QCK Prism Cloth XL Destiny Ed.", DetectSteelSeriesMousemat, STEELSERIES_VID, STEELSERIES_QCK_PRISM_CLOTH_XL_DESTINY_PID, 0 );
|
||||||
REGISTER_HID_DETECTOR_I("SteelSeries QCK Prism Cloth XL CS:GO Neon Rider Ed.", DetectSteelSeriesMousemat, STEELSERIES_VID, STEELSERIES_QCK_PRISM_CLOTH_XL_CSGO_NEON_RIDER_PID, 0 );
|
REGISTER_HID_DETECTOR_I("SteelSeries QCK Prism Cloth XL CS:GO Neon Rider Ed.", DetectSteelSeriesMousemat, STEELSERIES_VID, STEELSERIES_QCK_PRISM_CLOTH_XL_CSGO_NEON_RIDER_PID, 0 );
|
||||||
REGISTER_HID_DETECTOR_I("SteelSeries QCK Prism Cloth XL CS:GO Neo Noir Ed.", DetectSteelSeriesMousemat, STEELSERIES_VID, STEELSERIES_QCK_PRISM_CLOTH_XL_CSGO_NEO_NOIR_PID, 0 );
|
REGISTER_HID_DETECTOR_I("SteelSeries QCK Prism Cloth XL CS:GO Neo Noir Ed.", DetectSteelSeriesMousemat, STEELSERIES_VID, STEELSERIES_QCK_PRISM_CLOTH_XL_CSGO_NEO_NOIR_PID, 0 );
|
||||||
REGISTER_HID_DETECTOR_I("SteelSeries QCK Prism Cloth 3XL", DetectSteelSeriesMousemat, STEELSERIES_VID, STEELSERIES_QCK_PRISM_CLOTH_3XL_PID, 0 );
|
REGISTER_HID_DETECTOR_I("SteelSeries QCK Prism Cloth 3XL", DetectSteelSeriesMousemat, STEELSERIES_VID, STEELSERIES_QCK_PRISM_CLOTH_3XL_PID, 0 );
|
||||||
REGISTER_HID_DETECTOR_I("SteelSeries QCK Prism Cloth 4XL", DetectSteelSeriesMousemat, STEELSERIES_VID, STEELSERIES_QCK_PRISM_CLOTH_4XL_PID, 0 );
|
REGISTER_HID_DETECTOR_I("SteelSeries QCK Prism Cloth 4XL", DetectSteelSeriesMousemat, STEELSERIES_VID, STEELSERIES_QCK_PRISM_CLOTH_4XL_PID, 0 );
|
||||||
/*-------------------------------------------------------------------------------------------------------------------------------------------------------------------------*\
|
/*-------------------------------------------------------------------------------------------------------------------------------------------------------------------------*\
|
||||||
| Keyboards |
|
| Keyboards |
|
||||||
\*-------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
|
\*-------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
|
||||||
REGISTER_HID_DETECTOR_I ("SteelSeries Apex 3", DetectSteelSeriesApex3Full, STEELSERIES_VID, STEELSERIES_APEX_3_PID, 3 );
|
REGISTER_HID_DETECTOR_I ("SteelSeries Apex 3", DetectSteelSeriesApex3Full, STEELSERIES_VID, STEELSERIES_APEX_3_PID, 3 );
|
||||||
REGISTER_HID_DETECTOR_IPU("SteelSeries Apex 3 TKL", DetectSteelSeriesApex3TKL, STEELSERIES_VID, STEELSERIES_APEX_3_TKL_PID, 1, 0xFFC0, 1 );
|
REGISTER_HID_DETECTOR_IPU("SteelSeries Apex 3 TKL", DetectSteelSeriesApex3TKL, STEELSERIES_VID, STEELSERIES_APEX_3_TKL_PID, 1, 0xFFC0, 1 );
|
||||||
REGISTER_HID_DETECTOR_I ("SteelSeries Apex 5", DetectSteelSeriesApex, STEELSERIES_VID, STEELSERIES_APEX_5_PID, 1 );
|
REGISTER_HID_DETECTOR_I ("SteelSeries Apex 5", DetectSteelSeriesApex, STEELSERIES_VID, STEELSERIES_APEX_5_PID, 1 );
|
||||||
REGISTER_HID_DETECTOR_I ("SteelSeries Apex 7", DetectSteelSeriesApex, STEELSERIES_VID, STEELSERIES_APEX_7_PID, 1 );
|
REGISTER_HID_DETECTOR_I ("SteelSeries Apex 7", DetectSteelSeriesApex, STEELSERIES_VID, STEELSERIES_APEX_7_PID, 1 );
|
||||||
REGISTER_HID_DETECTOR_I ("SteelSeries Apex 7 TKL", DetectSteelSeriesApex, STEELSERIES_VID, STEELSERIES_APEX_7_TKL_PID, 1 );
|
REGISTER_HID_DETECTOR_I ("SteelSeries Apex 7 TKL", DetectSteelSeriesApex, STEELSERIES_VID, STEELSERIES_APEX_7_TKL_PID, 1 );
|
||||||
REGISTER_HID_DETECTOR_I ("SteelSeries Apex Pro", DetectSteelSeriesApex, STEELSERIES_VID, STEELSERIES_APEX_PRO_PID, 1 );
|
REGISTER_HID_DETECTOR_I ("SteelSeries Apex Pro", DetectSteelSeriesApex, STEELSERIES_VID, STEELSERIES_APEX_PRO_PID, 1 );
|
||||||
REGISTER_HID_DETECTOR_I ("SteelSeries Apex Pro TKL", DetectSteelSeriesApex, STEELSERIES_VID, STEELSERIES_APEX_PRO_TKL_PID, 1 );
|
REGISTER_HID_DETECTOR_I ("SteelSeries Apex Pro TKL", DetectSteelSeriesApex, STEELSERIES_VID, STEELSERIES_APEX_PRO_TKL_PID, 1 );
|
||||||
REGISTER_HID_DETECTOR_I ("SteelSeries Apex M750", DetectSteelSeriesApexM, STEELSERIES_VID, STEELSERIES_APEX_M750_PID, 2 );
|
REGISTER_HID_DETECTOR_I ("SteelSeries Apex M750", DetectSteelSeriesApexM, STEELSERIES_VID, STEELSERIES_APEX_M750_PID, 2 );
|
||||||
REGISTER_HID_DETECTOR_I ("SteelSeries Apex (OG)/Apex Fnatic", DetectSteelSeriesApexOld, STEELSERIES_VID, STEELSERIES_APEX_OG_PID, 0 );
|
REGISTER_HID_DETECTOR_I ("SteelSeries Apex (OG)/Apex Fnatic", DetectSteelSeriesApexOld, STEELSERIES_VID, STEELSERIES_APEX_OG_PID, 0 );
|
||||||
REGISTER_HID_DETECTOR_I ("SteelSeries Apex 350", DetectSteelSeriesApexOld, STEELSERIES_VID, STEELSERIES_APEX_350_PID, 0 );
|
REGISTER_HID_DETECTOR_I ("SteelSeries Apex 350", DetectSteelSeriesApexOld, STEELSERIES_VID, STEELSERIES_APEX_350_PID, 0 );
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
#!/bin/bash
|
#!/usr/bin/env bash
|
||||||
#-----------------------------------------------------------------------------#
|
#-----------------------------------------------------------------------------#
|
||||||
# This script relies on the preprocessed *.ii and *.s files from #
|
# This script relies on the preprocessed *.ii and *.s files from #
|
||||||
# all "RGBController_" .cpp files and the detectors that call them #
|
# all "RGBController_" .cpp files and the detectors that call them #
|
||||||
|
|
@ -48,10 +48,11 @@ echo -e "$UDEV_HEADER" > "$UDEV_FILE"
|
||||||
# #
|
# #
|
||||||
# | callback_function | VID | PID | Name | #
|
# | callback_function | VID | PID | Name | #
|
||||||
#-----------------------------------------------------------------------------#
|
#-----------------------------------------------------------------------------#
|
||||||
|
DLM=$'\x01'
|
||||||
echo -e "Creating device list"
|
echo -e "Creating device list"
|
||||||
HID_LIST=$(grep -hR -e "static HIDDeviceDetector" . | cut -d '(' -f 2- | awk -F , '{ print $2 ":|" $3 "|" $4 "|" $1 "|" }')
|
HID_LIST=$(grep -hR -e "static HIDDeviceDetector" . | sed -e "s/^.*\(\".*\"\), \(.*\), \([0-9ABCDEFx]*\), \([0-9ABCDEFx]*\),.*,.*,.*;$/\2${DLM}\3${DLM}\4${DLM}\1/g")
|
||||||
HID_WRAPPER_LIST=$(grep -hR -e "static HIDWrappedDeviceDetector" . | cut -d '(' -f 2- | awk -F , '{ print $2 ":|" $3 "|" $4 "|" $1 "|" }')
|
HID_WRAPPER_LIST=$(grep -hR -e "static HIDWrappedDeviceDetector" . | sed -e "s/^.*\(\".*\"\), \(.*\), \([0-9ABCDEFx]*\), \([0-9ABCDEFx]*\).*,.*,.*,.*;$/\2${DLM}\3${DLM}\4${DLM}\1/")
|
||||||
DUMMY_LIST=$( grep -hR -e DUMMY_DEVICE_DETECTOR ${CONTROLLER_PATH} | cut -d '(' -f 2- | cut -d ')' -f 1 | awk -F , '{ print $2 ":|" $3 "|" $4 "|" $1 "|" }')
|
DUMMY_LIST=$(grep -hR -e DUMMY_DEVICE_DETECTOR\( ${CONTROLLER_PATH} | sed -e "s/^.*\(\".*\"\), \(.*\), \([0-9ABCDEFx]*\), \([0-9ABCDEFx]*\) ).*/\2${DLM}\3${DLM}\4${DLM}\1/")
|
||||||
|
|
||||||
#Check the output of the hid_list
|
#Check the output of the hid_list
|
||||||
# echo -e "$HID_LIST\n$DUMMY_LIST" >> "hid_list.txt"
|
# echo -e "$HID_LIST\n$DUMMY_LIST" >> "hid_list.txt"
|
||||||
|
|
@ -85,16 +86,16 @@ do
|
||||||
while read -r detector
|
while read -r detector
|
||||||
do
|
do
|
||||||
#Filter the list for all devices that use this detector
|
#Filter the list for all devices that use this detector
|
||||||
text=$(printf '%s\n%s\n%s' "$HID_LIST" "$HID_WRAPPER_LIST" "$DUMMY_LIST" | grep ${detector} | cut -d: -f 2- | sed -e 's/"//g')
|
text=$(printf '%s\n%s\n%s' "$HID_LIST" "$HID_WRAPPER_LIST" "$DUMMY_LIST" | grep ${detector} | sed -e 's/"//g')
|
||||||
|
|
||||||
#Replace the detector string with the list of devices
|
#Replace the detector string with the list of devices
|
||||||
detectors=${detectors/${detector}/${text}}
|
detectors=${detectors/${detector}/${text}}
|
||||||
|
|
||||||
#Add a section heading for each RGBcontroller_
|
#Add a section heading for each RGBcontroller_
|
||||||
printf "#---------------------------------------------------------------#\n# %s - %s\n#---------------------------------------------------------------#\n" "$name" "$detector" >> "$UDEV_FILE"
|
printf "${UDEV_LINE}# %s - %s\n${UDEV_LINE}" "$name" "$detector" >> "$UDEV_FILE"
|
||||||
while read -r device
|
while read -r device
|
||||||
do
|
do
|
||||||
IFS='|' read null vid pid device_name null <<<"$device"
|
IFS="${DLM}" read null vid pid device_name null <<<"$device"
|
||||||
|
|
||||||
#Remove leading hex signifier from $vid and $pid
|
#Remove leading hex signifier from $vid and $pid
|
||||||
vid=${vid/0x/}
|
vid=${vid/0x/}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue