164d2b2cf80d2b0fed04112c7aa32852949c6294
[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 git://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 Not support keyboard LED yet.
63
64 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.
65
66
67
68 Keymap editor
69 -------------
70 You can editor keymap and download firmware with web brwoser.
71
72 - http://www.tmk-kbd.com/tmk_keyboard/editor/unimap/?usb_usb
73
74
75
76 Update
77 ------
78 2014/12/11 Added Hub support(confirmed with HHKB pro2)
79 2016/09/10 Unimap editor support
80
81
82
83 Resource
84 --------
85 USB Host Sheild 2.0
86 https://www.circuitsathome.com/products-page/arduino-shields/usb-host-shield-2-0-for-arduino
87 https://www.circuitsathome.com/products-page/arduino-shields/usb-host-shield-for-arduino-pro-mini
88 USB Host Sheild 2.0 source
89 https://github.com/felis/USB_Host_Shield_2.0
90 Arduino USB Host Shield(with bootst converter)
91 http://arduino.cc/en/Main/ArduinoUSBHostShield
92 Arduino source
93 https://github.com/arduino/Arduino/hardware/arduino/{cores,variants}
94 Initial release of TMK USB-USB converter
95 https://geekhack.org/index.php?topic=33057.msg653549#msg653549
96 http://deskthority.net/workshop-f7/is-remapping-a-usb-keyboard-using-teensy-possible-t2841-30.html#p74854
97 Arduino-based hardware keyboard remapper - Colemak forum
98 http://forum.colemak.com/viewtopic.php?id=1561
99 Teensy + Host Shield
100 http://www.pjrc.com/teensy/td_libs_USBHostShield.html
Imprint / Impressum