From ca5eacf2deb482070b8aa8b738cb54c3c9fafe32 Mon Sep 17 00:00:00 2001 From: Bobby Date: Tue, 13 Feb 2024 00:50:22 -0500 Subject: Added Support Razer Ornata V3X --- src/include/razerkbd_driver.h | 1 + src/lib/razerdevice.c | 1 + src/lib/razerkbd_driver.c | 14 ++++++++++++++ 3 files changed, 16 insertions(+) (limited to 'src') diff --git a/src/include/razerkbd_driver.h b/src/include/razerkbd_driver.h index bdc71f2..f6f5c8b 100644 --- a/src/include/razerkbd_driver.h +++ b/src/include/razerkbd_driver.h @@ -82,6 +82,7 @@ #define USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_MINI_WIRELESS 0x0271 #define USB_DEVICE_ID_RAZER_BLACKWIDOW_V4_75 0x02a5 #define USB_DEVICE_ID_RAZER_DEATHSTALKER_V2 0x0295 +#define USB_DEVICE_ID_RAZER_ORNATA_V3X 0x02a2 /* 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 d4b886c..bd2968b 100755 --- a/src/lib/razerdevice.c +++ b/src/lib/razerdevice.c @@ -68,6 +68,7 @@ bool is_keyboard(IOUSBDeviceInterface **usb_dev) case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_MINI_WIRED: case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_MINI_WIRELESS: case USB_DEVICE_ID_RAZER_BLACKWIDOW_V4_75: + case USB_DEVICE_ID_RAZER_ORNATA_V3X: return true; } diff --git a/src/lib/razerkbd_driver.c b/src/lib/razerkbd_driver.c index a8a3c9a..0ae3e1b 100644 --- a/src/lib/razerkbd_driver.c +++ b/src/lib/razerkbd_driver.c @@ -122,6 +122,7 @@ ssize_t razer_attr_write_mode_macro_effect(IOUSBDeviceInterface **usb_dev, const case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_TK: case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_PRO_WIRED: case USB_DEVICE_ID_RAZER_HUNTSMAN_MINI: + case USB_DEVICE_ID_RAZER_ORNATA_V3X: report = razer_chroma_standard_set_led_effect(NOSTORE, MACRO_LED, enabled); report.transaction_id.id = 0x3F; break; @@ -358,6 +359,7 @@ ssize_t razer_attr_write_mode_none(IOUSBDeviceInterface **usb_dev, const char *b case USB_DEVICE_ID_RAZER_HUNTSMAN_V2_TKL: case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_MINI_WIRED: case USB_DEVICE_ID_RAZER_BLACKWIDOW_V4_75: + case USB_DEVICE_ID_RAZER_ORNATA_V3X: report = razer_chroma_extended_matrix_effect_none(VARSTORE, BACKLIGHT_LED); report.transaction_id.id = 0x1F; break; @@ -435,6 +437,7 @@ ssize_t razer_attr_write_mode_wave(IOUSBDeviceInterface **usb_dev, const char *b case USB_DEVICE_ID_RAZER_HUNTSMAN_V2_TKL: case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_MINI_WIRED: case USB_DEVICE_ID_RAZER_BLACKWIDOW_V4_75: + case USB_DEVICE_ID_RAZER_ORNATA_V3X: report = razer_chroma_extended_matrix_effect_wave(VARSTORE, BACKLIGHT_LED, direction, speed); report.transaction_id.id = 0x1F; break; @@ -491,6 +494,7 @@ ssize_t razer_attr_write_mode_spectrum(IOUSBDeviceInterface **usb_dev, const cha case USB_DEVICE_ID_RAZER_HUNTSMAN_V2_TKL: case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_MINI_WIRED: case USB_DEVICE_ID_RAZER_BLACKWIDOW_V4_75: + case USB_DEVICE_ID_RAZER_ORNATA_V3X: report = razer_chroma_extended_matrix_effect_spectrum(VARSTORE, BACKLIGHT_LED); report.transaction_id.id = 0x1F; break; @@ -567,6 +571,7 @@ ssize_t razer_attr_write_mode_reactive(IOUSBDeviceInterface **usb_dev, const cha case USB_DEVICE_ID_RAZER_HUNTSMAN_V2_TKL: case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_MINI_WIRED: case USB_DEVICE_ID_RAZER_BLACKWIDOW_V4_75: + case USB_DEVICE_ID_RAZER_ORNATA_V3X: report = razer_chroma_extended_matrix_effect_reactive(VARSTORE, BACKLIGHT_LED, speed, (struct razer_rgb *)&buf[1]); report.transaction_id.id = 0x1F; break; @@ -717,6 +722,7 @@ ssize_t razer_attr_write_mode_static(IOUSBDeviceInterface **usb_dev, const char case USB_DEVICE_ID_RAZER_HUNTSMAN_V2_TKL: case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_MINI_WIRED: case USB_DEVICE_ID_RAZER_BLACKWIDOW_V4_75: + case USB_DEVICE_ID_RAZER_ORNATA_V3X: if (count == 3) { report = razer_chroma_extended_matrix_effect_static(VARSTORE, BACKLIGHT_LED, (struct razer_rgb *)&buf[0]); @@ -887,6 +893,7 @@ ssize_t razer_attr_write_mode_static_no_store(IOUSBDeviceInterface **usb_dev, co case USB_DEVICE_ID_RAZER_HUNTSMAN_V2_TKL: case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_MINI_WIRED: case USB_DEVICE_ID_RAZER_BLACKWIDOW_V4_75: + case USB_DEVICE_ID_RAZER_ORNATA_V3X: if (count == 3) { report = razer_chroma_extended_matrix_effect_static(NOSTORE, BACKLIGHT_LED, (struct razer_rgb *)&buf[0]); @@ -1007,6 +1014,7 @@ ssize_t razer_attr_write_mode_starlight(IOUSBDeviceInterface **usb_dev, const ch case USB_DEVICE_ID_RAZER_HUNTSMAN_V2_TKL: case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_MINI_WIRED: case USB_DEVICE_ID_RAZER_BLACKWIDOW_V4_75: + case USB_DEVICE_ID_RAZER_ORNATA_V3X: if (count == 7) { report = razer_chroma_extended_matrix_effect_starlight_dual(VARSTORE, BACKLIGHT_LED, buf[0], (struct razer_rgb *)&buf[1], (struct razer_rgb *)&buf[4]); @@ -1208,6 +1216,7 @@ ssize_t razer_attr_write_mode_breath(IOUSBDeviceInterface **usb_dev, const char case USB_DEVICE_ID_RAZER_HUNTSMAN_V2_TKL: case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_MINI_WIRED: case USB_DEVICE_ID_RAZER_BLACKWIDOW_V4_75: + case USB_DEVICE_ID_RAZER_ORNATA_V3X: if (count == 3) { // Single colour mode report = razer_chroma_extended_matrix_effect_breathing_single(VARSTORE, BACKLIGHT_LED, (struct razer_rgb *)&buf[0]); @@ -1415,6 +1424,7 @@ ssize_t razer_attr_write_mode_custom(IOUSBDeviceInterface **usb_dev, const char case USB_DEVICE_ID_RAZER_HUNTSMAN_V2_TKL: case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_MINI_WIRED: case USB_DEVICE_ID_RAZER_BLACKWIDOW_V4_75: + case USB_DEVICE_ID_RAZER_ORNATA_V3X: report = razer_chroma_extended_matrix_effect_custom_frame(); report.transaction_id.id = 0x1F; break; @@ -1498,6 +1508,7 @@ ssize_t razer_attr_write_set_brightness(IOUSBDeviceInterface **usb_dev, ushort b case USB_DEVICE_ID_RAZER_HUNTSMAN_V2_TKL: case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_MINI_WIRED: case USB_DEVICE_ID_RAZER_BLACKWIDOW_V4_75: + case USB_DEVICE_ID_RAZER_ORNATA_V3X: report = razer_chroma_extended_matrix_brightness(VARSTORE, BACKLIGHT_LED, brightness); report.transaction_id.id = 0x1F; break; @@ -1583,6 +1594,7 @@ ushort razer_attr_read_set_brightness(IOUSBDeviceInterface **usb_dev) case USB_DEVICE_ID_RAZER_HUNTSMAN_V2_TKL: case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_MINI_WIRED: case USB_DEVICE_ID_RAZER_BLACKWIDOW_V4_75: + case USB_DEVICE_ID_RAZER_ORNATA_V3X: report = razer_chroma_extended_matrix_get_brightness(VARSTORE, BACKLIGHT_LED); report.transaction_id.id = 0x1F; is_matrix_brightness = true; @@ -1708,6 +1720,7 @@ ssize_t razer_attr_write_matrix_custom_frame(IOUSBDeviceInterface **usb_dev, con case USB_DEVICE_ID_RAZER_HUNTSMAN_V2_TKL: case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_MINI_WIRED: case USB_DEVICE_ID_RAZER_BLACKWIDOW_V4_75: + case USB_DEVICE_ID_RAZER_ORNATA_V3X: report = razer_chroma_extended_matrix_set_custom_frame(row_id, start_col, stop_col, (unsigned char *)&buf[offset]); report.transaction_id.id = 0x1F; break; @@ -1780,6 +1793,7 @@ static int razer_get_report(IOUSBDeviceInterface **usb_dev, struct razer_report case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_TK: case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_PRO_WIRED: case USB_DEVICE_ID_RAZER_HUNTSMAN_MINI: + case USB_DEVICE_ID_RAZER_ORNATA_V3X: report_index = 0x02; response_index = 0x02; break; -- cgit v1.2.3 From 66c178cede46c27f32a1019bba0b3105b61486d6 Mon Sep 17 00:00:00 2001 From: Bobby <30593201+luciferreeves@users.noreply.github.com> Date: Sat, 17 Feb 2024 20:18:07 -0500 Subject: Fixed indentation --- src/lib/razerdevice.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/lib/razerdevice.c b/src/lib/razerdevice.c index bd2968b..1eb1e15 100755 --- a/src/lib/razerdevice.c +++ b/src/lib/razerdevice.c @@ -68,7 +68,7 @@ bool is_keyboard(IOUSBDeviceInterface **usb_dev) case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_MINI_WIRED: case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_MINI_WIRELESS: case USB_DEVICE_ID_RAZER_BLACKWIDOW_V4_75: - case USB_DEVICE_ID_RAZER_ORNATA_V3X: + case USB_DEVICE_ID_RAZER_ORNATA_V3X: return true; } -- cgit v1.2.3