diff options
| author | PrivateiFox <[email protected]> | 2022-02-16 23:08:31 +0200 |
|---|---|---|
| committer | GitHub <[email protected]> | 2022-02-16 21:08:31 +0000 |
| commit | 945fbbe433fbb8f3b4c11b1eedbb63905a58a22c (patch) | |
| tree | 291fc495924434ecd8fe336ddb006a9ac551b945 | |
| parent | 28effabcede5df5ee19066b1d1dd7509ae8f7e36 (diff) | |
| download | librazermacos-945fbbe433fbb8f3b4c11b1eedbb63905a58a22c.tar.xz librazermacos-945fbbe433fbb8f3b4c11b1eedbb63905a58a22c.zip | |
Add support for Huntsman v2 TKL (#25)
| -rw-r--r-- | src/include/razerkbd_driver.h | 1 | ||||
| -rwxr-xr-x | src/lib/razerdevice.c | 1 | ||||
| -rw-r--r-- | src/lib/razerkbd_driver.c | 14 |
3 files changed, 16 insertions, 0 deletions
diff --git a/src/include/razerkbd_driver.h b/src/include/razerkbd_driver.h index 8b5ed5c..69a7054 100644 --- a/src/include/razerkbd_driver.h +++ b/src/include/razerkbd_driver.h @@ -76,6 +76,7 @@ #define USB_DEVICE_ID_RAZER_BLACKWIDOW_V3_PRO_WIRED 0x025A #define USB_DEVICE_ID_RAZER_HUNTSMAN_V2_ANALOG 0x0266 #define USB_DEVICE_ID_RAZER_HUNTSMAN_V2 0x026c +#define USB_DEVICE_ID_RAZER_HUNTSMAN_V2_TKL 0x026b /* 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 c5f157c..e5c9553 100755 --- a/src/lib/razerdevice.c +++ b/src/lib/razerdevice.c @@ -63,6 +63,7 @@ bool is_keyboard(IOUSBDeviceInterface **usb_dev) case USB_DEVICE_ID_RAZER_HUNTSMAN_MINI: case USB_DEVICE_ID_RAZER_HUNTSMAN_V2_ANALOG: case USB_DEVICE_ID_RAZER_HUNTSMAN_V2: + case USB_DEVICE_ID_RAZER_HUNTSMAN_V2_TKL: return true; } diff --git a/src/lib/razerkbd_driver.c b/src/lib/razerkbd_driver.c index e7040c3..8a1f682 100644 --- a/src/lib/razerkbd_driver.c +++ b/src/lib/razerkbd_driver.c @@ -129,6 +129,7 @@ ssize_t razer_attr_write_mode_macro_effect(IOUSBDeviceInterface **usb_dev, const case USB_DEVICE_ID_RAZER_BLACKWIDOW_ELITE: case USB_DEVICE_ID_RAZER_HUNTSMAN_V2_ANALOG: case USB_DEVICE_ID_RAZER_HUNTSMAN_V2: + case USB_DEVICE_ID_RAZER_HUNTSMAN_V2_TKL: report = razer_chroma_standard_set_led_effect(NOSTORE, MACRO_LED, enabled); report.transaction_id.id = 0x1F; break; @@ -294,6 +295,7 @@ ssize_t razer_attr_write_mode_none(IOUSBDeviceInterface **usb_dev, const char *b case USB_DEVICE_ID_RAZER_ORNATA_CHROMA_V2: case USB_DEVICE_ID_RAZER_HUNTSMAN_V2_ANALOG: case USB_DEVICE_ID_RAZER_HUNTSMAN_V2: + case USB_DEVICE_ID_RAZER_HUNTSMAN_V2_TKL: report = razer_chroma_extended_matrix_effect_none(VARSTORE, BACKLIGHT_LED); report.transaction_id.id = 0x1F; break; @@ -362,6 +364,7 @@ ssize_t razer_attr_write_mode_wave(IOUSBDeviceInterface **usb_dev, const char *b case USB_DEVICE_ID_RAZER_ORNATA_CHROMA_V2: case USB_DEVICE_ID_RAZER_HUNTSMAN_V2_ANALOG: case USB_DEVICE_ID_RAZER_HUNTSMAN_V2: + case USB_DEVICE_ID_RAZER_HUNTSMAN_V2_TKL: report = razer_chroma_extended_matrix_effect_wave(VARSTORE, BACKLIGHT_LED, direction, speed); report.transaction_id.id = 0x1F; break; @@ -409,6 +412,7 @@ ssize_t razer_attr_write_mode_spectrum(IOUSBDeviceInterface **usb_dev, const cha case USB_DEVICE_ID_RAZER_ORNATA_CHROMA_V2: case USB_DEVICE_ID_RAZER_HUNTSMAN_V2_ANALOG: case USB_DEVICE_ID_RAZER_HUNTSMAN_V2: + case USB_DEVICE_ID_RAZER_HUNTSMAN_V2_TKL: report = razer_chroma_extended_matrix_effect_spectrum(VARSTORE, BACKLIGHT_LED); report.transaction_id.id = 0x1F; break; @@ -476,6 +480,7 @@ ssize_t razer_attr_write_mode_reactive(IOUSBDeviceInterface **usb_dev, const cha case USB_DEVICE_ID_RAZER_ORNATA_CHROMA_V2: case USB_DEVICE_ID_RAZER_HUNTSMAN_V2_ANALOG: case USB_DEVICE_ID_RAZER_HUNTSMAN_V2: + case USB_DEVICE_ID_RAZER_HUNTSMAN_V2_TKL: report = razer_chroma_extended_matrix_effect_reactive(VARSTORE, BACKLIGHT_LED, speed, (struct razer_rgb *)&buf[1]); report.transaction_id.id = 0x1F; break; @@ -617,6 +622,7 @@ ssize_t razer_attr_write_mode_static(IOUSBDeviceInterface **usb_dev, const char case USB_DEVICE_ID_RAZER_ORNATA_CHROMA_V2: case USB_DEVICE_ID_RAZER_HUNTSMAN_V2_ANALOG: case USB_DEVICE_ID_RAZER_HUNTSMAN_V2: + case USB_DEVICE_ID_RAZER_HUNTSMAN_V2_TKL: if (count == 3) { report = razer_chroma_extended_matrix_effect_static(VARSTORE, BACKLIGHT_LED, (struct razer_rgb *)&buf[0]); @@ -771,6 +777,7 @@ ssize_t razer_attr_write_mode_static_no_store(IOUSBDeviceInterface **usb_dev, co case USB_DEVICE_ID_RAZER_ORNATA_CHROMA_V2: case USB_DEVICE_ID_RAZER_HUNTSMAN_V2_ANALOG: case USB_DEVICE_ID_RAZER_HUNTSMAN_V2: + case USB_DEVICE_ID_RAZER_HUNTSMAN_V2_TKL: if (count == 3) { report = razer_chroma_extended_matrix_effect_static(NOSTORE, BACKLIGHT_LED, (struct razer_rgb *)&buf[0]); @@ -874,6 +881,7 @@ ssize_t razer_attr_write_mode_starlight(IOUSBDeviceInterface **usb_dev, const ch case USB_DEVICE_ID_RAZER_ORNATA_CHROMA_V2: case USB_DEVICE_ID_RAZER_HUNTSMAN_V2_ANALOG: case USB_DEVICE_ID_RAZER_HUNTSMAN_V2: + case USB_DEVICE_ID_RAZER_HUNTSMAN_V2_TKL: 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]); @@ -1049,6 +1057,7 @@ ssize_t razer_attr_write_mode_breath(IOUSBDeviceInterface **usb_dev, const char case USB_DEVICE_ID_RAZER_ORNATA_CHROMA_V2: case USB_DEVICE_ID_RAZER_HUNTSMAN_V2_ANALOG: case USB_DEVICE_ID_RAZER_HUNTSMAN_V2: + case USB_DEVICE_ID_RAZER_HUNTSMAN_V2_TKL: if (count == 3) { // Single colour mode report = razer_chroma_extended_matrix_effect_breathing_single(VARSTORE, BACKLIGHT_LED, (struct razer_rgb *)&buf[0]); @@ -1230,6 +1239,7 @@ ssize_t razer_attr_write_mode_custom(IOUSBDeviceInterface **usb_dev, const char case USB_DEVICE_ID_RAZER_ORNATA_CHROMA_V2: case USB_DEVICE_ID_RAZER_HUNTSMAN_V2_ANALOG: case USB_DEVICE_ID_RAZER_HUNTSMAN_V2: + case USB_DEVICE_ID_RAZER_HUNTSMAN_V2_TKL: report = razer_chroma_extended_matrix_effect_custom_frame(); report.transaction_id.id = 0x1F; break; @@ -1304,6 +1314,7 @@ ssize_t razer_attr_write_set_brightness(IOUSBDeviceInterface **usb_dev, ushort b case USB_DEVICE_ID_RAZER_ORNATA_CHROMA_V2: case USB_DEVICE_ID_RAZER_HUNTSMAN_V2_ANALOG: case USB_DEVICE_ID_RAZER_HUNTSMAN_V2: + case USB_DEVICE_ID_RAZER_HUNTSMAN_V2_TKL: report = razer_chroma_extended_matrix_brightness(VARSTORE, BACKLIGHT_LED, brightness); report.transaction_id.id = 0x1F; break; @@ -1380,6 +1391,7 @@ ushort razer_attr_read_set_brightness(IOUSBDeviceInterface **usb_dev) case USB_DEVICE_ID_RAZER_ORNATA_CHROMA_V2: case USB_DEVICE_ID_RAZER_HUNTSMAN_V2_ANALOG: case USB_DEVICE_ID_RAZER_HUNTSMAN_V2: + case USB_DEVICE_ID_RAZER_HUNTSMAN_V2_TKL: report = razer_chroma_extended_matrix_get_brightness(VARSTORE, BACKLIGHT_LED); report.transaction_id.id = 0x1F; is_matrix_brightness = true; @@ -1495,6 +1507,7 @@ ssize_t razer_attr_write_matrix_custom_frame(IOUSBDeviceInterface **usb_dev, con case USB_DEVICE_ID_RAZER_ORNATA_CHROMA_V2: case USB_DEVICE_ID_RAZER_HUNTSMAN_V2_ANALOG: case USB_DEVICE_ID_RAZER_HUNTSMAN_V2: + case USB_DEVICE_ID_RAZER_HUNTSMAN_V2_TKL: report = razer_chroma_extended_matrix_set_custom_frame(row_id, start_col, stop_col, (unsigned char *)&buf[offset]); report.transaction_id.id = 0x1F; break; @@ -1566,6 +1579,7 @@ static int razer_get_report(IOUSBDeviceInterface **usb_dev, struct razer_report case USB_DEVICE_ID_RAZER_BLACKWIDOW_V3: case USB_DEVICE_ID_RAZER_HUNTSMAN_V2_ANALOG: case USB_DEVICE_ID_RAZER_HUNTSMAN_V2: + case USB_DEVICE_ID_RAZER_HUNTSMAN_V2_TKL: report_index = 0x03; response_index = 0x03; break; |
