1
0
tmk_keyboard/protocol/usb_hid
tmk 22b6e15a17 Squashed 'tmk_core/' changes from 8da1898..e5f9940
e5f9940 Merge commit '1bc3dd200b023cecf063a0cb3ba347f77f6d759d' into core_update
da03c50 Add note for L/R side bit being ignored
e80f3c1 Add in basic documentation for Macro system
35e8a76 core: Swap position of PEQL and PENT in unimap
00751f1 Merge pull request #406 from 39aldo39/patch-1
e50d7de V-USB remote wakeup
4340997 core: Fix typo in definition AC_g
958144d core: Debug print for system and consumer keys
e7e1030 core: Fix sleep_led
0866323 core: Change matrix_init and matrix_print
0dbf73d core: Add matrix_clear() and default impl.
3202ca3 core: Add suspend mode options
4cda3aa core: Fix suspend/wake for converters #386
4e15247 core: LUFA_DEBUG_SUART for serial debug
b9cf8e7 core: Fix mechanical locking supoort #390
12aa0fd Merge branch 'nemith-master'
fccb3fa core: Fix OPT_DEFS for mbed build
2e2d2c8 Merge branch 'master' of github.com:leizzer/tmk_keyboard
f1d3634 Change .gitignore for ChibiOS
3aab802 core: Fix build config in protocol.mk
5e43da0 core: Add short names in unimap
7a56998 core: Fix dfu wait in rules.mk
6d9c500 Merge branch 'mediakey-fix'
08382ac core: Fix 'make dfu' message
78cb04e Fix OS X Recognizing keyboard as Mouse/Tablet
a114714 core: 'make dfu' waits for bootloader to start
d0a8f13 core: Fix unimap UNIMAP_NO case
e17abef core: Change lufa NKRO report size 16 to 32 bytes
375b20f core: Fix common.mk for build options
394fdff core: Fix unimap layout comment
912326c core: Add unimap support
00f4011 core: Fix doc/keymap.md for new keymap framework
ddbd7b4 core: Add default implemenation of keymap read
671cacc core: action codes are action_t struct now
b4fdb27 core: Change chibios repo directory names
7daed10 core: Fix keycode.txt
90399d7 core: Fix USB remote wakeup on ATmega32U2 #361
3677e84 usb_usb: Add multiple keyboard support
54d5b26 core: Fix Logical Maximum in report descriptor
bd0d372 core: Fix LUFA report descriptor
95327b5 Merge pull request #355 from papodaca/XT
62bf548 core: change API of adb.c to accept device address
3097c9e Fix function name in host.h
836e209 Merge branch 'core_split_160522'
3918ea2 Merge commit '20b787fc1284176834cbe7ca2134e4b36bec5828'
7f87b11 core: Add comment of register 3 of ADB
ef6478a core: Add adb_host_talk()
5c665b4 update macro names in bluefruit
4f2c5bf Merge commit '71381457fa1311dfa0b58ba882a96db740640871'
53a9c08 Merge pull request #321 from njbair/master
f08a656 core: Fix media/consumer keys
d526de8 Clean up wording in keymap example
0bb3dbb Clarify layer precedence
d915c75 clarify layer documentation
72070d4 ps2_usb: Fix for VUSB configuration
170e2dc Mostly working. Is unstable, will emit bad codes after a while.
c8e45b5 core: Actionmap support
aabaa24 Codes appear to be detected correctly, the break codes are broken.

git-subtree-dir: tmk_core
git-subtree-split: e5f994033cbc8700745ac0c6d12772820492eed0
2016-12-10 10:29:51 +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 dc0e46e..57d27a8 2015-09-24 12:29:11 +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/' changes from 8da1898..e5f9940 2016-12-10 10:29:51 +09:00
parser.h Squashed 'tmk_core/' changes from 8da1898..e5f9940 2016-12-10 10:29:51 +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 ?