diff --git a/Controllers/CorsairPeripheralV2Controller/CorsairPeripheralV2ControllerDetect.cpp b/Controllers/CorsairPeripheralV2Controller/CorsairPeripheralV2ControllerDetect.cpp index 5c1f5c62..8ae29998 100644 --- a/Controllers/CorsairPeripheralV2Controller/CorsairPeripheralV2ControllerDetect.cpp +++ b/Controllers/CorsairPeripheralV2Controller/CorsairPeripheralV2ControllerDetect.cpp @@ -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); diff --git a/Controllers/CorsairPeripheralV2Controller/CorsairPeripheralV2Devices.cpp b/Controllers/CorsairPeripheralV2Controller/CorsairPeripheralV2Devices.cpp index 06319799..8d5b9638 100644 --- a/Controllers/CorsairPeripheralV2Controller/CorsairPeripheralV2Devices.cpp +++ b/Controllers/CorsairPeripheralV2Controller/CorsairPeripheralV2Devices.cpp @@ -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, diff --git a/Controllers/CorsairPeripheralV2Controller/CorsairPeripheralV2Devices.h b/Controllers/CorsairPeripheralV2Controller/CorsairPeripheralV2Devices.h index e9a6ad94..eb6389c7 100644 --- a/Controllers/CorsairPeripheralV2Controller/CorsairPeripheralV2Devices.h +++ b/Controllers/CorsairPeripheralV2Controller/CorsairPeripheralV2Devices.h @@ -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