diff options
| author | Ryan Ward <[email protected]> | 2021-08-06 21:35:27 -0500 |
|---|---|---|
| committer | Ryan Ward <[email protected]> | 2021-08-06 21:35:27 -0500 |
| commit | 1c13312fb706c805fadac0e7a48d42b866e05468 (patch) | |
| tree | f3c4a6b73f1d1778895c7cd1b4c740da6d9175f8 | |
| parent | 980f2134e78ddaaf47378cf4a74414808b89af7a (diff) | |
| download | librazermacos-1c13312fb706c805fadac0e7a48d42b866e05468.tar.xz librazermacos-1c13312fb706c805fadac0e7a48d42b866e05468.zip | |
Adding support for Blackwidow V3 Pro based on openrazer project changes
| -rw-r--r-- | .idea/.gitignore | 8 | ||||
| -rw-r--r-- | .idea/misc.xml | 18 | ||||
| -rw-r--r-- | .idea/vcs.xml | 6 | ||||
| -rw-r--r-- | src/include/razerkbd_driver.h | 3 | ||||
| -rwxr-xr-x | src/lib/razerdevice.c | 3 | ||||
| -rw-r--r-- | src/lib/razerkbd_driver.c | 42 |
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; |
