From 73daaa419849b389957a3e48aee2bfee750ffedb Mon Sep 17 00:00:00 2001 From: sirrow Date: Sun, 18 Feb 2024 17:43:53 +0900 Subject: [PATCH] update protocol on HID according to hsgw's one --- tmk_core/protocol/chibios/usb_main.c | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/tmk_core/protocol/chibios/usb_main.c b/tmk_core/protocol/chibios/usb_main.c index 71589911eb..5e48e1c65c 100644 --- a/tmk_core/protocol/chibios/usb_main.c +++ b/tmk_core/protocol/chibios/usb_main.c @@ -973,8 +973,30 @@ void raw_hid_send(uint8_t *data, uint8_t length) { chnWrite(&drivers.raw_driver.driver, data, length); } +enum HID_RGBLED_COMMAND { HID_PING = 0, HID_SET_HSV, HID_SET_RGB }; void raw_hid_receive(uint8_t *data, uint8_t length) { - rgblight_setrgb(data[0], data[1], data[2]); + switch (data[0]) { + case HID_PING: + data[0] = 1; + data[1] = 'R'; + data[2] = 'G'; + data[3] = 'B'; + break; + case HID_SET_HSV: + rgblight_sethsv_noeeprom(data[1], data[2], data[3]); + data[0] = 1; + break; + case HID_SET_RGB: + rgblight_setrgb(data[1], data[2], data[3]); + data[0] = 1; + break; + default: + data[1] = data[0]; + data[0] = 0; + break; + } + raw_hid_send(data, length); + //rgblight_setrgb(data[0], data[1], data[2]); } void raw_hid_task(void) {