From 6271878a021fcf578b71e2b7e97cd43786efa7dd Mon Sep 17 00:00:00 2001 From: tmk Date: Mon, 27 Jul 2020 10:02:38 +0900 Subject: [PATCH] vusb: Fix keyboard_protocol and keyboard_idle #547 --- tmk_core/common/host.h | 3 +++ tmk_core/protocol/vusb/vusb.c | 13 ++++++++----- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/tmk_core/common/host.h b/tmk_core/common/host.h index 9814b10d..fefb8141 100644 --- a/tmk_core/common/host.h +++ b/tmk_core/common/host.h @@ -32,6 +32,9 @@ extern "C" { extern bool keyboard_nkro; #endif +/* These parameters should be included into host driver also? + * keyboard_protocol: 0:Boot, 1:Report(default) + * keyboard_idle: idle rate in unit of 4ms */ extern uint8_t keyboard_idle; extern uint8_t keyboard_protocol; diff --git a/tmk_core/protocol/vusb/vusb.c b/tmk_core/protocol/vusb/vusb.c index 5d00165c..7692a26e 100644 --- a/tmk_core/protocol/vusb/vusb.c +++ b/tmk_core/protocol/vusb/vusb.c @@ -26,8 +26,11 @@ along with this program. If not, see . #include "vusb.h" +/* host.h */ +uint8_t keyboard_protocol=1; +uint8_t keyboard_idle = 0; + static uint8_t vusb_keyboard_leds = 0; -static uint8_t vusb_idle_rate = 0; /* Keyboard report send buffer */ #define KBUF_SIZE 16 @@ -179,13 +182,13 @@ usbRequest_t *rq = (void *)data; return sizeof(keyboard_report); }else if(rq->bRequest == USBRQ_HID_GET_IDLE){ debug("GET_IDLE: "); - //debug_hex(vusb_idle_rate); - usbMsgPtr = &vusb_idle_rate; + //debug_hex(keyboard_idle); + usbMsgPtr = &keyboard_idle; return 1; }else if(rq->bRequest == USBRQ_HID_SET_IDLE){ - vusb_idle_rate = rq->wValue.bytes[1]; + keyboard_idle = rq->wValue.bytes[1]; debug("SET_IDLE: "); - debug_hex(vusb_idle_rate); + debug_hex(keyboard_idle); }else if(rq->bRequest == USBRQ_HID_SET_REPORT){ debug("SET_REPORT: "); // Report Type: 0x02(Out)/ReportID: 0x00(none) && Interface: 0(keyboard) -- 2.46.2