qmk-keychron-q3-colemak-dh/protocol/usb_hid
2012-09-02 23:47:18 +09:00
..
arduino-1.0.1 test build of 'Host shield' in minimal env. 2012-08-28 21:56:15 +09:00
test test build of 'Host shield' in minimal env. 2012-08-28 21:56:15 +09:00
USB_Host_Shield_2.0@8bb790f83a Add submodule USB_Host_Shield_2.0 from my repositry. 2012-09-02 23:06:02 +09:00
leonardo_led.h test build of 'Host shield' in minimal env. 2012-08-28 21:56:15 +09:00
override_Serial.cpp test build of 'Host shield' in minimal env. 2012-08-28 21:56:15 +09:00
override_wiring.c usb_hid: Fix timer size uint16_t to uint32_t; 2012-09-02 23:47:18 +09:00
parser.cpp usb_hid: Fix timer size uint16_t to uint32_t; 2012-09-02 23:47:18 +09:00
parser.h test build of 'Host shield' in minimal env. 2012-08-28 21:56:15 +09:00
README usb_hid: Fix timer size uint16_t to uint32_t; 2012-09-02 23:47:18 +09:00
usb_hid.h usb_hid: Fix timer size uint16_t to uint32_t; 2012-09-02 23:47:18 +09:00

USB HID protocol
================
Host side of USB HID keyboard protocol implementation.
Only standard HID Boot mode is supported at this time. This means most of normal keyboards are supported while proprietary >6KRO and NKRO is not.

Third party Libraries
---------------------
USB_Host_Shield_2.0
    Circuits@Home repository is git-submoduled. Do git submodule init & update to get the content.
    https://github.com/felis/USB_Host_Shield_2.0

arduino-1.0.1
    Arduino files copied from:
    https://github.com/arduino/Arduino/hardware/arduino/{cores,variants}


Test build
----------
In test directory;
    $ make
    $ DEV=/dev/ttyACM0 make program

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.