diff --git a/Controllers/RazerController/RazerController/RazerController.cpp b/Controllers/RazerController/RazerController/RazerController.cpp index 974e7025d..e534ca913 100644 --- a/Controllers/RazerController/RazerController/RazerController.cpp +++ b/Controllers/RazerController/RazerController/RazerController.cpp @@ -443,6 +443,8 @@ bool RazerController::SupportsWave() case RAZER_BLACKWIDOW_V4_X_PID: case RAZER_BLACKWIDOW_V4_TKL_WIRED_PID: case RAZER_BLACKWIDOW_V4_TKL_WIRELESS_PID: + case RAZER_BLACKWIDOW_V4_LOWPROFILE_TKL_WIRED_PID: + case RAZER_BLACKWIDOW_V4_LOWPROFILE_TKL_WIRELESS_PID: case RAZER_BLACKWIDOW_X_CHROMA_PID: case RAZER_BLACKWIDOW_X_CHROMA_TE_PID: case RAZER_BLADE_2016_PID: diff --git a/Controllers/RazerController/RazerControllerDetect.cpp b/Controllers/RazerController/RazerControllerDetect.cpp index 6bf621e48..9016c669f 100644 --- a/Controllers/RazerController/RazerControllerDetect.cpp +++ b/Controllers/RazerController/RazerControllerDetect.cpp @@ -244,6 +244,8 @@ REGISTER_HID_DETECTOR_IPU("Razer Blackwidow V4 75% (Wired)", Det REGISTER_HID_DETECTOR_IPU("Razer Blackwidow V4 X", DetectRazerControllers, RAZER_VID, RAZER_BLACKWIDOW_V4_X_PID, 0x02, 0x01, 0x02); REGISTER_HID_DETECTOR_IPU("Razer Blackwidow V4 TKL (Wired)", DetectRazerControllers, RAZER_VID, RAZER_BLACKWIDOW_V4_TKL_WIRED_PID, 0x03, 0x0C, 0x01); REGISTER_HID_DETECTOR_IPU("Razer Blackwidow V4 TKL (Wireless)", DetectRazerControllers, RAZER_VID, RAZER_BLACKWIDOW_V4_TKL_WIRELESS_PID, 0x02, 0x01, 0x02); +REGISTER_HID_DETECTOR_IPU("Razer Blackwidow V4 Low Profile TKL (Wired)", DetectRazerControllers, RAZER_VID, RAZER_BLACKWIDOW_V4_LOWPROFILE_TKL_WIRED_PID, 0x03, 0x0C, 0x01); +REGISTER_HID_DETECTOR_IPU("Razer Blackwidow V4 Low Profile TKL (Wireless)", DetectRazerControllers, RAZER_VID, RAZER_BLACKWIDOW_V4_LOWPROFILE_TKL_WIRELESS_PID, 0x02, 0x01, 0x02); REGISTER_HID_DETECTOR_IPU("Razer Blackwidow X Chroma", DetectRazerControllers, RAZER_VID, RAZER_BLACKWIDOW_X_CHROMA_PID, 0x02, 0x01, 0x02); REGISTER_HID_DETECTOR_IPU("Razer Blackwidow X Chroma Tournament Edition", DetectRazerControllers, RAZER_VID, RAZER_BLACKWIDOW_X_CHROMA_TE_PID, 0x02, 0x01, 0x02); REGISTER_HID_DETECTOR_IPU("Razer Cynosa Chroma", DetectRazerControllers, RAZER_VID, RAZER_CYNOSA_CHROMA_PID, 0x02, 0x01, 0x02); diff --git a/Controllers/RazerController/RazerDevices.cpp b/Controllers/RazerController/RazerDevices.cpp index 7862d4bf0..5a67ef8c8 100644 --- a/Controllers/RazerController/RazerDevices.cpp +++ b/Controllers/RazerController/RazerDevices.cpp @@ -2056,6 +2056,76 @@ static const razer_device blackwidow_v4_tkl_wireless_device = &razer_blackwidow_v4_tkl_layout }; +/*-------------------------------------------------------------*\ +| Razer Blackwidow V4 Low Profile TKL (Wired) 1532:02D4 | +| | +| Zone "Keyboard" | +| Matrix | +| 6 Rows, 18 Columns | +\*-------------------------------------------------------------*/ +static const razer_zone blackwidow_v4_lowprofile_tkl_wired_zone = +{ + ZONE_EN_KEYBOARD, + ZONE_TYPE_MATRIX, + 6, + 18 +}; + +static const razer_device blackwidow_v4_lowprofile_tkl_wired_device = +{ + "Razer Blackwidow V4 Low Profile TKL (Wired)", + RAZER_BLACKWIDOW_V4_LOWPROFILE_TKL_WIRED_PID, + DEVICE_TYPE_KEYBOARD, + RAZER_MATRIX_TYPE_EXTENDED, + 0x1F, + 6, + 18, + { + &blackwidow_v4_tkl_wired_zone, + NULL, + NULL, + NULL, + NULL, + NULL + }, + &razer_blackwidow_v4_tkl_layout //same layout as v4 (just low profile) +}; + +/*-------------------------------------------------------------*\ +| Razer Blackwidow V4 Low Profile TKL (Wireless) 1532:02D2 | +| | +| Zone "Keyboard" | +| Matrix | +| 6 Rows, 18 Columns | +\*-------------------------------------------------------------*/ +static const razer_zone blackwidow_v4_lowprofile_tkl_wireless_zone = +{ + ZONE_EN_KEYBOARD, + ZONE_TYPE_MATRIX, + 6, + 18 +}; + +static const razer_device blackwidow_v4_lowprofile_tkl_wireless_device = +{ + "Razer Blackwidow V4 Low Profile TKL (Wireless)", + RAZER_BLACKWIDOW_V4_LOWPROFILE_TKL_WIRELESS_PID, + DEVICE_TYPE_KEYBOARD, + RAZER_MATRIX_TYPE_EXTENDED, + 0x9F, + 6, + 18, + { + &blackwidow_v4_lowprofile_tkl_wireless_zone, + NULL, + NULL, + NULL, + NULL, + NULL + }, + &razer_blackwidow_v4_tkl_layout //same layout as v4 (just low profile) +}; + /*-------------------------------------------------------------*\ | Razer Blackwidow X Chroma 1532:0216 | | | @@ -9329,6 +9399,8 @@ const razer_device* razer_device_list[] = &blackwidow_v4_x_device, &blackwidow_v4_tkl_wired_device, &blackwidow_v4_tkl_wireless_device, + &blackwidow_v4_lowprofile_tkl_wired_device, + &blackwidow_v4_lowprofile_tkl_wireless_device, &blackwidow_x_chroma_device, &blackwidow_x_chroma_te_device, &cynosa_chroma_device, diff --git a/Controllers/RazerController/RazerDevices.h b/Controllers/RazerController/RazerDevices.h index 81e0a8472..b29d07feb 100644 --- a/Controllers/RazerController/RazerDevices.h +++ b/Controllers/RazerController/RazerDevices.h @@ -59,6 +59,8 @@ #define RAZER_BLACKWIDOW_V4_75_WIRED_PID 0x02A5 #define RAZER_BLACKWIDOW_V4_TKL_WIRED_PID 0x02D7 #define RAZER_BLACKWIDOW_V4_TKL_WIRELESS_PID 0x02D5 +#define RAZER_BLACKWIDOW_V4_LOWPROFILE_TKL_WIRED_PID 0x02D4 +#define RAZER_BLACKWIDOW_V4_LOWPROFILE_TKL_WIRELESS_PID 0x02D2 #define RAZER_BLACKWIDOW_X_CHROMA_PID 0x0216 #define RAZER_BLACKWIDOW_X_CHROMA_TE_PID 0x021A #define RAZER_BLADE_2016_PID 0x020F