aboutsummaryrefslogtreecommitdiffstats
path: root/protocol/usb_hid
diff options
context:
space:
mode:
Diffstat (limited to 'protocol/usb_hid')
-rw-r--r--protocol/usb_hid/README8
-rw-r--r--protocol/usb_hid/override_wiring.c4
-rw-r--r--protocol/usb_hid/parser.cpp3
-rw-r--r--protocol/usb_hid/usb_hid.h10
4 files changed, 21 insertions, 4 deletions
diff --git a/protocol/usb_hid/README b/protocol/usb_hid/README
index 9750a1cc8..5d49cc8d2 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 a8c28dd89..3b3f5e302 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 4077444b7..66e949518 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 000000000..083b68d1f
--- /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