diff options
Diffstat (limited to 'protocol/usb_hid')
-rw-r--r-- | protocol/usb_hid/README | 8 | ||||
-rw-r--r-- | protocol/usb_hid/override_wiring.c | 4 | ||||
-rw-r--r-- | protocol/usb_hid/parser.cpp | 3 | ||||
-rw-r--r-- | protocol/usb_hid/usb_hid.h | 10 |
4 files changed, 21 insertions, 4 deletions
diff --git a/protocol/usb_hid/README b/protocol/usb_hid/README index 9750a1cc8d..5d49cc8d20 100644 --- a/protocol/usb_hid/README +++ b/protocol/usb_hid/README @@ -26,3 +26,11 @@ You can see HID keyboard reports on debug output. Restriction and Bug ------------------- Not statble yet. + +Can't bus-reset a keyboard which already attached on bus properly. + Slow start up of Leonardo's bootloader causes this? + Need to unplug/plug a keyboard after firmware starts up. + MAX3421E doesn't work SAMPLEBUS well to know whether device connected or not. + +Keyboard with other endpoints than boot keyboard may go wrong. + On my keyboard with mouse key the converter locks up when using mouse key function. diff --git a/protocol/usb_hid/override_wiring.c b/protocol/usb_hid/override_wiring.c index a8c28dd898..3b3f5e3028 100644 --- a/protocol/usb_hid/override_wiring.c +++ b/protocol/usb_hid/override_wiring.c @@ -8,11 +8,11 @@ unsigned long millis() { - return timer_read(); + return timer_read32(); } unsigned long micros() { - return timer_read() * 1000UL; + return timer_read32() * 1000UL; } void delay(unsigned long ms) { diff --git a/protocol/usb_hid/parser.cpp b/protocol/usb_hid/parser.cpp index 4077444b75..66e949518e 100644 --- a/protocol/usb_hid/parser.cpp +++ b/protocol/usb_hid/parser.cpp @@ -3,7 +3,6 @@ #include "parser.h" #include "usb_hid.h" -#include "leonardo_led.h" #include "debug.h" @@ -16,9 +15,9 @@ void KBDReportParser::Parse(HID *hid, bool is_rpt_id, uint8_t len, uint8_t *buf) ::memcpy(&usb_hid_keyboard_report, buf, sizeof(report_keyboard_t)); usb_hid_time_stamp = millis(); - LED_TX_TOGGLE; debug("KBDReport: "); debug_hex(usb_hid_keyboard_report.mods); + debug(" --"); for (uint8_t i = 0; i < 6; i++) { debug(" "); debug_hex(usb_hid_keyboard_report.keys[i]); diff --git a/protocol/usb_hid/usb_hid.h b/protocol/usb_hid/usb_hid.h new file mode 100644 index 0000000000..083b68d1f5 --- /dev/null +++ b/protocol/usb_hid/usb_hid.h @@ -0,0 +1,10 @@ +#ifndef USB_HID_H +#define USB_HID_H + +#include "report.h" + + +extern report_keyboard_t usb_hid_keyboard_report; +extern uint16_t usb_hid_time_stamp; + +#endif |