]> git.friedersdorff.com Git - max/tmk_keyboard.git/blob - converter/usb_usb/README
usb_usb: Update README and firmware hex file
[max/tmk_keyboard.git] / converter / usb_usb / README
1 USB to USB keyboard protocol converter
2 ======================================
3 See for detail and discussion.
4 https://geekhack.org/index.php?topic=69169.0
5
6
7 Hardware requirement
8 --------------------
9 There are two options.
10
11 ### TMK USB-USB Converter
12 You can buy a fully assembled converter from me here.
13
14     https://geekhack.org/index.php?topic=69169.0
15
16 ### Arduino Leonardo + Circuit@Home USB Host Shield 2.0
17 Buying Arduino Leonardo and USB Host Shield 2.0(from Circuit@home) will be better, you won't need even soldering iron.
18
19     http://arduino.cc/en/Main/ArduinoBoardLeonardo 
20     https://www.circuitsathome.com/products-page/arduino-shields/usb-host-shield-2-0-for-arduino-assembled/
21
22 Other compatible boards like Arduino's Shield will also work well but I think Sparkfun's needs to be modified.
23
24     http://arduino.cc/en/Main/ArduinoUSBHostShield
25     https://www.sparkfun.com/products/9947
26
27 Also Pro Micro 3.3V(not Mini) or Teensy with mini host shield will work with some fixes on signal/power routing.
28
29     https://www.circuitsathome.com/products-page/arduino-shields/usb-host-shield-for-arduino-pro-mini
30     https://www.sparkfun.com/products/12587
31     https://www.pjrc.com/teensy/td_libs_USBHostShield.html
32
33
34
35 Build firmware
36 --------------
37 Build.
38
39     $ git clone https://github.com/tmk/tmk_keyboard.git
40     $ cd tmk_keyboard
41     $ git submodule init
42     $ git submodule update
43     $ cd converter/usb_usb
44     $ make
45
46 And Program converter. Push button on TMK converter and just run this.
47
48     $ make dfu
49
50
51 In case of Leonardo push reset button then run command. Serial port name(COM17) depends your system. On Linux I got /dev/ttyACM0.
52
53     $ DEV=COM17 make program
54     or
55     $ avrdude -patmega32u4 -cavr109 -b57600 -Uflash:w:usb_usb.hex -PCOM17
56
57
58
59 Limitation
60 ----------
61 Only supports 'HID Boot protocol'.
62
63 Note that the converter can host only USB "boot protocol" keyboard(6KRO), not NKRO, it is possible to support NKRO keyboard but you will need to write HID report parser for that. Every NKRO keyboard can have different HID report and it is difficult to support all kind of NKRO keyboards in the market.
64
65
66
67 Keymap editor
68 -------------
69 You can editor keymap and download firmware with web brwoser.
70
71 - http://www.tmk-kbd.com/tmk_keyboard/editor/unimap/?usb_usb
72
73
74
75 Update
76 ------
77 2014/12/11  Added Hub support(confirmed with HHKB pro2)
78 2016/09/10  Unimap editor support
79 2016/10/18  Fix LED state at startup
80 2017/05/xx  Fix startup code for FC660C(3eae475)
81 2018/02/xx  Add Korean and Brazilian specific keys(ab6ddac,b2fa0ffa)
82 2018/07/xx  Fix startup issue(c2ce617)
83 2018/10/xx  Use fixed LUFA stack and update USB_Host_Shield_2.0
84
85
86
87 Resource
88 --------
89 USB Host Sheild 2.0
90     https://www.circuitsathome.com/products-page/arduino-shields/usb-host-shield-2-0-for-arduino
91     https://www.circuitsathome.com/products-page/arduino-shields/usb-host-shield-for-arduino-pro-mini
92 USB Host Sheild 2.0 source
93     https://github.com/felis/USB_Host_Shield_2.0
94 Arduino USB Host Shield(with bootst converter)
95     http://arduino.cc/en/Main/ArduinoUSBHostShield
96 Arduino source
97     https://github.com/arduino/Arduino/hardware/arduino/{cores,variants}
98 Initial release of TMK USB-USB converter
99     https://geekhack.org/index.php?topic=33057.msg653549#msg653549
100     http://deskthority.net/workshop-f7/is-remapping-a-usb-keyboard-using-teensy-possible-t2841-30.html#p74854
101 Arduino-based hardware keyboard remapper - Colemak forum
102     http://forum.colemak.com/viewtopic.php?id=1561
103 Teensy + Host Shield
104     http://www.pjrc.com/teensy/td_libs_USBHostShield.html