From 008985239501e9135cb688e203f3e468842b7e1a Mon Sep 17 00:00:00 2001 From: Adam Honse Date: Tue, 23 Mar 2021 14:07:43 -0500 Subject: [PATCH] Rename RedragonK556Controller to EVisionKeyboardController --- .../EVisionKeyboardController.cpp} | 54 +++--- .../EVisionKeyboardController.h | 153 +++++++++++++++ .../EVisionKeyboardControllerDetect.cpp | 46 +++++ .../RGBController_EVisionKeyboard.cpp} | 174 +++++++++--------- .../RGBController_EVisionKeyboard.h} | 16 +- .../RedragonControllerDetect.cpp | 40 +--- .../RedragonK556Controller.h | 150 --------------- OpenRGB.pro | 18 +- 8 files changed, 339 insertions(+), 312 deletions(-) rename Controllers/{RedragonController/RedragonK556Controller.cpp => EVisionKeyboardController/EVisionKeyboardController.cpp} (80%) create mode 100644 Controllers/EVisionKeyboardController/EVisionKeyboardController.h create mode 100644 Controllers/EVisionKeyboardController/EVisionKeyboardControllerDetect.cpp rename Controllers/{RedragonController/RGBController_RedragonK556.cpp => EVisionKeyboardController/RGBController_EVisionKeyboard.cpp} (64%) rename Controllers/{RedragonController/RGBController_RedragonK556.h => EVisionKeyboardController/RGBController_EVisionKeyboard.h} (59%) delete mode 100644 Controllers/RedragonController/RedragonK556Controller.h diff --git a/Controllers/RedragonController/RedragonK556Controller.cpp b/Controllers/EVisionKeyboardController/EVisionKeyboardController.cpp similarity index 80% rename from Controllers/RedragonController/RedragonK556Controller.cpp rename to Controllers/EVisionKeyboardController/EVisionKeyboardController.cpp index 8adc386f..7d72172d 100644 --- a/Controllers/RedragonController/RedragonK556Controller.cpp +++ b/Controllers/EVisionKeyboardController/EVisionKeyboardController.cpp @@ -1,24 +1,36 @@ -#include "RedragonK556Controller.h" +/*-----------------------------------------*\ +| EVisionKeyboardController.cpp | +| | +| Driver for EVision RGB keyboard lighting | +| controller | +| | +| EVision is used by Redragon, Glorious, | +| Ajazz, Tecware, and many other brands | +| | +| Adam Honse (CalcProgrammer1) 3/15/2020 | +\*-----------------------------------------*/ + +#include "EVisionKeyboardController.h" #include -RedragonK556Controller::RedragonK556Controller(hid_device* dev_handle, const char* path) +EVisionKeyboardController::EVisionKeyboardController(hid_device* dev_handle, const char* path) { dev = dev_handle; location = path; } -RedragonK556Controller::~RedragonK556Controller() +EVisionKeyboardController::~EVisionKeyboardController() { hid_close(dev); } -std::string RedragonK556Controller::GetDeviceLocation() +std::string EVisionKeyboardController::GetDeviceLocation() { return("HID: " + location); } -std::string RedragonK556Controller::GetSerialString() +std::string EVisionKeyboardController::GetSerialString() { wchar_t serial_string[128]; hid_get_serial_number_string(dev, serial_string, 128); @@ -29,7 +41,7 @@ std::string RedragonK556Controller::GetSerialString() return(return_string); } -void RedragonK556Controller::SetKeyboardColors +void EVisionKeyboardController::SetKeyboardColors ( unsigned char * color_data, unsigned int size @@ -40,9 +52,9 @@ void RedragonK556Controller::SetKeyboardColors while(size > 0) { - if(size >= REDRAGON_K556_MAX_PACKET_SIZE) + if(size >= EVISION_KB_MAX_PACKET_SIZE) { - packet_size = REDRAGON_K556_MAX_PACKET_SIZE; + packet_size = EVISION_KB_MAX_PACKET_SIZE; } else { @@ -61,15 +73,15 @@ void RedragonK556Controller::SetKeyboardColors } } -void RedragonK556Controller::SendKeyboardMode +void EVisionKeyboardController::SendKeyboardMode ( unsigned char mode ) { - SendKeyboardParameter(REDRAGON_K556_PARAMETER_MODE, 1, &mode); + SendKeyboardParameter(EVISION_KB_PARAMETER_MODE, 1, &mode); } -void RedragonK556Controller::SendKeyboardModeEx +void EVisionKeyboardController::SendKeyboardModeEx ( unsigned char mode, unsigned char brightness, @@ -99,7 +111,7 @@ void RedragonK556Controller::SendKeyboardModeEx | Private packet sending functions. | \*-------------------------------------------------------------------------------------------------*/ -void RedragonK556Controller::ComputeChecksum +void EVisionKeyboardController::ComputeChecksum ( char usb_buf[64] ) @@ -115,7 +127,7 @@ void RedragonK556Controller::ComputeChecksum usb_buf[0x02] = checksum >> 8; } -void RedragonK556Controller::SendKeyboardBegin() +void EVisionKeyboardController::SendKeyboardBegin() { char usb_buf[64]; @@ -130,9 +142,9 @@ void RedragonK556Controller::SendKeyboardBegin() | fixed | \*-----------------------------------------------------*/ usb_buf[0x00] = 0x04; - usb_buf[0x01] = REDRAGON_K556_COMMAND_BEGIN; + usb_buf[0x01] = EVISION_KB_COMMAND_BEGIN; usb_buf[0x02] = 0x00; - usb_buf[0x03] = REDRAGON_K556_COMMAND_BEGIN; + usb_buf[0x03] = EVISION_KB_COMMAND_BEGIN; /*-----------------------------------------------------*\ | Send packet | @@ -141,7 +153,7 @@ void RedragonK556Controller::SendKeyboardBegin() hid_read(dev, (unsigned char *)usb_buf, 64); } -void RedragonK556Controller::SendKeyboardEnd() +void EVisionKeyboardController::SendKeyboardEnd() { char usb_buf[64]; @@ -156,9 +168,9 @@ void RedragonK556Controller::SendKeyboardEnd() | fixed | \*-----------------------------------------------------*/ usb_buf[0x00] = 0x04; - usb_buf[0x01] = REDRAGON_K556_COMMAND_END; + usb_buf[0x01] = EVISION_KB_COMMAND_END; usb_buf[0x02] = 0x00; - usb_buf[0x03] = REDRAGON_K556_COMMAND_END; + usb_buf[0x03] = EVISION_KB_COMMAND_END; /*-----------------------------------------------------*\ | Send packet | @@ -167,7 +179,7 @@ void RedragonK556Controller::SendKeyboardEnd() hid_read(dev, (unsigned char *)usb_buf, 64); } -void RedragonK556Controller::SendKeyboardData +void EVisionKeyboardController::SendKeyboardData ( unsigned char * data, unsigned char data_size, @@ -208,7 +220,7 @@ void RedragonK556Controller::SendKeyboardData hid_read(dev, (unsigned char *)usb_buf, 64); } -void RedragonK556Controller::SendKeyboardParameter +void EVisionKeyboardController::SendKeyboardParameter ( unsigned char parameter, unsigned char parameter_size, @@ -226,7 +238,7 @@ void RedragonK556Controller::SendKeyboardParameter | Set up Keyboard Parameter (0x06) packet | \*-----------------------------------------------------*/ usb_buf[0x00] = 0x04; - usb_buf[0x03] = REDRAGON_K556_COMMAND_SET_PARAMETER; + usb_buf[0x03] = EVISION_KB_COMMAND_SET_PARAMETER; usb_buf[0x04] = parameter_size; usb_buf[0x05] = parameter; diff --git a/Controllers/EVisionKeyboardController/EVisionKeyboardController.h b/Controllers/EVisionKeyboardController/EVisionKeyboardController.h new file mode 100644 index 00000000..601b9961 --- /dev/null +++ b/Controllers/EVisionKeyboardController/EVisionKeyboardController.h @@ -0,0 +1,153 @@ +/*-----------------------------------------*\ +| EVisionKeyboardController.h | +| | +| Definitions and types for EVision RGB | +| keyboard lighting controller | +| | +| EVision is used by Redragon, Glorious, | +| Ajazz, Tecware, and many other brands | +| | +| Adam Honse (CalcProgrammer1) 3/15/2020 | +\*-----------------------------------------*/ + +#include "RGBController.h" + +#include +#include + +#pragma once + +#define EVISION_KB_MAX_PACKET_SIZE ( 0x36 )/* max packet size for color*/ + /* update packets */ +enum +{ + EVISION_KB_COMMAND_BEGIN = 0x01, /* Begin packet command */ + EVISION_KB_COMMAND_END = 0x02, /* End packet command */ + EVISION_KB_COMMAND_SET_PARAMETER = 0x06, /* Set parameter command */ + EVISION_KB_COMMAND_READ_CUSTOM_COLOR_DATA = 0x10, /* Read custom color data */ + EVISION_KB_COMMAND_WRITE_CUSTOM_COLOR_DATA = 0x11, /* Write custom color data */ +}; + +enum +{ + EVISION_KB_PARAMETER_MODE = 0x00, /* Mode parameter */ + EVISION_KB_PARAMETER_BRIGHTNESS = 0x01, /* Brightness parameter */ + EVISION_KB_PARAMETER_SPEED = 0x02, /* Speed parameter */ + EVISION_KB_PARAMETER_DIRECTION = 0x03, /* Direction parameter */ + EVISION_KB_PARAMETER_RANDOM_COLOR_FLAG = 0x04, /* Random color parameter */ + EVISION_KB_PARAMETER_MODE_COLOR = 0x05, /* Mode color (RGB) */ + EVISION_KB_PARAMETER_POLLING_RATE = 0x0F, /* Polling rate */ + EVISION_KB_PARAMETER_SURMOUNT_MODE_COLOR = 0x11, /* Surmount mode color */ +}; + +enum +{ + EVISION_KB_MODE_COLOR_WAVE_SHORT = 0x01, /* "Go with the stream" */ + EVISION_KB_MODE_COLOR_WAVE_LONG = 0x02, /* "Clouds fly" */ + EVISION_KB_MODE_COLOR_WHEEL = 0x03, /* "Winding paths" */ + EVISION_KB_MODE_SPECTRUM_CYCLE = 0x04, /* "The trial of light" */ + EVISION_KB_MODE_BREATHING = 0x05, /* "Breathing" */ + EVISION_KB_MODE_STATIC = 0x06, /* "Normally on" */ + EVISION_KB_MODE_REACTIVE = 0x07, /* "Pass without trace" */ + EVISION_KB_MODE_REACTIVE_RIPPLE = 0x08, /* "Ripple graff" */ + EVISION_KB_MODE_REACTIVE_LINE = 0x09, /* "Fast run without trace" */ + EVISION_KB_MODE_STARLIGHT_FAST = 0x0A, /* "Swift action" */ + EVISION_KB_MODE_BLOOMING = 0x0B, /* "Flowers blooming" */ + EVISION_KB_MODE_RAINBOW_WAVE_VERTICAL = 0x0C, /* "Snow winter jasmine" */ + EVISION_KB_MODE_HURRICANE = 0x0D, /* "Hurricane" */ + EVISION_KB_MODE_ACCUMULATE = 0x0E, /* "Accumulate" */ + EVISION_KB_MODE_STARLIGHT_SLOW = 0x0F, /* "Digital times" */ + EVISION_KB_MODE_VISOR = 0x10, /* "Both ways" */ + EVISION_KB_MODE_SURMOUNT = 0x11, /* "Surmount" */ + EVISION_KB_MODE_RAINBOW_WAVE_CIRCLE = 0x12, /* "Fast and the Furious" */ + EVISION_KB_MODE_CUSTOM = 0x14, /* "Coastal" */ +}; + +enum +{ + EVISION_KB_BRIGHTNESS_LOWEST = 0x00, /* Lowest brightness (off) */ + EVISION_KB_BRIGHTNESS_HIGHEST = 0x05, /* Highest brightness */ +}; + +enum +{ + EVISION_KB_SPEED_SLOWEST = 0x05, /* Slowest speed setting */ + EVISION_KB_SPEED_NORMAL = 0x03, /* Normal speed setting */ + EVISION_KB_SPEED_FASTEST = 0x00, /* Fastest speed setting */ +}; + +enum +{ + EVISION_KB_SURMOUNT_MODE_COLOR_RED = 0x01, /* Red surmount color */ + EVISION_KB_SURMOUNT_MODE_COLOR_YELLOW = 0x02, /* Yellow surmount color */ + EVISION_KB_SURMOUNT_MODE_COLOR_GREEN = 0x03, /* Green surmount color */ + EVISION_KB_SURMOUNT_MODE_COLOR_BLUE = 0x04, /* Blue surmount color */ +}; + +enum +{ + EVISION_KB_POLLING_RATE_125HZ = 0x00, /* 125Hz polling rate */ + EVISION_KB_POLLING_RATE_250HZ = 0x01, /* 250Hz polling rate */ + EVISION_KB_POLLING_RATE_500HZ = 0x02, /* 500Hz polling rate */ + EVISION_KB_POLLING_RATE_1000HZ = 0x03, /* 1000Hz polling rate */ +}; + +class EVisionKeyboardController +{ +public: + EVisionKeyboardController(hid_device* dev_handle, const char* path); + ~EVisionKeyboardController(); + + std::string GetDeviceLocation(); + std::string GetSerialString(); + + void SetKeyboardColors + ( + unsigned char * color_data, + unsigned int size + ); + + void SendKeyboardBegin(); + + void SendKeyboardMode + ( + unsigned char mode + ); + + void SendKeyboardModeEx + ( + unsigned char mode, + unsigned char brightness, + unsigned char speed, + unsigned char direction, + unsigned char random_flag, + unsigned char red, + unsigned char green, + unsigned char blue + ); + + void SendKeyboardData + ( + unsigned char * data, + unsigned char data_size, + unsigned short data_offset + ); + + void SendKeyboardEnd(); + +private: + hid_device* dev; + std::string location; + + void ComputeChecksum + ( + char usb_buf[64] + ); + + void SendKeyboardParameter + ( + unsigned char parameter, + unsigned char parameter_size, + unsigned char* parameter_data + ); +}; diff --git a/Controllers/EVisionKeyboardController/EVisionKeyboardControllerDetect.cpp b/Controllers/EVisionKeyboardController/EVisionKeyboardControllerDetect.cpp new file mode 100644 index 00000000..d3d3cee7 --- /dev/null +++ b/Controllers/EVisionKeyboardController/EVisionKeyboardControllerDetect.cpp @@ -0,0 +1,46 @@ +#include "Detector.h" +#include "EVisionKeyboardController.h" +#include "RGBController.h" +#include "RGBController_EVisionKeyboard.h" +#include +#include + +/*-----------------------------------------------------*\ +| Keyboard product IDs | +\*-----------------------------------------------------*/ +#define EVISION_KEYBOARD_VID 0x0C45 +#define EVISION_KEYBOARD_USAGE_PAGE 0xFF1C +#define REDRAGON_K550_PID 0x5204 +#define REDRAGON_K552_PID 0x5104 +#define REDRAGON_K556_PID 0x5004 +#define TECWARE_PHANTOM_ELITE_PID 0x652F +#define WARRIOR_KANE_TC235 0x8520 + +/******************************************************************************************\ +* * +* DetectEVisionKeyboards * +* * +* Tests the USB address to see if an EVision RGB Keyboard controller exists there. * +* * +\******************************************************************************************/ + +void DetectEVisionKeyboards(hid_device_info* info, const std::string& name) +{ + hid_device* dev = hid_open_path(info->path); + if( dev ) + { + EVisionKeyboardController* controller = new EVisionKeyboardController(dev, info->path); + RGBController_EVisionKeyboard* rgb_controller = new RGBController_EVisionKeyboard(controller); + rgb_controller->name = "EVision Keyboard"; + ResourceManager::get()->RegisterRGBController(rgb_controller); + } +} + +/*---------------------------------------------------------------------------------------------------------------------------------------------*\ +| Keyboards | +\*---------------------------------------------------------------------------------------------------------------------------------------------*/ +REGISTER_HID_DETECTOR_IP("EVision Keyboard 5204", DetectEVisionKeyboards, EVISION_KEYBOARD_VID, REDRAGON_K550_PID, 1, EVISION_KEYBOARD_USAGE_PAGE); +REGISTER_HID_DETECTOR_IP("EVision Keyboard 5104", DetectEVisionKeyboards, EVISION_KEYBOARD_VID, REDRAGON_K552_PID, 1, EVISION_KEYBOARD_USAGE_PAGE); +REGISTER_HID_DETECTOR_IP("EVision Keyboard 5004", DetectEVisionKeyboards, EVISION_KEYBOARD_VID, REDRAGON_K556_PID, 1, EVISION_KEYBOARD_USAGE_PAGE); +REGISTER_HID_DETECTOR_IP("EVision Keyboard 652F", DetectEVisionKeyboards, EVISION_KEYBOARD_VID, TECWARE_PHANTOM_ELITE_PID, 1, EVISION_KEYBOARD_USAGE_PAGE); +REGISTER_HID_DETECTOR_IP("EVision Keyboard 8520", DetectEVisionKeyboards, EVISION_KEYBOARD_VID, WARRIOR_KANE_TC235, 1, EVISION_KEYBOARD_USAGE_PAGE); diff --git a/Controllers/RedragonController/RGBController_RedragonK556.cpp b/Controllers/EVisionKeyboardController/RGBController_EVisionKeyboard.cpp similarity index 64% rename from Controllers/RedragonController/RGBController_RedragonK556.cpp rename to Controllers/EVisionKeyboardController/RGBController_EVisionKeyboard.cpp index 91dccc4a..a3de0ef1 100644 --- a/Controllers/RedragonController/RGBController_RedragonK556.cpp +++ b/Controllers/EVisionKeyboardController/RGBController_EVisionKeyboard.cpp @@ -1,13 +1,13 @@ /*-----------------------------------------*\ -| RGBController_RedragonK556.cpp | +| RGBController_EVisionKeyboard.cpp | | | -| Generic RGB Interface for Redragon K556 | -| Devarajas RGB Keyboard | +| Generic RGB Interface for EVision RGB | +| Keyboard | | | | Adam Honse (CalcProgrammer1) 3/25/2020 | \*-----------------------------------------*/ -#include "RGBController_RedragonK556.h" +#include "RGBController_EVisionKeyboard.h" //0xFFFFFFFF indicates an unused entry in matrix #define NA 0xFFFFFFFF @@ -20,31 +20,31 @@ static unsigned int matrix_map[6][23] = { 84, NA, 86, 87, 88, 89, NA, 90, NA, 91, 92, 93, 94, 95, 97, NA, NA, 99, NA, 101, 102, 103, 104 }, { 105, 106, 107, NA, NA, NA, NA, 108, NA, NA, NA, NA, 109, 110, 111, 113, 119, 120, 121, 123, NA, 124, NA } }; -RGBController_RedragonK556::RGBController_RedragonK556(RedragonK556Controller* redragon_ptr) +RGBController_EVisionKeyboard::RGBController_EVisionKeyboard(EVisionKeyboardController* controller_ptr) { - redragon = redragon_ptr; + controller = controller_ptr; - name = "Redragon Keyboard Device"; - vendor = "Redragon"; + name = "EVision Keyboard Device"; + vendor = "EVision"; type = DEVICE_TYPE_KEYBOARD; - description = "Redragon Keyboard Device"; - location = redragon->GetDeviceLocation(); - serial = redragon->GetSerialString(); + description = "EVision Keyboard Device"; + location = controller->GetDeviceLocation(); + serial = controller->GetSerialString(); mode Custom; Custom.name = "Custom"; - Custom.value = REDRAGON_K556_MODE_CUSTOM; + Custom.value = EVISION_KB_MODE_CUSTOM; Custom.flags = MODE_FLAG_HAS_PER_LED_COLOR; Custom.color_mode = MODE_COLORS_PER_LED; modes.push_back(Custom); mode ColorWave; ColorWave.name = "Color Wave"; - ColorWave.value = REDRAGON_K556_MODE_COLOR_WAVE_LONG; + ColorWave.value = EVISION_KB_MODE_COLOR_WAVE_LONG; ColorWave.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_RANDOM_COLOR; - ColorWave.speed_min = REDRAGON_K556_SPEED_SLOWEST; - ColorWave.speed_max = REDRAGON_K556_SPEED_FASTEST; - ColorWave.speed = REDRAGON_K556_SPEED_NORMAL; + ColorWave.speed_min = EVISION_KB_SPEED_SLOWEST; + ColorWave.speed_max = EVISION_KB_SPEED_FASTEST; + ColorWave.speed = EVISION_KB_SPEED_NORMAL; ColorWave.colors_min = 1; ColorWave.colors_max = 1; ColorWave.color_mode = MODE_COLORS_MODE_SPECIFIC; @@ -53,11 +53,11 @@ RGBController_RedragonK556::RGBController_RedragonK556(RedragonK556Controller* r mode ColorWheel; ColorWheel.name = "Color Wheel"; - ColorWheel.value = REDRAGON_K556_MODE_COLOR_WHEEL; + ColorWheel.value = EVISION_KB_MODE_COLOR_WHEEL; ColorWheel.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_RANDOM_COLOR; - ColorWheel.speed_min = REDRAGON_K556_SPEED_SLOWEST; - ColorWheel.speed_max = REDRAGON_K556_SPEED_FASTEST; - ColorWheel.speed = REDRAGON_K556_SPEED_NORMAL; + ColorWheel.speed_min = EVISION_KB_SPEED_SLOWEST; + ColorWheel.speed_max = EVISION_KB_SPEED_FASTEST; + ColorWheel.speed = EVISION_KB_SPEED_NORMAL; ColorWheel.colors_min = 1; ColorWheel.colors_max = 1; ColorWheel.color_mode = MODE_COLORS_MODE_SPECIFIC; @@ -66,21 +66,21 @@ RGBController_RedragonK556::RGBController_RedragonK556(RedragonK556Controller* r mode SpectrumCycle; SpectrumCycle.name = "Spectrum Cycle"; - SpectrumCycle.value = REDRAGON_K556_MODE_SPECTRUM_CYCLE; + SpectrumCycle.value = EVISION_KB_MODE_SPECTRUM_CYCLE; SpectrumCycle.flags = MODE_FLAG_HAS_SPEED; - SpectrumCycle.speed_min = REDRAGON_K556_SPEED_SLOWEST; - SpectrumCycle.speed_max = REDRAGON_K556_SPEED_FASTEST; - SpectrumCycle.speed = REDRAGON_K556_SPEED_NORMAL; + SpectrumCycle.speed_min = EVISION_KB_SPEED_SLOWEST; + SpectrumCycle.speed_max = EVISION_KB_SPEED_FASTEST; + SpectrumCycle.speed = EVISION_KB_SPEED_NORMAL; SpectrumCycle.color_mode = MODE_COLORS_NONE; modes.push_back(SpectrumCycle); mode Breathing; Breathing.name = "Breathing"; - Breathing.value = REDRAGON_K556_MODE_BREATHING; + Breathing.value = EVISION_KB_MODE_BREATHING; Breathing.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_RANDOM_COLOR; - Breathing.speed_min = REDRAGON_K556_SPEED_SLOWEST; - Breathing.speed_max = REDRAGON_K556_SPEED_FASTEST; - Breathing.speed = REDRAGON_K556_SPEED_NORMAL; + Breathing.speed_min = EVISION_KB_SPEED_SLOWEST; + Breathing.speed_max = EVISION_KB_SPEED_FASTEST; + Breathing.speed = EVISION_KB_SPEED_NORMAL; Breathing.colors_min = 1; Breathing.colors_max = 1; Breathing.color_mode = MODE_COLORS_MODE_SPECIFIC; @@ -89,11 +89,11 @@ RGBController_RedragonK556::RGBController_RedragonK556(RedragonK556Controller* r mode Hurricane; Hurricane.name = "Hurricane"; - Hurricane.value = REDRAGON_K556_MODE_HURRICANE; + Hurricane.value = EVISION_KB_MODE_HURRICANE; Hurricane.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_RANDOM_COLOR; - Hurricane.speed_min = REDRAGON_K556_SPEED_SLOWEST; - Hurricane.speed_max = REDRAGON_K556_SPEED_FASTEST; - Hurricane.speed = REDRAGON_K556_SPEED_NORMAL; + Hurricane.speed_min = EVISION_KB_SPEED_SLOWEST; + Hurricane.speed_max = EVISION_KB_SPEED_FASTEST; + Hurricane.speed = EVISION_KB_SPEED_NORMAL; Hurricane.colors_min = 1; Hurricane.colors_max = 1; Hurricane.color_mode = MODE_COLORS_MODE_SPECIFIC; @@ -102,11 +102,11 @@ RGBController_RedragonK556::RGBController_RedragonK556(RedragonK556Controller* r mode Accumulate; Accumulate.name = "Accumulate"; - Accumulate.value = REDRAGON_K556_MODE_ACCUMULATE; + Accumulate.value = EVISION_KB_MODE_ACCUMULATE; Accumulate.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_RANDOM_COLOR; - Accumulate.speed_min = REDRAGON_K556_SPEED_SLOWEST; - Accumulate.speed_max = REDRAGON_K556_SPEED_FASTEST; - Accumulate.speed = REDRAGON_K556_SPEED_NORMAL; + Accumulate.speed_min = EVISION_KB_SPEED_SLOWEST; + Accumulate.speed_max = EVISION_KB_SPEED_FASTEST; + Accumulate.speed = EVISION_KB_SPEED_NORMAL; Accumulate.colors_min = 1; Accumulate.colors_max = 1; Accumulate.color_mode = MODE_COLORS_MODE_SPECIFIC; @@ -115,11 +115,11 @@ RGBController_RedragonK556::RGBController_RedragonK556(RedragonK556Controller* r mode Starlight; Starlight.name = "Starlight"; - Starlight.value = REDRAGON_K556_MODE_STARLIGHT_FAST; + Starlight.value = EVISION_KB_MODE_STARLIGHT_FAST; Starlight.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_RANDOM_COLOR; - Starlight.speed_min = REDRAGON_K556_SPEED_SLOWEST; - Starlight.speed_max = REDRAGON_K556_SPEED_FASTEST; - Starlight.speed = REDRAGON_K556_SPEED_NORMAL; + Starlight.speed_min = EVISION_KB_SPEED_SLOWEST; + Starlight.speed_max = EVISION_KB_SPEED_FASTEST; + Starlight.speed = EVISION_KB_SPEED_NORMAL; Starlight.colors_min = 1; Starlight.colors_max = 1; Starlight.color_mode = MODE_COLORS_MODE_SPECIFIC; @@ -128,11 +128,11 @@ RGBController_RedragonK556::RGBController_RedragonK556(RedragonK556Controller* r mode Visor; Visor.name = "Visor"; - Visor.value = REDRAGON_K556_MODE_VISOR; + Visor.value = EVISION_KB_MODE_VISOR; Visor.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_RANDOM_COLOR; - Visor.speed_min = REDRAGON_K556_SPEED_SLOWEST; - Visor.speed_max = REDRAGON_K556_SPEED_FASTEST; - Visor.speed = REDRAGON_K556_SPEED_NORMAL; + Visor.speed_min = EVISION_KB_SPEED_SLOWEST; + Visor.speed_max = EVISION_KB_SPEED_FASTEST; + Visor.speed = EVISION_KB_SPEED_NORMAL; Visor.colors_min = 1; Visor.colors_max = 1; Visor.color_mode = MODE_COLORS_MODE_SPECIFIC; @@ -141,7 +141,7 @@ RGBController_RedragonK556::RGBController_RedragonK556(RedragonK556Controller* r mode Static; Static.name = "Static"; - Static.value = REDRAGON_K556_MODE_STATIC; + Static.value = EVISION_KB_MODE_STATIC; Static.flags = MODE_FLAG_HAS_MODE_SPECIFIC_COLOR; Static.colors_min = 1; Static.colors_max = 1; @@ -151,28 +151,28 @@ RGBController_RedragonK556::RGBController_RedragonK556(RedragonK556Controller* r mode RainbowCircle; RainbowCircle.name = "Rainbow Circle"; - RainbowCircle.value = REDRAGON_K556_MODE_RAINBOW_WAVE_CIRCLE; + RainbowCircle.value = EVISION_KB_MODE_RAINBOW_WAVE_CIRCLE; RainbowCircle.flags = 0; RainbowCircle.color_mode = MODE_COLORS_NONE; modes.push_back(RainbowCircle); mode Blooming; Blooming.name = "Blooming"; - Blooming.value = REDRAGON_K556_MODE_BLOOMING; + Blooming.value = EVISION_KB_MODE_BLOOMING; Blooming.flags = MODE_FLAG_HAS_SPEED; - Blooming.speed_min = REDRAGON_K556_SPEED_SLOWEST; - Blooming.speed_max = REDRAGON_K556_SPEED_FASTEST; - Blooming.speed = REDRAGON_K556_SPEED_NORMAL; + Blooming.speed_min = EVISION_KB_SPEED_SLOWEST; + Blooming.speed_max = EVISION_KB_SPEED_FASTEST; + Blooming.speed = EVISION_KB_SPEED_NORMAL; Blooming.color_mode = MODE_COLORS_NONE; modes.push_back(Blooming); mode Reactive; Reactive.name = "Reactive"; - Reactive.value = REDRAGON_K556_MODE_REACTIVE; + Reactive.value = EVISION_KB_MODE_REACTIVE; Reactive.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_RANDOM_COLOR; - Reactive.speed_min = REDRAGON_K556_SPEED_SLOWEST; - Reactive.speed_max = REDRAGON_K556_SPEED_FASTEST; - Reactive.speed = REDRAGON_K556_SPEED_NORMAL; + Reactive.speed_min = EVISION_KB_SPEED_SLOWEST; + Reactive.speed_max = EVISION_KB_SPEED_FASTEST; + Reactive.speed = EVISION_KB_SPEED_NORMAL; Reactive.colors_min = 1; Reactive.colors_max = 1; Reactive.color_mode = MODE_COLORS_MODE_SPECIFIC; @@ -181,11 +181,11 @@ RGBController_RedragonK556::RGBController_RedragonK556(RedragonK556Controller* r mode ReactiveRipple; ReactiveRipple.name = "Reactive Ripple"; - ReactiveRipple.value = REDRAGON_K556_MODE_REACTIVE_RIPPLE; + ReactiveRipple.value = EVISION_KB_MODE_REACTIVE_RIPPLE; ReactiveRipple.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_RANDOM_COLOR; - ReactiveRipple.speed_min = REDRAGON_K556_SPEED_SLOWEST; - ReactiveRipple.speed_max = REDRAGON_K556_SPEED_FASTEST; - ReactiveRipple.speed = REDRAGON_K556_SPEED_NORMAL; + ReactiveRipple.speed_min = EVISION_KB_SPEED_SLOWEST; + ReactiveRipple.speed_max = EVISION_KB_SPEED_FASTEST; + ReactiveRipple.speed = EVISION_KB_SPEED_NORMAL; ReactiveRipple.colors_min = 1; ReactiveRipple.colors_max = 1; ReactiveRipple.color_mode = MODE_COLORS_MODE_SPECIFIC; @@ -194,11 +194,11 @@ RGBController_RedragonK556::RGBController_RedragonK556(RedragonK556Controller* r mode ReactiveLine; ReactiveLine.name = "Reactive Line"; - ReactiveLine.value = REDRAGON_K556_MODE_REACTIVE_LINE; + ReactiveLine.value = EVISION_KB_MODE_REACTIVE_LINE; ReactiveLine.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_RANDOM_COLOR; - ReactiveLine.speed_min = REDRAGON_K556_SPEED_SLOWEST; - ReactiveLine.speed_max = REDRAGON_K556_SPEED_FASTEST; - ReactiveLine.speed = REDRAGON_K556_SPEED_NORMAL; + ReactiveLine.speed_min = EVISION_KB_SPEED_SLOWEST; + ReactiveLine.speed_max = EVISION_KB_SPEED_FASTEST; + ReactiveLine.speed = EVISION_KB_SPEED_NORMAL; ReactiveLine.colors_min = 1; ReactiveLine.colors_max = 1; ReactiveLine.color_mode = MODE_COLORS_MODE_SPECIFIC; @@ -208,7 +208,7 @@ RGBController_RedragonK556::RGBController_RedragonK556(RedragonK556Controller* r SetupZones(); } -RGBController_RedragonK556::~RGBController_RedragonK556() +RGBController_EVisionKeyboard::~RGBController_EVisionKeyboard() { /*---------------------------------------------------------*\ | Delete the matrix map | @@ -221,10 +221,10 @@ RGBController_RedragonK556::~RGBController_RedragonK556() } } - delete redragon; + delete controller; } -void RGBController_RedragonK556::SetupZones() +void RGBController_EVisionKeyboard::SetupZones() { zone new_zone; @@ -253,14 +253,14 @@ void RGBController_RedragonK556::SetupZones() SetupColors(); } -void RGBController_RedragonK556::ResizeZone(int /*zone*/, int /*new_size*/) +void RGBController_EVisionKeyboard::ResizeZone(int /*zone*/, int /*new_size*/) { /*---------------------------------------------------------*\ | This device does not support resizing zones | \*---------------------------------------------------------*/ } -void RGBController_RedragonK556::DeviceUpdateLEDs() +void RGBController_EVisionKeyboard::DeviceUpdateLEDs() { unsigned char color_data[7*0x36]; @@ -271,29 +271,29 @@ void RGBController_RedragonK556::DeviceUpdateLEDs() color_data[(3 * led_idx) + 2] = RGBGetBValue(colors[led_idx]); } - redragon->SetKeyboardColors - ( - color_data, - 0x36 * 7 - ); + controller->SetKeyboardColors + ( + color_data, + 0x36 * 7 + ); } -void RGBController_RedragonK556::UpdateZoneLEDs(int /*zone*/) +void RGBController_EVisionKeyboard::UpdateZoneLEDs(int /*zone*/) { DeviceUpdateLEDs(); } -void RGBController_RedragonK556::UpdateSingleLED(int /*led*/) +void RGBController_EVisionKeyboard::UpdateSingleLED(int /*led*/) { DeviceUpdateLEDs(); } -void RGBController_RedragonK556::SetCustomMode() +void RGBController_EVisionKeyboard::SetCustomMode() { } -void RGBController_RedragonK556::DeviceUpdateMode() +void RGBController_EVisionKeyboard::DeviceUpdateMode() { unsigned char red = 0x00; unsigned char grn = 0x00; @@ -307,15 +307,15 @@ void RGBController_RedragonK556::DeviceUpdateMode() blu = RGBGetBValue(modes[active_mode].colors[0]); } - redragon->SendKeyboardModeEx - ( - modes[active_mode].value, - REDRAGON_K556_BRIGHTNESS_HIGHEST, - modes[active_mode].speed, - 0, - random, - red, - grn, - blu - ); + controller->SendKeyboardModeEx + ( + modes[active_mode].value, + EVISION_KB_BRIGHTNESS_HIGHEST, + modes[active_mode].speed, + 0, + random, + red, + grn, + blu + ); } diff --git a/Controllers/RedragonController/RGBController_RedragonK556.h b/Controllers/EVisionKeyboardController/RGBController_EVisionKeyboard.h similarity index 59% rename from Controllers/RedragonController/RGBController_RedragonK556.h rename to Controllers/EVisionKeyboardController/RGBController_EVisionKeyboard.h index d49d43c9..e9791d75 100644 --- a/Controllers/RedragonController/RGBController_RedragonK556.h +++ b/Controllers/EVisionKeyboardController/RGBController_EVisionKeyboard.h @@ -1,21 +1,21 @@ /*-----------------------------------------*\ -| RGBController_RedragonK556.h | +| RGBController_EVisionKeyboard.h | | | -| Generic RGB Interface for Redragon K556 | -| Devarajas RGB Keyboard | +| Generic RGB Interface for EVision RGB | +| Keyboard | | | | Adam Honse (CalcProgrammer1) 3/25/2020 | \*-----------------------------------------*/ #pragma once #include "RGBController.h" -#include "RedragonK556Controller.h" +#include "EVisionKeyboardController.h" -class RGBController_RedragonK556 : public RGBController +class RGBController_EVisionKeyboard : public RGBController { public: - RGBController_RedragonK556(RedragonK556Controller* redragon_ptr); - ~RGBController_RedragonK556(); + RGBController_EVisionKeyboard(EVisionKeyboardController* controller_ptr); + ~RGBController_EVisionKeyboard(); void SetupZones(); @@ -29,5 +29,5 @@ public: void DeviceUpdateMode(); private: - RedragonK556Controller* redragon; + EVisionKeyboardController* controller; }; diff --git a/Controllers/RedragonController/RedragonControllerDetect.cpp b/Controllers/RedragonController/RedragonControllerDetect.cpp index ccd9f38b..6da6e8ce 100644 --- a/Controllers/RedragonController/RedragonControllerDetect.cpp +++ b/Controllers/RedragonController/RedragonControllerDetect.cpp @@ -1,23 +1,10 @@ #include "Detector.h" -#include "RedragonK556Controller.h" #include "RedragonM711Controller.h" #include "RGBController.h" -#include "RGBController_RedragonK556.h" #include "RGBController_RedragonM711.h" #include #include -/*-----------------------------------------------------*\ -| Keyboard product IDs | -\*-----------------------------------------------------*/ -#define REDRAGON_KEYBOARD_VID 0x0C45 -#define REDRAGON_KEYBOARD_USAGE_PAGE 0xFF1C -#define REDRAGON_K550_PID 0x5204 -#define REDRAGON_K552_PID 0x5104 -#define REDRAGON_K556_PID 0x5004 -#define TECWARE_PHANTOM_ELITE_PID 0x652F -#define WARRIOR_KANE_TC235 0x8520 - /*-----------------------------------------------------*\ | Mouse product IDs | \*-----------------------------------------------------*/ @@ -29,24 +16,12 @@ /******************************************************************************************\ * * -* DetectRedragonControllers * +* DetectRedragonMice * * * -* Tests the USB address to see if a Redragon RGB Keyboard controller exists there. * +* Tests the USB address to see if a Redragon Mouse controller exists there. * * * \******************************************************************************************/ -void DetectRedragonKeyboards(hid_device_info* info, const std::string& name) -{ - hid_device* dev = hid_open_path(info->path); - if( dev ) - { - RedragonK556Controller* controller = new RedragonK556Controller(dev, info->path); - RGBController_RedragonK556* rgb_controller = new RGBController_RedragonK556(controller); - rgb_controller->name = name; - ResourceManager::get()->RegisterRGBController(rgb_controller); - } -} - void DetectRedragonMice(hid_device_info* info, const std::string& name) { hid_device* dev = hid_open_path(info->path); @@ -59,20 +34,9 @@ void DetectRedragonMice(hid_device_info* info, const std::string& name) } } -/*---------------------------------------------------------------------------------------------------------------------------------------------*\ -| Keyboards | -\*---------------------------------------------------------------------------------------------------------------------------------------------*/ -REGISTER_HID_DETECTOR_IP("Redragon K550 Yama", DetectRedragonKeyboards, REDRAGON_KEYBOARD_VID, REDRAGON_K550_PID, 1, REDRAGON_KEYBOARD_USAGE_PAGE); -REGISTER_HID_DETECTOR_IP("Redragon K552 Kumara", DetectRedragonKeyboards, REDRAGON_KEYBOARD_VID, REDRAGON_K552_PID, 1, REDRAGON_KEYBOARD_USAGE_PAGE); -REGISTER_HID_DETECTOR_IP("Redragon K556 Devarajas", DetectRedragonKeyboards, REDRAGON_KEYBOARD_VID, REDRAGON_K556_PID, 1, REDRAGON_KEYBOARD_USAGE_PAGE); -REGISTER_HID_DETECTOR_IP("Tecware Phantom Elite", DetectRedragonKeyboards, REDRAGON_KEYBOARD_VID, TECWARE_PHANTOM_ELITE_PID, 1, REDRAGON_KEYBOARD_USAGE_PAGE); -REGISTER_HID_DETECTOR_IP("Warrior Kane TC235", DetectRedragonKeyboards, REDRAGON_KEYBOARD_VID, WARRIOR_KANE_TC235, 1, REDRAGON_KEYBOARD_USAGE_PAGE); /*---------------------------------------------------------------------------------------------------------------------------------------------*\ | Mice | \*---------------------------------------------------------------------------------------------------------------------------------------------*/ REGISTER_HID_DETECTOR_IP("Redragon M711 Cobra", DetectRedragonMice, REDRAGON_MOUSE_VID, REDRAGON_M711_PID, 2, REDRAGON_MOUSE_USAGE_PAGE); REGISTER_HID_DETECTOR_IP("Redragon M715 Dagger", DetectRedragonMice, REDRAGON_MOUSE_VID, REDRAGON_M715_PID, 2, REDRAGON_MOUSE_USAGE_PAGE); REGISTER_HID_DETECTOR_IP("Redragon M908 Impact", DetectRedragonMice, REDRAGON_MOUSE_VID, REDRAGON_M908_PID, 2, REDRAGON_MOUSE_USAGE_PAGE); -/*---------------------------------------------------------------------------------------------------------------------------------------------*\ -| Mousemats | -\*---------------------------------------------------------------------------------------------------------------------------------------------*/ diff --git a/Controllers/RedragonController/RedragonK556Controller.h b/Controllers/RedragonController/RedragonK556Controller.h deleted file mode 100644 index a615fab2..00000000 --- a/Controllers/RedragonController/RedragonK556Controller.h +++ /dev/null @@ -1,150 +0,0 @@ -/*-----------------------------------------*\ -| RedragonK556Controller.h | -| | -| Definitions and types for Redragon K556 | -| Devarajas keyboard lighting controller | -| | -| Adam Honse (CalcProgrammer1) 3/15/2020 | -\*-----------------------------------------*/ - -#include "RGBController.h" - -#include -#include - -#pragma once - -#define REDRAGON_K556_MAX_PACKET_SIZE ( 0x36 ) /* max packet size for color*/ - /* update packets */ -enum -{ - REDRAGON_K556_COMMAND_BEGIN = 0x01, /* Begin packet command */ - REDRAGON_K556_COMMAND_END = 0x02, /* End packet command */ - REDRAGON_K556_COMMAND_SET_PARAMETER = 0x06, /* Set parameter command */ - REDRAGON_K556_COMMAND_READ_CUSTOM_COLOR_DATA = 0x10, /* Read custom color data */ - REDRAGON_K556_COMMAND_WRITE_CUSTOM_COLOR_DATA = 0x11, /* Write custom color data */ -}; - -enum -{ - REDRAGON_K556_PARAMETER_MODE = 0x00, /* Mode parameter */ - REDRAGON_K556_PARAMETER_BRIGHTNESS = 0x01, /* Brightness parameter */ - REDRAGON_K556_PARAMETER_SPEED = 0x02, /* Speed parameter */ - REDRAGON_K556_PARAMETER_DIRECTION = 0x03, /* Direction parameter */ - REDRAGON_K556_PARAMETER_RANDOM_COLOR_FLAG = 0x04, /* Random color parameter */ - REDRAGON_K556_PARAMETER_MODE_COLOR = 0x05, /* Mode color (RGB) */ - REDRAGON_K556_PARAMETER_POLLING_RATE = 0x0F, /* Polling rate */ - REDRAGON_K556_PARAMETER_SURMOUNT_MODE_COLOR = 0x11, /* Surmount mode color */ -}; - -enum -{ - REDRAGON_K556_MODE_COLOR_WAVE_SHORT = 0x01, /* "Go with the stream" */ - REDRAGON_K556_MODE_COLOR_WAVE_LONG = 0x02, /* "Clouds fly" */ - REDRAGON_K556_MODE_COLOR_WHEEL = 0x03, /* "Winding paths" */ - REDRAGON_K556_MODE_SPECTRUM_CYCLE = 0x04, /* "The trial of light" */ - REDRAGON_K556_MODE_BREATHING = 0x05, /* "Breathing" */ - REDRAGON_K556_MODE_STATIC = 0x06, /* "Normally on" */ - REDRAGON_K556_MODE_REACTIVE = 0x07, /* "Pass without trace" */ - REDRAGON_K556_MODE_REACTIVE_RIPPLE = 0x08, /* "Ripple graff" */ - REDRAGON_K556_MODE_REACTIVE_LINE = 0x09, /* "Fast run without trace" */ - REDRAGON_K556_MODE_STARLIGHT_FAST = 0x0A, /* "Swift action" */ - REDRAGON_K556_MODE_BLOOMING = 0x0B, /* "Flowers blooming" */ - REDRAGON_K556_MODE_RAINBOW_WAVE_VERTICAL = 0x0C, /* "Snow winter jasmine" */ - REDRAGON_K556_MODE_HURRICANE = 0x0D, /* "Hurricane" */ - REDRAGON_K556_MODE_ACCUMULATE = 0x0E, /* "Accumulate" */ - REDRAGON_K556_MODE_STARLIGHT_SLOW = 0x0F, /* "Digital times" */ - REDRAGON_K556_MODE_VISOR = 0x10, /* "Both ways" */ - REDRAGON_K556_MODE_SURMOUNT = 0x11, /* "Surmount" */ - REDRAGON_K556_MODE_RAINBOW_WAVE_CIRCLE = 0x12, /* "Fast and the Furious" */ - REDRAGON_K556_MODE_CUSTOM = 0x14, /* "Coastal" */ -}; - -enum -{ - REDRAGON_K556_BRIGHTNESS_LOWEST = 0x00, /* Lowest brightness (off) */ - REDRAGON_K556_BRIGHTNESS_HIGHEST = 0x04, /* Highest brightness */ -}; - -enum -{ - REDRAGON_K556_SPEED_SLOWEST = 0x05, /* Slowest speed setting */ - REDRAGON_K556_SPEED_NORMAL = 0x03, /* Normal speed setting */ - REDRAGON_K556_SPEED_FASTEST = 0x00, /* Fastest speed setting */ -}; - -enum -{ - REDRAGON_K556_SURMOUNT_MODE_COLOR_RED = 0x01, /* Red surmount color */ - REDRAGON_K556_SURMOUNT_MODE_COLOR_YELLOW = 0x02, /* Yellow surmount color */ - REDRAGON_K556_SURMOUNT_MODE_COLOR_GREEN = 0x03, /* Green surmount color */ - REDRAGON_K556_SURMOUNT_MODE_COLOR_BLUE = 0x04, /* Blue surmount color */ -}; - -enum -{ - REDRAGON_K556_POLLING_RATE_125HZ = 0x00, /* 125Hz polling rate */ - REDRAGON_K556_POLLING_RATE_250HZ = 0x01, /* 250Hz polling rate */ - REDRAGON_K556_POLLING_RATE_500HZ = 0x02, /* 500Hz polling rate */ - REDRAGON_K556_POLLING_RATE_1000HZ = 0x03, /* 1000Hz polling rate */ -}; - -class RedragonK556Controller -{ -public: - RedragonK556Controller(hid_device* dev_handle, const char* path); - ~RedragonK556Controller(); - - std::string GetDeviceLocation(); - std::string GetSerialString(); - - void SetKeyboardColors - ( - unsigned char * color_data, - unsigned int size - ); - - void SendKeyboardBegin(); - - void SendKeyboardMode - ( - unsigned char mode - ); - - void SendKeyboardModeEx - ( - unsigned char mode, - unsigned char brightness, - unsigned char speed, - unsigned char direction, - unsigned char random_flag, - unsigned char red, - unsigned char green, - unsigned char blue - ); - - void SendKeyboardData - ( - unsigned char * data, - unsigned char data_size, - unsigned short data_offset - ); - - void SendKeyboardEnd(); - -private: - hid_device* dev; - std::string location; - - void ComputeChecksum - ( - char usb_buf[64] - ); - - void SendKeyboardParameter - ( - unsigned char parameter, - unsigned char parameter_size, - unsigned char* parameter_data - ); -}; diff --git a/OpenRGB.pro b/OpenRGB.pro index b683b236..4d7be135 100644 --- a/OpenRGB.pro +++ b/OpenRGB.pro @@ -74,6 +74,7 @@ INCLUDEPATH += Controllers/EKController/ \ Controllers/EspurnaController/ \ Controllers/EVGAGPUController/ \ + Controllers/EVisionKeyboardController/ \ Controllers/FanBusController/ \ Controllers/GainwardGPUController/ \ Controllers/GalaxGPUController/ \ @@ -116,8 +117,6 @@ INCLUDEPATH += qt/ HEADERS += \ - Controllers/ThermaltakeRiingController/RGBController_ThermaltakeRiingQuad.h \ - Controllers/ThermaltakeRiingController/ThermaltakeRiingQuadController.h \ dependencies/ColorWheel/ColorWheel.h \ dependencies/json/json.hpp \ LogManager.h \ @@ -205,6 +204,8 @@ HEADERS += Controllers/EVGAGPUController/EVGAGPUv2Controller.h \ Controllers/EVGAGPUController/RGBController_EVGAGPUv1.h \ Controllers/EVGAGPUController/RGBController_EVGAGPUv2.h \ + Controllers/EVisionKeyboardController/EVisionKeyboardController.h \ + Controllers/EVisionKeyboardController/RGBController_EVisionKeyboard.h \ Controllers/FanBusController/FanBusController.h \ Controllers/FanBusController/FanBusInterface.h \ Controllers/FanBusController/RGBController_FanBus.h \ @@ -291,9 +292,7 @@ HEADERS += Controllers/RazerController/RazerDevices.h \ Controllers/RazerController/RGBController_Razer.h \ Controllers/RazerController/RGBController_RazerKraken.h \ - Controllers/RedragonController/RedragonK556Controller.h \ Controllers/RedragonController/RedragonM711Controller.h \ - Controllers/RedragonController/RGBController_RedragonK556.h \ Controllers/RedragonController/RGBController_RedragonM711.h \ Controllers/RoccatController/RGBController_RoccatKoneAimo.h \ Controllers/RoccatController/RoccatKoneAimoController.h \ @@ -322,7 +321,9 @@ HEADERS += Controllers/ThermaltakePoseidonZRGBController/ThermaltakePoseidonZRGBController.h \ Controllers/ThermaltakePoseidonZRGBController/RGBController_ThermaltakePoseidonZRGB.h \ Controllers/ThermaltakeRiingController/ThermaltakeRiingController.h \ + Controllers/ThermaltakeRiingController/ThermaltakeRiingQuadController.h \ Controllers/ThermaltakeRiingController/RGBController_ThermaltakeRiing.h \ + Controllers/ThermaltakeRiingController/RGBController_ThermaltakeRiingQuad.h \ Controllers/YeelightController/YeelightController.h \ Controllers/YeelightController/RGBController_Yeelight.h \ Controllers/ZalmanZSyncController/ZalmanZSyncController.h \ @@ -332,8 +333,6 @@ HEADERS += RGBController/RGBController_Network.h \ SOURCES += \ - Controllers/ThermaltakeRiingController/RGBController_ThermaltakeRiingQuad.cpp \ - Controllers/ThermaltakeRiingController/ThermaltakeRiingQuadController.cpp \ dependencies/dmiinfo.cpp \ dependencies/ColorWheel/ColorWheel.cpp \ dependencies/libe131/src/e131.c \ @@ -441,6 +440,9 @@ SOURCES += Controllers/EVGAGPUController/EVGAGPUControllerDetect.cpp \ Controllers/EVGAGPUController/RGBController_EVGAGPUv1.cpp \ Controllers/EVGAGPUController/RGBController_EVGAGPUv2.cpp \ + Controllers/EVisionKeyboardController/EVisionKeyboardController.cpp \ + Controllers/EVisionKeyboardController/EVisionKeyboardControllerDetect.cpp \ + Controllers/EVisionKeyboardController/RGBController_EVisionKeyboard.cpp \ Controllers/FanBusController/FanBusController.cpp \ Controllers/FanBusController/FanBusControllerDetect.cpp \ Controllers/FanBusController/FanBusInterface.cpp \ @@ -550,10 +552,8 @@ SOURCES += Controllers/RazerController/RazerControllerDetect.cpp \ Controllers/RazerController/RGBController_Razer.cpp \ Controllers/RazerController/RGBController_RazerKraken.cpp \ - Controllers/RedragonController/RedragonK556Controller.cpp \ Controllers/RedragonController/RedragonM711Controller.cpp \ Controllers/RedragonController/RedragonControllerDetect.cpp \ - Controllers/RedragonController/RGBController_RedragonK556.cpp \ Controllers/RedragonController/RGBController_RedragonM711.cpp \ Controllers/RoccatController/RGBController_RoccatKoneAimo.cpp \ Controllers/RoccatController/RoccatKoneAimoController.cpp \ @@ -586,8 +586,10 @@ SOURCES += Controllers/ThermaltakePoseidonZRGBController/ThermaltakePoseidonZRGBControllerDetect.cpp \ Controllers/ThermaltakePoseidonZRGBController/RGBController_ThermaltakePoseidonZRGB.cpp \ Controllers/ThermaltakeRiingController/ThermaltakeRiingController.cpp \ + Controllers/ThermaltakeRiingController/ThermaltakeRiingQuadController.cpp \ Controllers/ThermaltakeRiingController/ThermaltakeRiingControllerDetect.cpp \ Controllers/ThermaltakeRiingController/RGBController_ThermaltakeRiing.cpp \ + Controllers/ThermaltakeRiingController/RGBController_ThermaltakeRiingQuad.cpp \ Controllers/YeelightController/YeelightController.cpp \ Controllers/YeelightController/YeelightControllerDetect.cpp \ Controllers/YeelightController/RGBController_Yeelight.cpp \