Initial commit for the Corsair K70 Pro keyboard

* Adding key layout and metadata to CorsairPeripheralV2Devices.cpp
* Adding new detector
* Resolves #2891
This commit is contained in:
Chris M 2023-06-21 07:11:43 +10:00 committed by Adam Honse
parent fda419faca
commit 9c601bde44
3 changed files with 52 additions and 0 deletions

View file

@ -61,6 +61,7 @@ REGISTER_HID_DETECTOR_IP("Corsair K55 RGB PRO", DetectCorsai
REGISTER_HID_DETECTOR_IP("Corsair K60 RGB PRO", DetectCorsairV2SoftwareControllers, CORSAIR_VID, CORSAIR_K60_RGB_PRO_PID, 1, 0xFF42);
REGISTER_HID_DETECTOR_IP("Corsair K60 RGB PRO Low Profile", DetectCorsairV2SoftwareControllers, CORSAIR_VID, CORSAIR_K60_RGB_PRO_LP_PID, 1, 0xFF42);
REGISTER_HID_DETECTOR_IP("Corsair K60 RGB PRO TKL", DetectCorsairV2HardwareControllers, CORSAIR_VID, CORSAIR_K60_RGB_PRO_TKL_PID, 1, 0xFF42);
REGISTER_HID_DETECTOR_IP("Corsair K70 RGB PRO", DetectCorsairV2HardwareControllers, CORSAIR_VID, CORSAIR_K70_RGB_PRO_PID, 1, 0xFF42);
REGISTER_HID_DETECTOR_IP("Corsair K70 RGB TKL", DetectCorsairV2HardwareControllers, CORSAIR_VID, CORSAIR_K70_RGB_TKL_PID, 1, 0xFF42);
REGISTER_HID_DETECTOR_IP("Corsair K70 RGB TKL Champion Series", DetectCorsairV2HardwareControllers, CORSAIR_VID, CORSAIR_K70_RGB_TKL_CS_PID, 1, 0xFF42);

View file

@ -73,6 +73,23 @@ keyboard_keymap_overlay_values corsair_K60_tkl_layout
}
};
keyboard_keymap_overlay_values corsair_k70_layout
{
KEYBOARD_SIZE::KEYBOARD_SIZE_FULL,
{
corsair_full_size_values,
{
/* Add more regional layout fixes here */
}
},
{
/*---------------------------------------------------------------------------------------------------------*\
| Edit Keys |
| Zone, Row, Column, Value, Key, OpCode, |
\*---------------------------------------------------------------------------------------------------------*/
}
};
keyboard_keymap_overlay_values corsair_K70_TKL_cs_layout
{
KEYBOARD_SIZE::KEYBOARD_SIZE_TKL,
@ -666,6 +683,38 @@ static const corsair_v2_device k70_rgb_tkl_cs_device =
&corsair_K70_TKL_cs_layout
};
/*-------------------------------------------------------------*\
| Corsair k70 RGB Pro 1B1C:1BC4 |
| |
| Zone "Keyboard" |
| Matrix |
| 6 Rows, 21 Columns |
\*-------------------------------------------------------------*/
static const corsair_v2_zone k70_rgb_pro_zone =
{
ZONE_EN_KEYBOARD,
ZONE_TYPE_MATRIX,
6,
21
};
static const corsair_v2_device k70_rgb_pro_device =
{
CORSAIR_K70_RGB_PRO_PID,
DEVICE_TYPE_KEYBOARD,
6,
21,
{
&k70_rgb_pro_zone,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr
},
&corsair_k70_layout
};
/*-------------------------------------------------------------*\
| Corsair M55 1B1C:1B70 |
| |
@ -814,6 +863,7 @@ const corsair_v2_device* corsair_v2_device_list_data[] =
&k60_rgb_pro_device,
&k60_rgb_pro_lp_device,
&k60_rgb_pro_tkl_device,
&k70_rgb_pro_device,
&k70_rgb_tkl_device,
&k70_rgb_tkl_cs_device,

View file

@ -63,6 +63,7 @@ typedef struct
#define CORSAIR_K60_RGB_PRO_PID 0x1BA0
#define CORSAIR_K60_RGB_PRO_LP_PID 0x1BAD
#define CORSAIR_K60_RGB_PRO_TKL_PID 0x1BC7
#define CORSAIR_K70_RGB_PRO_PID 0x1BC4
#define CORSAIR_K70_RGB_TKL_PID 0x1B73
#define CORSAIR_K70_RGB_TKL_CS_PID 0x1BB9