diff --git a/src/include/razermousemat_driver.h b/src/include/razermousemat_driver.h index faed11a..63fa08b 100644 --- a/src/include/razermousemat_driver.h +++ b/src/include/razermousemat_driver.h @@ -19,6 +19,7 @@ #define USB_DEVICE_ID_RAZER_FIREFLY_V2 0x0c04 #define USB_DEVICE_ID_RAZER_GOLIATHUS_CHROMA 0x0C01 #define USB_DEVICE_ID_RAZER_GOLIATHUS_CHROMA_EXTENDED 0x0C02 +#define USB_DEVICE_ID_RAZER_STRIDER_CHROMA 0x0c05 #define RAZER_MOUSEMAT_WAIT_MIN_US 900 #define RAZER_MOUSEMAT_WAIT_MAX_US 1000 diff --git a/src/lib/razerdevice.c b/src/lib/razerdevice.c index 8a3c3ce..4c760f9 100755 --- a/src/lib/razerdevice.c +++ b/src/lib/razerdevice.c @@ -174,6 +174,7 @@ bool is_mouse_mat(IOUSBDeviceInterface **usb_dev) case USB_DEVICE_ID_RAZER_FIREFLY_V2: case USB_DEVICE_ID_RAZER_GOLIATHUS_CHROMA: case USB_DEVICE_ID_RAZER_GOLIATHUS_CHROMA_EXTENDED: + case USB_DEVICE_ID_RAZER_STRIDER_CHROMA: return true; } diff --git a/src/lib/razermousemat_driver.c b/src/lib/razermousemat_driver.c index 430c822..a2dd015 100644 --- a/src/lib/razermousemat_driver.c +++ b/src/lib/razermousemat_driver.c @@ -89,6 +89,7 @@ ssize_t razer_mouse_mat_attr_write_mode_none(IOUSBDeviceInterface **usb_dev, con case USB_DEVICE_ID_RAZER_FIREFLY_V2: case USB_DEVICE_ID_RAZER_GOLIATHUS_CHROMA: case USB_DEVICE_ID_RAZER_GOLIATHUS_CHROMA_EXTENDED: + case USB_DEVICE_ID_RAZER_STRIDER_CHROMA: report = razer_chroma_extended_matrix_effect_none(VARSTORE, ZERO_LED); break; @@ -119,6 +120,7 @@ ssize_t razer_mouse_mat_attr_write_mode_wave(IOUSBDeviceInterface **usb_dev, con switch(product) { case USB_DEVICE_ID_RAZER_FIREFLY_V2: case USB_DEVICE_ID_RAZER_FIREFLY_HYPERFLUX: + case USB_DEVICE_ID_RAZER_STRIDER_CHROMA: report = razer_chroma_extended_matrix_effect_wave(VARSTORE, ZERO_LED, direction, 0x28); break; @@ -146,6 +148,7 @@ ssize_t razer_mouse_mat_attr_write_mode_breath(IOUSBDeviceInterface **usb_dev, c case USB_DEVICE_ID_RAZER_FIREFLY_HYPERFLUX: case USB_DEVICE_ID_RAZER_GOLIATHUS_CHROMA: case USB_DEVICE_ID_RAZER_GOLIATHUS_CHROMA_EXTENDED: + case USB_DEVICE_ID_RAZER_STRIDER_CHROMA: switch(count) { case 3: // Single colour mode report = razer_chroma_extended_matrix_effect_breathing_single(VARSTORE, ZERO_LED, (struct razer_rgb *)&buf[0]); @@ -201,6 +204,7 @@ ssize_t razer_mouse_mat_attr_write_mode_static(IOUSBDeviceInterface **usb_dev, c case USB_DEVICE_ID_RAZER_FIREFLY_HYPERFLUX: case USB_DEVICE_ID_RAZER_GOLIATHUS_CHROMA: case USB_DEVICE_ID_RAZER_GOLIATHUS_CHROMA_EXTENDED: + case USB_DEVICE_ID_RAZER_STRIDER_CHROMA: report = razer_chroma_extended_matrix_effect_static(VARSTORE, ZERO_LED, (struct razer_rgb *)&buf[0]); break; @@ -237,6 +241,7 @@ ssize_t razer_mouse_mat_attr_write_mode_static_no_store(IOUSBDeviceInterface **u case USB_DEVICE_ID_RAZER_FIREFLY_HYPERFLUX: case USB_DEVICE_ID_RAZER_GOLIATHUS_CHROMA: case USB_DEVICE_ID_RAZER_GOLIATHUS_CHROMA_EXTENDED: + case USB_DEVICE_ID_RAZER_STRIDER_CHROMA: report = razer_chroma_extended_matrix_effect_static(NOSTORE, ZERO_LED, (struct razer_rgb *)&buf[0]); break; @@ -264,6 +269,7 @@ ssize_t razer_mouse_mat_attr_write_set_brightness(IOUSBDeviceInterface **usb_dev case USB_DEVICE_ID_RAZER_FIREFLY_V2: case USB_DEVICE_ID_RAZER_GOLIATHUS_CHROMA: case USB_DEVICE_ID_RAZER_GOLIATHUS_CHROMA_EXTENDED: + case USB_DEVICE_ID_RAZER_STRIDER_CHROMA: report = razer_chroma_extended_matrix_brightness(VARSTORE, ZERO_LED, brightness); break; @@ -291,6 +297,7 @@ ushort razer_mouse_mat_attr_read_set_brightness(IOUSBDeviceInterface **usb_dev) case USB_DEVICE_ID_RAZER_FIREFLY_V2: case USB_DEVICE_ID_RAZER_GOLIATHUS_CHROMA: case USB_DEVICE_ID_RAZER_GOLIATHUS_CHROMA_EXTENDED: + case USB_DEVICE_ID_RAZER_STRIDER_CHROMA: brightness = 0xff; // Unfortunately, we can't read the brightness from the device directly. return dummy value. break; @@ -320,6 +327,7 @@ ssize_t razer_mouse_mat_attr_write_mode_spectrum(IOUSBDeviceInterface **usb_dev, case USB_DEVICE_ID_RAZER_FIREFLY_HYPERFLUX: case USB_DEVICE_ID_RAZER_GOLIATHUS_CHROMA: case USB_DEVICE_ID_RAZER_GOLIATHUS_CHROMA_EXTENDED: + case USB_DEVICE_ID_RAZER_STRIDER_CHROMA: report = razer_chroma_extended_matrix_effect_spectrum(VARSTORE, ZERO_LED); break;