X-Git-Url: https://git.friedersdorff.com/?a=blobdiff_plain;f=protocol%2Fvusb%2Fvusb.c;h=328885a9b5c99f95e66d853bf90fecc92d84d61d;hb=c4efadf68a5b1853f253dd9f28afb54c26bff796;hp=4e11836e16f11b19ad0c32769968f048ac0afa10;hpb=3d81d5221eac9ca9620ba9043a250dcb8371b22e;p=max%2Ftmk_keyboard.git diff --git a/protocol/vusb/vusb.c b/protocol/vusb/vusb.c index 4e11836e..328885a9 100644 --- a/protocol/vusb/vusb.c +++ b/protocol/vusb/vusb.c @@ -42,12 +42,12 @@ void vusb_transfer_keyboard(void) if (usbInterruptIsReady()) { if (kbuf_head != kbuf_tail) { usbSetInterrupt((void *)&kbuf[kbuf_tail], sizeof(report_keyboard_t)); - if (!debug_keyboard) { - print("keys: "); - for (int i = 0; i < REPORT_KEYS; i++) { phex(kbuf[kbuf_tail].keys[i]); print(" "); } - print(" mods: "); phex((kbuf[kbuf_tail]).mods); print("\n"); - } kbuf_tail = (kbuf_tail + 1) % KBUF_SIZE; + if (debug_keyboard) { + print("V-USB: kbuf["); pdec(kbuf_tail); print("->"); pdec(kbuf_head); print("]("); + phex((kbuf_head < kbuf_tail) ? (KBUF_SIZE - kbuf_tail + kbuf_head) : (kbuf_head - kbuf_tail)); + print(")\n"); + } } } } @@ -88,6 +88,10 @@ static void send_keyboard(report_keyboard_t *report) } else { debug("kbuf: full\n"); } + + // NOTE: send key strokes of Macro + usbPoll(); + vusb_transfer_keyboard(); } @@ -164,8 +168,8 @@ usbRequest_t *rq = (void *)data; if(rq->bRequest == USBRQ_HID_GET_REPORT){ debug("GET_REPORT:"); /* we only have one report type, so don't look at wValue */ - usbMsgPtr = (void *)keyboard_report_prev; - return sizeof(*keyboard_report_prev); + usbMsgPtr = (void *)keyboard_report; + return sizeof(*keyboard_report); }else if(rq->bRequest == USBRQ_HID_GET_IDLE){ debug("GET_IDLE: "); //debug_hex(vusb_idle_rate);