8000 Adds support for Balistik V3 Pro (Wired and Wireless) and Mouse Dock Pro by fcoury · Pull Request #47 · 1kc/librazermacos · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Adds support for Balistik V3 Pro (Wired and Wireless) and Mouse Dock Pro #47

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 5 additions & 2 deletions Makefile
10000
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ CC=gcc
# Flags and Header
ARCHFLAGS=-arch arm64 -arch x86_64
OSFLAGS=-mmacosx-version-min=10.5
CFLAGS=-Wall -Wextra -framework CoreFoundation -framework IOKit
CFLAGS=-Wall -Wextra -framework CoreFoundation -framework IOKit

all: sample_cli

Expand All @@ -39,11 +39,14 @@ sample_cli: $(LIB_TARGET_NAME) $(CLI_OBJECTS)
@$(CC) $(ARCHFLAGS) $(OSFLAGS) $(CFLAGS) -L. -I$(SRC)/$(INCLUDE) -o sample_cli $(SRC)/sample_cli.c -l$(NAME)
@printf "$(GREEN) ✓ Building sample_cli\n"

sample_cli_dock: $(LIB_TARGET_NAME) $(CLI_OBJECTS)
@$(CC) $(ARCHFLAGS) $(OSFLAGS) $(CFLAGS) -L. -I$(SRC)/$(INCLUDE) -o sample_cli_dock $(SRC)/sample_cli_dock.c -l$(NAME)
@printf "$(GREEN) ✓ Building sample_cli_dock\n"

$(LIB_TARGET_NAME): $(LIB_OBJECTS)
@$(CC) $(ARCHFLAGS) $(OSFLAGS) $(CFLAGS) -fPIC -o $@ $^ -shared
@printf "$(GREEN) ✓ Building $(LIB_TARGET_NAME)\n"

$(OBJ)/%.o: $(SRC)/$(LIB)/%.c | $(OBJ)
@$(CC) $(ARCHFLAGS) $(OSFLAGS) -I$(SRC)/$(INCLUDE) -c $< -o $@
@printf "$(GREEN) ✓ Building $@\n"
Expand Down
Binary file added sample_cli_dock
Binary file not shown.
5 changes: 4 additions & 1 deletion src/include/razermouse_driver.h
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
* Software Foundation; either version 2 of the License, or (at your option)
* any later version.
*/

#include <IOKit/IOKitLib.h>
#include <IOKit/usb/IOUSBLib.h>

Expand Down Expand Up @@ -79,6 +79,9 @@
#define USB_DEVICE_ID_RAZER_OROCHI_V2_RECEIVER 0x0094
#define USB_DEVICE_ID_RAZER_OROCHI_V2 0x0095
#define USB_DEVICE_ID_RAZER_OROCHI_V2_BLUETOOTH 0x0095
#define USB_DEVICE_ID_RAZER_BASILISK_V3_PRO_WIRED 0x00AA
#define USB_DEVICE_ID_RAZER_BASILISK_V3_PRO_WIRELESS 0x00AB
#define USB_DEVICE_ID_RAZER_MOUSE_DOCK_PRO 0x00A4

/* Each keyboard report has 90 bytes*/
#define RAZER_REPORT_LEN 0x5A
Expand Down
7 changes: 5 additions & 2 deletions src/include/razermousedock_driver.h
Original file line number Diff line number Diff line change
Expand Up @@ -8,26 +8,29 @@
* Software Foundation; either version 2 of the License, or (at your option)
* any later version.
*/

#include <IOKit/IOKitLib.h>
#include <IOKit/usb/IOUSBLib.h>

#ifndef __HID_RAZER_MOUSE_DOCK_H
#define __HID_RAZER_MOUSE_DOCK_H

#define USB_DEVICE_ID_RAZER_MOUSE_CHARGING_DOCK 0x007E
#define USB_DEVICE_ID_RAZER_MOUSE_DOCK_PRO 0x00A4

/* Each report has 90 bytes*/
#define RAZER_REPORT_LEN 0x5A

#define RAZER_MOUSE_DOCK_WAIT_MIN_US 600
#define RAZER_MOUSE_DOCK_WAIT_MAX_US 800

#define RAZER_MOUSE_DOCK_PRO_WAIT_MIN_US 59900
#define RAZER_MOUSE_DOCK_PRO_WAIT_MAX_US 60000

ssize_t razer_mouse_dock_attr_write_mode_static(IOUSBDeviceInterface **usb_dev, const char *buf, size_t count);
ssize_t razer_mouse_dock_attr_write_mode_static_no_store(IOUSBDeviceInterface **usb_dev, const char *buf, size_t count);
ssize_t razer_mouse_dock_attr_write_mode_spectrum(IOUSBDeviceInterface **usb_dev, const char *buf, size_t count);
ssize_t razer_mouse_dock_attr_write_mode_breath(IOUSBDeviceInterface **usb_dev, const char *buf, size_t count);
ssize_t razer_mouse_dock_attr_write_mode_none(IOUSBDeviceInterface **usb_dev, const char *buf, size_t count);

#endif
#endif
3 changes: 3 additions & 0 deletions src/lib/razerdevice.c
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,8 @@ bool is_mouse(IOUSBDeviceInterface **usb_dev)
case USB_DEVICE_ID_RAZER_BASILISK:
case USB_DEVICE_ID_RAZER_BASILISK_ULTIMATE:
case USB_DEVICE_ID_RAZER_BASILISK_ULTIMATE_RECEIVER:
case USB_DEVICE_ID_RAZER_BASILISK_V3_PRO_WIRELESS:
case USB_DEVICE_ID_RAZER_BASILISK_V3_PRO_WIRED:
case USB_DEVICE_ID_RAZER_NAGA_TRINITY:
case USB_DEVICE_ID_RAZER_NAGA_PRO_WIRELESS:
case USB_DEVICE_ID_RAZER_NAGA_PRO_WIRED:
Expand Down Expand Up @@ -156,6 +158,7 @@ bool is_mouse_dock(IOUSBDeviceInterface **usb_dev)
switch (product)
{
case USB_DEVICE_ID_RAZER_MOUSE_CHARGING_DOCK:
case USB_DEVICE_ID_RAZER_MOUSE_DOCK_PRO:
return true;
}

Expand Down
42 changes: 38 additions & 4 deletions src/lib/razermouse_driver.c
case USB_DEVICE_ID_RAZER_MOUSE_DOCK_PRO:
Original file line number Diff line number Diff line change
Expand Up @@ -73,14 +73,17 @@ static int razer_get_report(IOUSBDeviceInterface **usb_dev, struct razer_report
case USB_DEVICE_ID_RAZER_NAGA_TRINITY:
case USB_DEVICE_ID_RAZER_DEATHADDER_V2_PRO_WIRELESS:
case USB_DEVICE_ID_RAZER_DEATHADDER_V2_PRO_WIRED:
case USB_DEVICE_ID_RAZER_MOUSE_DOCK_PRO:
case USB_DEVICE_ID_RAZER_BASILISK_V3_PRO_WIRED:
case USB_DEVICE_ID_RAZER_BASILISK_V3_PRO_WIRELESS:
return razer_get_usb_response(usb_dev, index, request_report, index, response_report, RAZER_VIPER_MOUSE_RECEIVER_WAIT_MIN_US);
break;

case USB_DEVICE_ID_RAZER_BASILISK_V3:
index = 0x03;
return razer_get_usb_response(usb_dev, index, request_report, index, response_report, RAZER_NEW_MOUSE_RECEIVER_WAIT_MIN_US);
break;

default:
return razer_get_usb_response(usb_dev, index, request_report, index, response_report, RAZER_MOUSE_WAIT_MIN_US);
}
Expand Down Expand Up @@ -150,6 +153,7 @@ ssize_t razer_attr_write_side_mode_wave(IOUSBDeviceInterface **usb_dev, const ch
report.transaction_id.id = 0x1f;
break;
case USB_DEVICE_ID_RAZER_BASILISK_V3:
case USB_DEVICE_ID_RAZER_MOUSE_DOCK_PRO:
report = razer_chroma_extended_matrix_effect_wave(VARSTORE, BASILISK_V3_BASE_LED, direction, 0x28);
report.transaction_id.id = 0x1f;
break;
Expand Down Expand Up @@ -214,7 +218,8 @@ ssize_t razer_attr_write_side_mode_static(IOUSBDeviceInterface **usb_dev, const
break;

case USB_DEVICE_ID_RAZER_BASILISK_V3:
report = razer_chroma_extended_matrix_effect_static(VARSTORE, BASILISK_V3_BASE_LED, (struct razer_rgb*)&buf[0]);
case USB_DEVICE_ID_RAZER_MOUSE_DOCK_PRO:
report = razer_chroma_extended_matrix_effect_static(VARSTORE, BASILISK_V3_BASE_LED, (struct razer_rgb *)&buf[0]);
report.transaction_id.id = 0x1f;
break;

Expand Down Expand Up @@ -346,6 +351,7 @@ ssize_t razer_attr_write_side_mode_spectrum(IOUSBDeviceInterface **usb_dev, cons
break;

case USB_DEVICE_ID_RAZER_BASILISK_V3:
case USB_DEVICE_ID_RAZER_MOUSE_DOCK_PRO:
report = razer_chroma_extended_matrix_effect_spectrum(VARSTORE, BASILISK_V3_BASE_LED);
report.transaction_id.id = 0x1f;
break;
Expand Down Expand Up @@ -414,6 +420,7 @@ ssize_t razer_attr_write_side_mode_breath(IOUSBDeviceInterface **usb_dev, const
case USB_DEVICE_ID_RAZER_BASILISK_ULTIMATE_RECEIVER:
case USB_DEVICE_ID_RAZER_DEATHADDER_V2:
case USB_DEVICE_ID_RAZER_DEATHADDER_V2_MINI:
case USB_DEVICE_ID_RAZER_MOUSE_DOCK_PRO:
switch(count) {
case 3: // Single colour mode
report = razer_chroma_extended_matrix_effect_breathing_single(VARSTORE, side, (struct razer_rgb*)&buf[0]);
Expand All @@ -433,6 +440,7 @@ ssize_t razer_attr_write_side_mode_breath(IOUSBDeviceInterface **usb_dev, const
switch(product) {
case USB_DEVICE_ID_RAZER_MAMBA_ELITE:
case USB_DEVICE_ID_RAZER_BASILISK_V2:
case USB_DEVICE_ID_RAZER_MOUSE_DOCK_PRO:
report.transaction_id.id = 0x1f;
break;

Expand Down Expand Up @@ -495,6 +503,7 @@ ssize_t razer_attr_write_side_mode_none(IOUSBDeviceInterface **usb_dev, const ch
report.transaction_id.id = 0x1f;
break;
case USB_DEVICE_ID_RAZER_BASILISK_V3:
case USB_DEVICE_ID_RAZER_MOUSE_DOCK_PRO:
report = razer_chroma_extended_matrix_effect_none(VARSTORE, BASILISK_V3_BASE_LED);
report.transaction_id.id = 0x1f;
break;
Expand Down Expand Up @@ -535,6 +544,7 @@ ssize_t razer_attr_write_logo_mode_wave(IOUSBDeviceInterface **usb_dev, const ch
case USB_DEVICE_ID_RAZER_MAMBA_ELITE:
case USB_DEVICE_ID_RAZER_BASILISK_V2:
case USB_DEVICE_ID_RAZER_BASILISK_V3:
case USB_DEVICE_ID_RAZER_MOUSE_DOCK_PRO:
report = razer_chroma_extended_matrix_effect_wave(VARSTORE, LOGO_LED, direction, 0x28);
report.transaction_id.id = 0x1f;
break;
Expand Down Expand Up @@ -575,6 +585,7 @@ ssize_t razer_attr_write_scroll_mode_wave(IOUSBDeviceInterface **usb_dev, const
case USB_DEVICE_ID_RAZER_MAMBA_ELITE:
case USB_DEVICE_ID_RAZER_BASILISK_V2:
case USB_DEVICE_ID_RAZER_BASILISK_V3:
case USB_DEVICE_ID_RAZER_MOUSE_DOCK_PRO:
report = razer_chroma_extended_matrix_effect_wave(VARSTORE, SCROLL_WHEEL_LED, direction, 0x28);
report.transaction_id.id = 0x1f;
break;
Expand Down Expand Up @@ -662,6 +673,7 @@ ssize_t razer_attr_write_logo_mode_static(IOUSBDeviceInterface **usb_dev, const
case USB_DEVICE_ID_RAZER_MAMBA_ELITE:
case USB_DEVICE_ID_RAZER_BASILISK_V2:
case USB_DEVICE_ID_RAZER_BASILISK_V3:
case USB_DEVICE_ID_RAZER_MOUSE_DOCK_PRO:
report = razer_chroma_extended_matrix_effect_static(VARSTORE, LOGO_LED, (struct razer_rgb*)&buf[0]);
report.transaction_id.id = 0x1f;
break;
Expand Down Expand Up @@ -734,6 +746,7 @@ ssize_t razer_attr_write_scroll_mode_static(IOUSBDeviceInterface **usb_dev, cons
case USB_DEVICE_ID_RAZER_MAMBA_ELITE:
case USB_DEVICE_ID_RAZER_BASILISK_V2:
case USB_DEVICE_ID_RAZER_BASILISK_V3:
case USB_DEVICE_ID_RAZER_MOUSE_DOCK_PRO:
report = razer_chroma_extended_matrix_effect_static(VARSTORE, SCROLL_WHEEL_LED, (struct razer_rgb*)&buf[0]);
report.transaction_id.id = 0x1f;
break;
Expand Down Expand Up @@ -832,6 +845,7 @@ ssize_t razer_attr_write_logo_mode_static_no_store(IOUSBDeviceInterface **usb_de
case USB_DEVICE_ID_RAZER_MAMBA_ELITE:
case USB_DEVICE_ID_RAZER_BASILISK_V2:
case USB_DEVICE_ID_RAZER_BASILISK_V3:
case USB_DEVICE_ID_RAZER_MOUSE_DOCK_PRO:
report = razer_chroma_extended_matrix_effect_static(NOSTORE, LOGO_LED, (struct razer_rgb*)&buf[0]);
report.transaction_id.id = 0x1f;
break;
Expand Down Expand Up @@ -907,6 +921,7 @@ ssize_t razer_attr_write_scroll_mode_static_no_store(IOUSBDeviceInterface **usb_
case USB_DEVICE_ID_RAZER_MAMBA_ELITE:
case USB_DEVICE_ID_RAZER_BASILISK_V2:
case USB_DEVICE_ID_RAZER_BASILISK_V3:
case USB_DEVICE_ID_RAZER_MOUSE_DOCK_PRO:
report = razer_chroma_extended_matrix_effect_static(NOSTORE, SCROLL_WHEEL_LED, (struct razer_rgb*)&buf[0]);
report.transaction_id.id = 0x1f;
break;
Expand Down Expand Up @@ -998,6 +1013,7 @@ ssize_t razer_attr_write_logo_mode_spectrum(IOUSBDeviceInterface **usb_dev, cons
case USB_DEVICE_ID_RAZER_MAMBA_ELITE:
case USB_DEVICE_ID_RAZER_BASILISK_V2:
case USB_DEVICE_ID_RAZER_BASILISK_V3:
case USB_DEVICE_ID_RAZER_MOUSE_DOCK_PRO:
report = razer_chroma_extended_matrix_effect_spectrum(VARSTORE, LOGO_LED);
report.transaction_id.id = 0x1f;
break;
Expand Down Expand Up @@ -1059,6 +1075,7 @@ ssize_t razer_attr_write_scroll_mode_spectrum(IOUSBDeviceInterface **usb_dev, co
case USB_DEVICE_ID_RAZER_MAMBA_ELITE:
case USB_DEVICE_ID_RAZER_BASILISK_V2:
case USB_DEVICE_ID_RAZER_BASILISK_V3:
case USB_DEVICE_ID_RAZER_MOUSE_DOCK_PRO:
report = razer_chroma_extended_matrix_effect_spectrum(VARSTORE, SCROLL_WHEEL_LED);
report.transaction_id.id = 0x1f;
break;
Expand Down Expand Up @@ -1154,6 +1171,7 @@ ssize_t razer_attr_write_logo_mode_breath(IOUSBDeviceInterface **usb_dev, const
case USB_DEVICE_ID_RAZER_BASILISK_ULTIMATE_RECEIVER:
case USB_DEVICE_ID_RAZER_DEATHADDER_V2:
case USB_DEVICE_ID_RAZER_DEATHADDER_V2_MINI:
case USB_DEVICE_ID_RAZER_MOUSE_DOCK_PRO:
switch(count) {
case 3: // Single colour mode
report = razer_chroma_extended_matrix_effect_breathing_single(VARSTORE, LOGO_LED, (struct razer_rgb*)&buf[0]);
Expand All @@ -1173,6 +1191,7 @@ ssize_t razer_attr_write_logo_mode_breath(IOUSBDeviceInterface **usb_dev, const
switch(product) {
case USB_DEVICE_ID_RAZER_MAMBA_ELITE:
case USB_DEVICE_ID_RAZER_BASILISK_V2:
case USB_DEVICE_ID_RAZER_MOUSE_DOCK_PRO:
report.transaction_id.id = 0x1f;
break;

Expand Down Expand Up @@ -1244,6 +1263,7 @@ ssize_t razer_attr_write_scroll_mode_breath(IOUSBDeviceInterface **usb_dev, cons
case USB_DEVICE_ID_RAZER_BASILISK_ULTIMATE:
case USB_DEVICE_ID_RAZER_BASILISK_ULTIMATE_RECEIVER:
case USB_DEVICE_ID_RAZER_DEATHADDER_V2:
case USB_DEVICE_ID_RAZER_MOUSE_DOCK_PRO:
switch(count) {
case 3: // Single colour mode
report = razer_chroma_extended_matrix_effect_breathing_single(VARSTORE, SCROLL_WHEEL_LED, (struct razer_rgb*)&buf[0]);
Expand All @@ -1263,6 +1283,7 @@ ssize_t razer_attr_write_scroll_mode_breath(IOUSBDeviceInterface **usb_dev, cons
switch(product) {
case USB_DEVICE_ID_RAZER_MAMBA_ELITE:
case USB_DEVICE_ID_RAZER_BASILISK_V2:
case USB_DEVICE_ID_RAZER_MOUSE_DOCK_PRO:
report.transaction_id.id = 0x1f;
break;

Expand Down Expand Up @@ -1348,6 +1369,7 @@ ssize_t razer_attr_write_logo_mode_none(IOUSBDeviceInterface **usb_dev, const ch
case USB_DEVICE_ID_RAZER_MAMBA_ELITE:
case USB_DEVICE_ID_RAZER_BASILISK_V2:
case USB_DEVICE_ID_RAZER_BASILISK_V3:
case USB_DEVICE_ID_RAZER_MOUSE_DOCK_PRO:
report = razer_chroma_extended_matrix_effect_none(VARSTORE, LOGO_LED);
report.transaction_id.id = 0x1f;
break;
Expand Down Expand Up @@ -1413,6 +1435,7 @@ ssize_t razer_attr_write_scroll_mode_none(IOUSBDeviceInterface **usb_dev, const
case USB_DEVICE_ID_RAZER_MAMBA_ELITE:
case USB_DEVICE_ID_RAZER_BASILISK_V2:
case USB_DEVICE_ID_RAZER_BASILISK_V3:
case USB_DEVICE_ID_RAZER_MOUSE_DOCK_PRO:
report = razer_chroma_extended_matrix_effect_none(VARSTORE, SCROLL_WHEEL_LED);
report.transaction_id.id = 0x1f;
break;
Expand Down Expand Up @@ -1713,6 +1736,7 @@ ssize_t razer_attr_read_get_battery(IOUSBDeviceInterface **usb_dev, char *buf)
case USB_DEVICE_ID_RAZER_LANCEHEAD_WIRELESS_WIRED:
case USB_DEVICE_ID_RAZER_OROCHI_V2_RECEIVER:
case USB_DEVICE_ID_RAZER_OROCHI_V2_BLUETOOTH:
case USB_DEVICE_ID_RAZER_MOUSE_DOCK_PRO:
report.transaction_id.id = 0x1f;
break;
}
Expand Down Expand Up @@ -1740,7 +1764,7 @@ ssize_t razer_attr_read_is_charging(IOUSBDeviceInterface **usb_dev, char *buf)
case USB_DEVICE_ID_RAZER_OROCHI_V2_BLUETOOTH:
return sprintf(buf, "0\n");
break;

case USB_DEVICE_ID_RAZER_LANCEHEAD_WIRED:
case USB_DEVICE_ID_RAZER_LANCEHEAD_WIRELESS:
case USB_DEVICE_ID_RAZER_MAMBA_WIRELESS_RECEIVER:
Expand Down Expand Up @@ -1814,6 +1838,7 @@ ushort razer_attr_read_poll_rate(IOUSBDeviceInterface **usb_dev)
case USB_DEVICE_ID_RAZER_BASILISK_V3:
case USB_DEVICE_ID_RAZER_OROCHI_V2_RECEIVER:
case USB_DEVICE_ID_RAZER_OROCHI_V2_BLUETOOTH:
case USB_DEVICE_ID_RAZER_MOUSE_DOCK_PRO:
report.transaction_id.id = 0x1f;
break;
}
Expand Down Expand Up @@ -1907,6 +1932,7 @@ void razer_attr_write_poll_rate(IOUSBDeviceInterface **usb_dev, ushort polling_r
case USB_DEVICE_ID_RAZER_BASILISK_V3:
case USB_DEVICE_ID_RAZER_OROCHI_V2_RECEIVER:
case USB_DEVICE_ID_RAZER_OROCHI_V2_BLUETOOTH:
case USB_DEVICE_ID_RAZER_MOUSE_DOCK_PRO:
report.transaction_id.id = 0x1f;
break;
}
Expand Down Expand Up @@ -1948,6 +1974,7 @@ void razer_attr_write_matrix_brightness(IOUSBDeviceInterface **usb_dev, unsigned
case USB_DEVICE_ID_RAZER_NAGA_PRO_WIRED:
case USB_DEVICE_ID_RAZER_MAMBA_ELITE:
case USB_DEVICE_ID_RAZER_BASILISK_V3:
report = razer_chroma_extended_matrix_brightness(VARSTORE, 0x00, brightness);
report.transaction_id.id = 0x1F;
break;
Expand Down Expand Up @@ -2000,6 +2027,7 @@ ushort razer_attr_read_matrix_brightness(IOUSBDeviceInterface **usb_dev)
case USB_DEVICE_ID_RAZER_NAGA_PRO_WIRED:
case USB_DEVICE_ID_RAZER_MAMBA_ELITE:
case USB_DEVICE_ID_RAZER_BASILISK_V3:
case USB_DEVICE_ID_RAZER_MOUSE_DOCK_PRO:
report = razer_chroma_extended_matrix_get_brightness(VARSTORE, 0x00);
report.transaction_id.id = 0x1F;
break;
Expand Down Expand Up @@ -2045,6 +2073,7 @@ ushort razer_attr_read_scroll_led_brightness(IOUSBDeviceInterface **usb_dev)
case USB_DEVICE_ID_RAZER_MAMBA_ELITE:
case USB_DEVICE_ID_RAZER_BASILISK_V2:
case USB_DEVICE_ID_RAZER_BASILISK_V3:
case USB_DEVICE_ID_RAZER_MOUSE_DOCK_PRO:
report = razer_chroma_extended_matrix_get_brightness(VARSTORE, SCROLL_WHEEL_LED);
report.transaction_id.id = 0x1f;
break;
Expand Down Expand Up @@ -2097,6 +2126,7 @@ void razer_attr_write_scroll_led_brightness(IOUSBDeviceInterface **usb_dev, unsi
case USB_DEVICE_ID_RAZER_MAMBA_ELITE:
case USB_DEVICE_ID_RAZER_BASILISK_V2:
case USB_DEVICE_ID_RAZER_BASILISK_V3:
case USB_DEVICE_ID_RAZER_MOUSE_DOCK_PRO:
report = razer_chroma_extended_matrix_brightness(VARSTORE, SCROLL_WHEEL_LED, brightness);
report.transaction_id.id = 0x1f;
break;
Expand Down Expand Up @@ -2146,6 +2176,7 @@ ushort razer_attr_read_logo_led_brightness(IOUSBDeviceInterface **usb_dev)
case USB_DEVICE_ID_RAZER_MAMBA_ELITE:
case USB_DEVICE_ID_RAZER_BASILISK_V2:
case USB_DEVICE_ID_RAZER_BASILISK_V3:
case USB_DEVICE_ID_RAZER_MOUSE_DOCK_PRO:
report = razer_chroma_extended_matrix_get_brightness(VARSTORE, LOGO_LED);
report.transaction_id.id = 0x1f;
break;
Expand Down Expand Up @@ -2208,6 +2239,7 @@ void razer_attr_write_logo_led_brightness(IOUSBDeviceInterface **usb_dev, unsign
case USB_DEVICE_ID_RAZER_MAMBA_ELITE:
case USB_DEVICE_ID_RAZER_BASILISK_V2:
case USB_DEVICE_ID_RAZER_BASILISK_V3:
case USB_DEVICE_ID_RAZER_MOUSE_DOCK_PRO:
report = razer_chroma_extended_matrix_brightness(VARSTORE, LOGO_LED, brightness);
report.transaction_id.id = 0x1f;
break;
Expand Down Expand Up @@ -2270,6 +2302,7 @@ ushort razer_attr_read_side_led_brightness(IOUSBDeviceInterface **usb_dev, int s
break;

case USB_DEVICE_ID_RAZER_BASILISK_V3:
case USB_DEVICE_ID_RAZER_MOUSE_DOCK_PRO:
report = razer_chroma_extended_matrix_get_brightness(VARSTORE, BASILISK_V3_BASE_LED);
report.transaction_id.id = 0x1f;
break;
Expand Down Expand Up @@ -2309,6 +2342,7 @@ void razer_attr_write_side_led_brightness(IOUSBDeviceInterface **usb_dev, unsign
break;

case USB_DEVICE_ID_RAZER_BASILISK_V3:
case USB_DEVICE_ID_RAZER_MOUSE_DOCK_PRO:
report = razer_chroma_extended_matrix_brightness(VARSTORE, BASILISK_V3_BASE_LED, brightness);
report.transaction_id.id = 0x1f;
break;
Expand Down
Loading
0