add support for Roccat Vulcan Pro to resolve #3856
This commit is contained in:
parent
a13a528117
commit
2dfde7e8cd
5 changed files with 17 additions and 3 deletions
|
|
@ -112,6 +112,7 @@ void RGBController_RoccatVulcanKeyboard::SetupZones()
|
|||
case ROCCAT_VULCAN_TKL_PID:
|
||||
keyboard_ptr = &RoccatVulcanTKLLayouts;
|
||||
break;
|
||||
case ROCCAT_VULCAN_PRO_PID:
|
||||
case ROCCAT_PYRO_PID:
|
||||
keyboard_ptr = &RoccatPyroLayouts;
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -99,6 +99,7 @@ void DetectRoccatVulcanKeyboardControllers(hid_device_info* info, const std::str
|
|||
|
||||
switch (info->product_id)
|
||||
{
|
||||
case ROCCAT_VULCAN_PRO_PID:
|
||||
case ROCCAT_PYRO_PID:
|
||||
case ROCCAT_MAGMA_PID:
|
||||
case ROCCAT_MAGMA_MINI_PID:
|
||||
|
|
@ -275,6 +276,7 @@ REGISTER_HID_DETECTOR_IP ("Roccat Pyro", DetectRoccatVulcanKe
|
|||
REGISTER_HID_DETECTOR_IP ("Roccat Vulcan 100 Aimo", DetectRoccatVulcanKeyboardControllers, ROCCAT_VID, ROCCAT_VULCAN_100_AIMO_PID, 1, 11);
|
||||
REGISTER_HID_DETECTOR_IP ("Roccat Vulcan 120-Series Aimo", DetectRoccatVulcanKeyboardControllers, ROCCAT_VID, ROCCAT_VULCAN_120_AIMO_PID, 1, 11);
|
||||
REGISTER_HID_DETECTOR_IP ("Roccat Vulcan TKL", DetectRoccatVulcanKeyboardControllers, ROCCAT_VID, ROCCAT_VULCAN_TKL_PID, 1, 11);
|
||||
REGISTER_HID_DETECTOR_IP ("Roccat Vulcan Pro", DetectRoccatVulcanKeyboardControllers, ROCCAT_VID, ROCCAT_VULCAN_PRO_PID, 1, 0xFF01);
|
||||
|
||||
/*-----------------------------------------------------------------*\
|
||||
| MICE |
|
||||
|
|
|
|||
|
|
@ -64,6 +64,7 @@ device_info RoccatVulcanKeyboardController::InitDeviceInfo()
|
|||
case ROCCAT_PYRO_PID:
|
||||
case ROCCAT_MAGMA_PID:
|
||||
case ROCCAT_MAGMA_MINI_PID:
|
||||
case ROCCAT_VULCAN_PRO_PID:
|
||||
packet_length = 9;
|
||||
report_id = 0x09;
|
||||
break;
|
||||
|
|
@ -116,6 +117,7 @@ void RoccatVulcanKeyboardController::EnableDirect(bool on_off_switch)
|
|||
case ROCCAT_PYRO_PID:
|
||||
case ROCCAT_MAGMA_PID:
|
||||
case ROCCAT_MAGMA_MINI_PID:
|
||||
case ROCCAT_VULCAN_PRO_PID:
|
||||
buf = new uint8_t[5] { 0x0E, 0x05, on_off_switch, 0x00, 0x00 };
|
||||
hid_send_feature_report(dev_ctrl, buf, 5);
|
||||
break;
|
||||
|
|
@ -145,6 +147,11 @@ void RoccatVulcanKeyboardController::SendColors(std::vector<led_color> colors)
|
|||
column_length = 1;
|
||||
protocol_version = 2;
|
||||
break;
|
||||
case ROCCAT_VULCAN_PRO_PID:
|
||||
packet_length = 384;
|
||||
column_length = 12;
|
||||
protocol_version = 2;
|
||||
break;
|
||||
default:
|
||||
packet_length = 436;
|
||||
column_length = 12;
|
||||
|
|
@ -246,7 +253,6 @@ void RoccatVulcanKeyboardController::SendColors(std::vector<led_color> colors)
|
|||
AwaitResponse(20);
|
||||
}
|
||||
|
||||
|
||||
void RoccatVulcanKeyboardController::SendMode(unsigned int mode, unsigned int speed, unsigned int brightness, std::vector<led_color> colors)
|
||||
{
|
||||
if(speed == 0) speed = ROCCAT_VULCAN_SPEED_DEFAULT;
|
||||
|
|
@ -269,6 +275,11 @@ void RoccatVulcanKeyboardController::SendMode(unsigned int mode, unsigned int sp
|
|||
packet_length = 26;
|
||||
column_length = 5;
|
||||
break;
|
||||
case ROCCAT_VULCAN_PRO_PID:
|
||||
protocol_version = 2;
|
||||
packet_length = 371;
|
||||
column_length = 12;
|
||||
break;
|
||||
default:
|
||||
protocol_version = 1;
|
||||
packet_length = 443;
|
||||
|
|
@ -351,6 +362,7 @@ void RoccatVulcanKeyboardController::WaitUntilReady()
|
|||
case ROCCAT_PYRO_PID:
|
||||
case ROCCAT_MAGMA_PID:
|
||||
case ROCCAT_MAGMA_MINI_PID:
|
||||
case ROCCAT_VULCAN_PRO_PID:
|
||||
packet_length = 4;
|
||||
break;
|
||||
default:
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@ enum
|
|||
ROCCAT_VULCAN_100_AIMO_PID = 0x307A,
|
||||
ROCCAT_VULCAN_120_AIMO_PID = 0x3098,
|
||||
ROCCAT_VULCAN_TKL_PID = 0x2FEE,
|
||||
ROCCAT_VULCAN_PRO_PID = 0x30F7,
|
||||
ROCCAT_PYRO_PID = 0x314C,
|
||||
ROCCAT_MAGMA_PID = 0x3124,
|
||||
ROCCAT_MAGMA_MINI_PID = 0x69A0,
|
||||
|
|
|
|||
|
|
@ -49,7 +49,6 @@ static unsigned int ROCCAT_VULCAN_120_AIMO_LAYOUT_KEYS_104[6][24] =
|
|||
{ 5, 7, 13, NA, NA, NA, 33, NA, NA, NA, 54, 60, 65, NA, 73, NA, 77, 82, 86, NA, 91, NA, 100, NA }
|
||||
};
|
||||
|
||||
|
||||
static unsigned int ROCCAT_VULCAN_120_AIMO_LAYOUT_KEYS_105[6][24] =
|
||||
{
|
||||
{ 0, NA, 9, 15, 20, 25, NA, 35, 40, 45, 50, 56, 62, 67, 72, NA, 75, 79, 84, NA, NA, NA, NA, NA },
|
||||
|
|
@ -70,7 +69,6 @@ static unsigned int ROCCAT_VULCAN_TKL_LAYOUT_KEYS_104[6][19] =
|
|||
{ 5, 7, 13, NA, NA, NA, 33, NA, NA, NA, 54, 60, 65, NA, 73, NA, 77, 81, 84 }
|
||||
};
|
||||
|
||||
|
||||
static unsigned int ROCCAT_VULCAN_TKL_LAYOUT_KEYS_105[6][19] =
|
||||
{
|
||||
{ 0, NA, 9, 15, 20, 25, NA, 35, 40, 45, 50, 56, 62, 67, 72, NA, 75, NA, NA },
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue