aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRyan Ward <[email protected]>2021-08-06 21:35:27 -0500
committerRyan Ward <[email protected]>2021-08-06 21:35:27 -0500
commit1c13312fb706c805fadac0e7a48d42b866e05468 (patch)
treef3c4a6b73f1d1778895c7cd1b4c740da6d9175f8
parent980f2134e78ddaaf47378cf4a74414808b89af7a (diff)
downloadlibrazermacos-1c13312fb706c805fadac0e7a48d42b866e05468.tar.xz
librazermacos-1c13312fb706c805fadac0e7a48d42b866e05468.zip
Adding support for Blackwidow V3 Pro based on openrazer project changes
-rw-r--r--.idea/.gitignore8
-rw-r--r--.idea/misc.xml18
-rw-r--r--.idea/vcs.xml6
-rw-r--r--src/include/razerkbd_driver.h3
-rwxr-xr-xsrc/lib/razerdevice.c3
-rw-r--r--src/lib/razerkbd_driver.c42
6 files changed, 80 insertions, 0 deletions
diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 0000000..73f69e0
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,8 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
+# Editor-based HTTP Client requests
+/httpRequests/
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000..53624c9
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+ <component name="ExternalStorageConfigurationManager" enabled="true" />
+ <component name="MakefileSettings">
+ <option name="linkedExternalProjectsSettings">
+ <MakefileProjectSettings>
+ <option name="externalProjectPath" value="$PROJECT_DIR$" />
+ <option name="modules">
+ <set>
+ <option value="$PROJECT_DIR$" />
+ </set>
+ </option>
+ <option name="version" value="2" />
+ </MakefileProjectSettings>
+ </option>
+ </component>
+ <component name="MakefileWorkspace" PROJECT_DIR="$PROJECT_DIR$" />
+</project> \ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..94a25f7
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+ <component name="VcsDirectoryMappings">
+ <mapping directory="$PROJECT_DIR$" vcs="Git" />
+ </component>
+</project> \ No newline at end of file
diff --git a/src/include/razerkbd_driver.h b/src/include/razerkbd_driver.h
index fcb4706..694d6f0 100644
--- a/src/include/razerkbd_driver.h
+++ b/src/include/razerkbd_driver.h
@@ -72,6 +72,9 @@
#define USB_DEVICE_ID_RAZER_CYNOSA_LITE 0x023F
#define USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_TK 0x0a24
#define USB_DEVICE_ID_RAZER_HUNTSMAN_MINI 0x0257
+#define USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_PRO_WIRED 0x025A
+#define USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_PRO_BLUETOOTH 0x025B
+#define USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_PRO_WIRELESS 0x025C
/* Each keyboard report has 90 bytes*/
#define RAZER_BLACKWIDOW_REPORT_LEN 0x5A
diff --git a/src/lib/razerdevice.c b/src/lib/razerdevice.c
index 2b1bda7..4d905ec 100755
--- a/src/lib/razerdevice.c
+++ b/src/lib/razerdevice.c
@@ -58,6 +58,9 @@ bool is_keyboard(IOUSBDeviceInterface **usb_dev)
case USB_DEVICE_ID_RAZER_CYNOSA_LITE:
case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3:
case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_TK:
+ case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_PRO_BLUETOOTH:
+ case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_PRO_WIRED:
+ case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_PRO_WIRELESS:
case USB_DEVICE_ID_RAZER_HUNTSMAN_MINI:
return true;
}
diff --git a/src/lib/razerkbd_driver.c b/src/lib/razerkbd_driver.c
index 054e8af..689efe4 100644
--- a/src/lib/razerkbd_driver.c
+++ b/src/lib/razerkbd_driver.c
@@ -118,6 +118,9 @@ ssize_t razer_attr_write_mode_macro_effect(IOUSBDeviceInterface **usb_dev, const
case USB_DEVICE_ID_RAZER_CYNOSA_LITE:
case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3:
case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_TK:
+ case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_PRO_BLUETOOTH:
+ case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_PRO_WIRED:
+ case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_PRO_WIRELESS:
case USB_DEVICE_ID_RAZER_HUNTSMAN_MINI:
report = razer_chroma_standard_set_led_effect(NOSTORE, MACRO_LED, enabled);
report.transaction_id.id = 0x3F;
@@ -277,6 +280,9 @@ ssize_t razer_attr_write_mode_none(IOUSBDeviceInterface **usb_dev, const char *b
case USB_DEVICE_ID_RAZER_CYNOSA_CHROMA:
case USB_DEVICE_ID_RAZER_CYNOSA_LITE:
case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_TK:
+ case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_PRO_BLUETOOTH:
+ case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_PRO_WIRED:
+ case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_PRO_WIRELESS:
case USB_DEVICE_ID_RAZER_HUNTSMAN_MINI:
report = razer_chroma_extended_matrix_effect_none(VARSTORE, BACKLIGHT_LED);
break;
@@ -337,6 +343,9 @@ ssize_t razer_attr_write_mode_wave(IOUSBDeviceInterface **usb_dev, const char *b
case USB_DEVICE_ID_RAZER_CYNOSA_CHROMA:
case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3:
case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_TK:
+ case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_PRO_BLUETOOTH:
+ case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_PRO_WIRED:
+ case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_PRO_WIRELESS:
case USB_DEVICE_ID_RAZER_HUNTSMAN_MINI:
report = razer_chroma_extended_matrix_effect_wave(VARSTORE, BACKLIGHT_LED, direction, speed);
break;
@@ -386,6 +395,9 @@ ssize_t razer_attr_write_mode_spectrum(IOUSBDeviceInterface **usb_dev, const cha
case USB_DEVICE_ID_RAZER_CYNOSA_LITE:
case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3:
case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_TK:
+ case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_PRO_BLUETOOTH:
+ case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_PRO_WIRED:
+ case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_PRO_WIRELESS:
case USB_DEVICE_ID_RAZER_HUNTSMAN_MINI:
report = razer_chroma_extended_matrix_effect_spectrum(VARSTORE, BACKLIGHT_LED);
break;
@@ -448,6 +460,9 @@ ssize_t razer_attr_write_mode_reactive(IOUSBDeviceInterface **usb_dev, const cha
case USB_DEVICE_ID_RAZER_CYNOSA_CHROMA:
case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3:
case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_TK:
+ case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_PRO_BLUETOOTH:
+ case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_PRO_WIRED:
+ case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_PRO_WIRELESS:
case USB_DEVICE_ID_RAZER_HUNTSMAN_MINI:
report = razer_chroma_extended_matrix_effect_reactive(VARSTORE, BACKLIGHT_LED, speed, (struct razer_rgb *)&buf[1]);
break;
@@ -578,6 +593,9 @@ ssize_t razer_attr_write_mode_static(IOUSBDeviceInterface **usb_dev, const char
case USB_DEVICE_ID_RAZER_CYNOSA_LITE:
case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3:
case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_TK:
+ case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_PRO_BLUETOOTH:
+ case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_PRO_WIRED:
+ case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_PRO_WIRELESS:
case USB_DEVICE_ID_RAZER_HUNTSMAN_MINI:
if (count == 3)
{
@@ -728,6 +746,9 @@ ssize_t razer_attr_write_mode_static_no_store(IOUSBDeviceInterface **usb_dev, co
case USB_DEVICE_ID_RAZER_CYNOSA_CHROMA:
case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3:
case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_TK:
+ case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_PRO_BLUETOOTH:
+ case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_PRO_WIRED:
+ case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_PRO_WIRELESS:
case USB_DEVICE_ID_RAZER_HUNTSMAN_MINI:
if (count == 3)
{
@@ -817,6 +838,9 @@ ssize_t razer_attr_write_mode_starlight(IOUSBDeviceInterface **usb_dev, const ch
case USB_DEVICE_ID_RAZER_CYNOSA_CHROMA:
case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3:
case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_TK:
+ case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_PRO_BLUETOOTH:
+ case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_PRO_WIRED:
+ case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_PRO_WIRELESS:
case USB_DEVICE_ID_RAZER_HUNTSMAN_MINI:
if (count == 7)
{
@@ -986,6 +1010,9 @@ ssize_t razer_attr_write_mode_breath(IOUSBDeviceInterface **usb_dev, const char
case USB_DEVICE_ID_RAZER_CYNOSA_LITE:
case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3:
case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_TK:
+ case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_PRO_BLUETOOTH:
+ case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_PRO_WIRED:
+ case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_PRO_WIRELESS:
case USB_DEVICE_ID_RAZER_HUNTSMAN_MINI:
switch (count)
{
@@ -1182,6 +1209,9 @@ ssize_t razer_attr_write_mode_custom(IOUSBDeviceInterface **usb_dev, const char
case USB_DEVICE_ID_RAZER_CYNOSA_CHROMA:
case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3:
case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_TK:
+ case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_PRO_BLUETOOTH:
+ case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_PRO_WIRED:
+ case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_PRO_WIRELESS:
case USB_DEVICE_ID_RAZER_HUNTSMAN_MINI:
report = razer_chroma_extended_matrix_effect_custom_frame();
break;
@@ -1253,6 +1283,9 @@ ssize_t razer_attr_write_set_brightness(IOUSBDeviceInterface **usb_dev, ushort b
case USB_DEVICE_ID_RAZER_CYNOSA_LITE:
case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3:
case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_TK:
+ case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_PRO_BLUETOOTH:
+ case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_PRO_WIRED:
+ case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_PRO_WIRELESS:
case USB_DEVICE_ID_RAZER_HUNTSMAN_MINI:
report = razer_chroma_extended_matrix_brightness(VARSTORE, BACKLIGHT_LED, brightness);
break;
@@ -1324,6 +1357,9 @@ ushort razer_attr_read_set_brightness(IOUSBDeviceInterface **usb_dev)
case USB_DEVICE_ID_RAZER_CYNOSA_LITE:
case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3:
case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_TK:
+ case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_PRO_BLUETOOTH:
+ case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_PRO_WIRED:
+ case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_PRO_WIRELESS:
case USB_DEVICE_ID_RAZER_HUNTSMAN_MINI:
report = razer_chroma_extended_matrix_get_brightness(VARSTORE, BACKLIGHT_LED);
is_matrix_brightness = true;
@@ -1435,6 +1471,9 @@ ssize_t razer_attr_write_matrix_custom_frame(IOUSBDeviceInterface **usb_dev, con
case USB_DEVICE_ID_RAZER_CYNOSA_CHROMA:
case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3:
case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_TK:
+ case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_PRO_BLUETOOTH:
+ case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_PRO_WIRED:
+ case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_PRO_WIRELESS:
case USB_DEVICE_ID_RAZER_HUNTSMAN_MINI:
report = razer_chroma_extended_matrix_set_custom_frame(row_id, start_col, stop_col, (unsigned char *)&buf[offset]);
break;
@@ -1506,6 +1545,9 @@ static int razer_get_report(IOUSBDeviceInterface **usb_dev, struct razer_report
case USB_DEVICE_ID_RAZER_HUNTSMAN_TE:
case USB_DEVICE_ID_RAZER_ORNATA_CHROMA_V2:
case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_TK:
+ case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_PRO_BLUETOOTH:
+ case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_PRO_WIRED:
+ case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_PRO_WIRELESS:
case USB_DEVICE_ID_RAZER_HUNTSMAN_MINI:
report_index = 0x02;
response_index = 0x02;