Skip to content

Commit cfedcd2

Browse files
Add Razer Blackwidow V4 Pro 75% wireless mode and add missing underglow LEDs to the matrix
1 parent cc06c62 commit cfedcd2

3 files changed

Lines changed: 59 additions & 14 deletions

File tree

Controllers/RazerController/RazerControllerDetect.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -239,6 +239,7 @@ REGISTER_HID_DETECTOR_IPU("Razer Blackwidow V3 Mini (Wireless)", Det
239239
REGISTER_HID_DETECTOR_IPU("Razer Blackwidow V4", DetectRazerControllers, RAZER_VID, RAZER_BLACKWIDOW_V4_PID, 0x03, 0x01, 0x00);
240240
REGISTER_HID_DETECTOR_IPU("Razer Blackwidow V4 Pro", DetectRazerControllers, RAZER_VID, RAZER_BLACKWIDOW_V4_PRO_PID, 0x03, 0x01, 0x00);
241241
REGISTER_HID_DETECTOR_IPU("Razer Blackwidow V4 Pro 75% (Wired)", DetectRazerControllers, RAZER_VID, RAZER_BLACKWIDOW_V4_PRO_75_WIRED_PID, 0x03, 0x0C, 0x01);
242+
REGISTER_HID_DETECTOR_IPU("Razer Blackwidow V4 Pro 75% (Wireless)", DetectRazerControllers, RAZER_VID, RAZER_BLACKWIDOW_V4_PRO_75_WIRELESS_PID, 0x02, 0x01, 0x02);
242243
REGISTER_HID_DETECTOR_IPU("Razer Blackwidow V4 75% (Wired)", DetectRazerControllers, RAZER_VID, RAZER_BLACKWIDOW_V4_75_WIRED_PID, 0x03, 0x01, 0x00);
243244
REGISTER_HID_DETECTOR_IPU("Razer Blackwidow V4 X", DetectRazerControllers, RAZER_VID, RAZER_BLACKWIDOW_V4_X_PID, 0x02, 0x01, 0x02);
244245
REGISTER_HID_DETECTOR_IPU("Razer Blackwidow X Chroma", DetectRazerControllers, RAZER_VID, RAZER_BLACKWIDOW_X_CHROMA_PID, 0x02, 0x01, 0x02);

Controllers/RazerController/RazerDevices.cpp

Lines changed: 57 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -345,7 +345,7 @@ keyboard_keymap_overlay_values razer_blackwidow_v4_pro_layout
345345
}
346346
};
347347

348-
keyboard_keymap_overlay_values razer_blackwidow_v4_pro_75_wired_layout
348+
keyboard_keymap_overlay_values razer_blackwidow_v4_pro_75_layout
349349
{
350350
KEYBOARD_SIZE::KEYBOARD_SIZE_SEVENTY_FIVE,
351351
{
@@ -361,27 +361,34 @@ keyboard_keymap_overlay_values razer_blackwidow_v4_pro_75_wired_layout
361361
\*-------------------------------------------------------------------------------------------------------------------------------------*/
362362
{ 0, 0, 0, 0, "Left Underglow 0", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
363363
{ 0, 0, 2, 0, KEY_EN_UNUSED, KEY_EN_UNUSED, KEYBOARD_OPCODE_REMOVE_SHIFT_LEFT, }, // Delete gap between ESC and F1
364+
{ 0, 0, 14, 0, "Left Underglow 1", KEY_EN_UNUSED, KEYBOARD_OPCODE_SWAP_ONLY },
365+
{ 0, 0, 15, 0, "Left Underglow 5", KEY_EN_UNUSED, KEYBOARD_OPCODE_SWAP_ONLY },
366+
{ 0, 0, 16, 0, "Left Underglow 8", KEY_EN_UNUSED, KEYBOARD_OPCODE_SWAP_ONLY },
364367
{ 0, 0, 17, 0, "Right Underglow 0", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
365-
{ 0, 1, 0, 0, "Left Underglow 1", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
368+
369+
{ 0, 1, 0, 0, "Left Underglow 2", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
366370
{ 0, 1, 14, 0, KEY_EN_UNUSED, KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, }, // Add gap between = and Backspace
367371
{ 0, 1, 16, 0, KEY_EN_DELETE, KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
368-
{ 0, 1, 17, 0, "Right Underglow 1", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
369-
{ 0, 2, 0, 0, "Left Underglow 2", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
372+
{ 0, 1, 17, 0, "Right Underglow 2", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
373+
{ 0, 2, 0, 0, "Left Underglow 3", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
370374
{ 0, 2, 16, 0, KEY_EN_PAGE_UP, KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
371-
{ 0, 2, 17, 0, "Right Underglow 2", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
372-
{ 0, 3, 0, 0, "Left Underglow 3", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
375+
{ 0, 2, 17, 0, "Right Underglow 3", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
376+
{ 0, 3, 0, 0, "Left Underglow 4", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
373377
{ 0, 3, 16, 0, KEY_EN_PAGE_DOWN, KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
374-
{ 0, 3, 17, 0, "Right Underglow 3", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
375-
{ 0, 4, 0, 0, "Left Underglow 4", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
378+
{ 0, 3, 17, 0, "Right Underglow 4", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
379+
{ 0, 4, 0, 0, "Left Underglow 6", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
376380
{ 0, 4, 15, 0, KEY_EN_UP_ARROW, KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
377381
{ 0, 4, 16, 0, KEY_EN_INSERT, KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
378-
{ 0, 4, 17, 0, "Right Underglow 4", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
379-
{ 0, 5, 0, 0, "Left Underglow 5", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
382+
{ 0, 4, 17, 0, "Right Underglow 6", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
383+
{ 0, 5, 0, 0, "Left Underglow 7", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
384+
{ 0, 5, 5, 0, "Right Underglow 1", KEY_EN_UNUSED, KEYBOARD_OPCODE_SWAP_ONLY },
385+
{ 0, 5, 6, 0, "Right Underglow 5", KEY_EN_UNUSED, KEYBOARD_OPCODE_SWAP_ONLY },
386+
{ 0, 5, 8, 0, "Right Underglow 8", KEY_EN_UNUSED, KEYBOARD_OPCODE_SWAP_ONLY },
380387
{ 0, 5, 13, 0, KEY_EN_UNUSED, KEY_EN_UNUSED, KEYBOARD_OPCODE_REMOVE_SHIFT_LEFT, }, // Remove Menu key between Fn and RCtrl
381388
{ 0, 5, 14, 0, KEY_EN_LEFT_ARROW, KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
382389
{ 0, 5, 15, 0, KEY_EN_DOWN_ARROW, KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
383390
{ 0, 5, 16, 0, KEY_EN_RIGHT_ARROW, KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
384-
{ 0, 5, 17, 0, "Right Underglow 5", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
391+
{ 0, 5, 17, 0, "Right Underglow 7", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
385392
}
386393
};
387394

@@ -1817,7 +1824,7 @@ static const razer_device blackwidow_v4_pro_device =
18171824
};
18181825

18191826
/*-------------------------------------------------------------*\
1820-
| Razer Blackwidow V4 Pro 75% 1532:02B3 |
1827+
| Razer Blackwidow V4 Pro 75% (Wired) 1532:02B3 |
18211828
| |
18221829
| Zone "Keyboard" |
18231830
| Matrix |
@@ -1848,7 +1855,42 @@ static const razer_device blackwidow_v4_pro_75_wired_device =
18481855
NULL,
18491856
NULL
18501857
},
1851-
&razer_blackwidow_v4_pro_75_wired_layout
1858+
&razer_blackwidow_v4_pro_75_layout
1859+
};
1860+
1861+
/*-------------------------------------------------------------*\
1862+
| Razer Blackwidow V4 Pro 75% (Wireless) 1532:02B4 |
1863+
| |
1864+
| Zone "Keyboard" |
1865+
| Matrix |
1866+
| 6 Rows, 18 Columns |
1867+
\*-------------------------------------------------------------*/
1868+
static const razer_zone blackwidow_v4_pro_75_wireless_zone =
1869+
{
1870+
ZONE_EN_KEYBOARD,
1871+
ZONE_TYPE_MATRIX,
1872+
6,
1873+
18
1874+
};
1875+
1876+
static const razer_device blackwidow_v4_pro_75_wireless_device =
1877+
{
1878+
"Razer Blackwidow V4 Pro 75% (Wireless)",
1879+
RAZER_BLACKWIDOW_V4_PRO_75_WIRELESS_PID,
1880+
DEVICE_TYPE_KEYBOARD,
1881+
RAZER_MATRIX_TYPE_EXTENDED,
1882+
0x1F,
1883+
6,
1884+
18,
1885+
{
1886+
&blackwidow_v4_pro_75_wireless_zone,
1887+
NULL,
1888+
NULL,
1889+
NULL,
1890+
NULL,
1891+
NULL
1892+
},
1893+
&razer_blackwidow_v4_pro_75_layout
18521894
};
18531895

18541896
/*-------------------------------------------------------------*\
@@ -1883,7 +1925,7 @@ static const razer_device blackwidow_v4_75_wired_device =
18831925
NULL,
18841926
NULL
18851927
},
1886-
&razer_blackwidow_v4_pro_75_wired_layout
1928+
&razer_blackwidow_v4_pro_75_layout
18871929
};
18881930

18891931
/*-------------------------------------------------------------*\
@@ -9093,6 +9135,7 @@ const razer_device* razer_device_list[] =
90939135
&blackwidow_v4_device,
90949136
&blackwidow_v4_pro_device,
90959137
&blackwidow_v4_pro_75_wired_device,
9138+
&blackwidow_v4_pro_75_wireless_device,
90969139
&blackwidow_v4_75_wired_device,
90979140
&blackwidow_v4_x_device,
90989141
&blackwidow_x_chroma_device,

Controllers/RazerController/RazerDevices.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@
5454
#define RAZER_BLACKWIDOW_V4_PRO_PID 0x028D
5555
#define RAZER_BLACKWIDOW_V4_X_PID 0x0293
5656
#define RAZER_BLACKWIDOW_V4_PRO_75_WIRED_PID 0x02B3
57+
#define RAZER_BLACKWIDOW_V4_PRO_75_WIRELESS_PID 0x02B4
5758
#define RAZER_BLACKWIDOW_V4_75_WIRED_PID 0x02A5
5859
#define RAZER_BLACKWIDOW_X_CHROMA_PID 0x0216
5960
#define RAZER_BLACKWIDOW_X_CHROMA_TE_PID 0x021A

0 commit comments

Comments
 (0)