1
0
tmk_keyboard/protocol/usb_hid
tmk f6d56675f9 Squashed 'tmk_core/' changes from caca2c0..dc0e46e
dc0e46e Rename LUFA to LUFA-git
3bfa7fa Remove LUFA-120730
215b764 Merge commit 'afa0f22a9299686fd88f58ce09c5b521ac917e8f' as 'protocol/lufa/LUFA'
afa0f22 Squashed 'protocol/lufa/LUFA/' content from commit def7fca
c0c42fa Remove submodule of LUFA
30f897d Merge commit '87ced33feb74e79c3281dda36eb6d6d153399b41' as 'protocol/usb_hid/USB_Host_Shield_2.0'
87ced33 Squashed 'protocol/usb_hid/USB_Host_Shield_2.0/' content from commit aab4a69
14f6d49 Remove submodule of USB_Host_Shield_2.0

git-subtree-dir: tmk_core
git-subtree-split: dc0e46eaa4367d4e218f8816e3c117895820f07c
2015-05-13 11:13:10 +09:00
..
arduino-1.0.1 Squashed 'tmk_core/' content from commit 05caacc 2015-04-10 01:32:04 +09:00
test Squashed 'tmk_core/' content from commit 05caacc 2015-04-10 01:32:04 +09:00
USB_Host_Shield_2.0 Squashed 'tmk_core/' changes from caca2c0..dc0e46e 2015-05-13 11:13:10 +09:00
leonardo_led.h Squashed 'tmk_core/' content from commit 05caacc 2015-04-10 01:32:04 +09:00
override_Serial.cpp Squashed 'tmk_core/' content from commit 05caacc 2015-04-10 01:32:04 +09:00
override_wiring.c Squashed 'tmk_core/' content from commit 05caacc 2015-04-10 01:32:04 +09:00
parser.cpp Squashed 'tmk_core/' content from commit 05caacc 2015-04-10 01:32:04 +09:00
parser.h Squashed 'tmk_core/' content from commit 05caacc 2015-04-10 01:32:04 +09:00
README Squashed 'tmk_core/' content from commit 05caacc 2015-04-10 01:32:04 +09:00
usb_hid.h Squashed 'tmk_core/' content from commit 05caacc 2015-04-10 01:32:04 +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 supported/confirmed yet.
    Hub, suspend, keyboard LED

Switching power on VBUS:
    To power reset device.
    http://www.circuitsathome.com/camera-control/simulating-cable-disconnect-on-usb-host-shield-2-0
    This is needed for a device which are not initilized with 'USB Bus Reset'(long SE0)

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.

Can't compile on Windows filesystem.
    On Linux no problem.
    Windows doesn't know difference between common/print.h and arduino/Print.h.
    Change file name common/print.h to console.h ?