With this converter you can change keymap and use functions TMK firmware offers on your USB keyboard.
You can support this project by getting TMK USB-USB converter from me.TroubleshootYou have trouble or question? Post infos like below when you can ask in this thread.
Debug outputUse
hid_listen command to see its debug outputs. Post its outputs.
Try
debug firmware for detailed debug log, instead of default firmware.
Keyboard model nameURL of the product page would be helpful to check its specifications and manuals
OS nameWindows/Mac/Linux
USB DescriptorIf your problem is specific to your keyboard,
use
TMK USB Descriptor Dumper to get keyboard's USB Descriptor data.
Flash
Dumper firmware onto your converter and then plug keyboard. Use
hid_listen to get Descritpor data. Post all of outputs on hid_listen.
Also try these.
Cable and HubUse short and good-quality USB cable, or plug the converter into computer directly or externally powered USB Hub.
With longer cable USB power voltage drops more at the converter and keyboard, this can cause problem especially when plug-in the devices or computer is powered up.
https://geekhack.org/index.php?topic=69169.msg3100547#msg3100547HardwareYou need USB host controller chip MAX3421e and AVR chip ATMega32U4.
1. TMK USB to USB converterThis small board is almost equivalent to USB Host Shield plus Leonardo. This is an assmebled converter and no soldering job is needed.
You can order here to support my project.
More
PCB design files are available.
https://github.com/tmk/USB2USB_ConverterCase design file is available here. Thank you, Gouty@github! 2018-10-27
https://github.com/tmk/USB2USB_Converter/tree/master/3D%20Printed%20Case2. USB Host Shield 2.0 + Arduino LeonardoJust plug USB Host Shield onto Arduino Leonardo, they are not small as TMK converter but work well with default firmware.
More
3. Mini USB Host Shield 2.0 + Pro MicroNot supported by me but this should work too. Firmware may require small fix.
https://geekhack.org/index.php?topic=80421.0 TMK Keymap EditorYou can edit key mapping and get your custom firmware easily on
TMK Keymap Editor.
FlashPress tiny button on TMK converter to turn it into program mode.
You can flash firmware in web browser using
'Flash on Web' feature of Keymap Editor now.(2025-04)
See this for more details.
https://github.com/tmk/tmk_keyboard/wiki#flash-firmwareFirmwareThis converter is part of TMK keyboard firmware project. Source code for the converter firmware is available here.
https://github.com/tmk/tmk_keyboard/tree/master/converter/usb_usbBuildYou can compile firmware from source code. See this documentation for the detail.
https://github.com/tmk/tmk_keyboard/wiki#build-firmwareYou don't have to build firmware yourself. You can use easy TMK keymap editor instead.
Limitation- Only supports 'HID Boot protocol'(6KRO) mode. Many of NKRO keyboards still can work in 6KRO mode. (Confirmed NKRO keyboards: see 'Compatible Keyboards' list.)
- Media/System control keys on keyboard are not recognized by the converter. Note that you can still send them with TMK firmware by remapping keys.
- 'Fn' key on keyboard is not recognized. In most case keyboards don't spit out scancode for 'Fn' key. You cannot remap the 'Fn' key itself.
- Firmware size. USB to USB converter uses alot of flash space to support USB keyboard. Some combination of TMK features can not fit into MCU flash size(28KB). To reduce firmware size you have to disable some of features you don't use, see 'Firmware' section above.
- No mouse or other pointing devices support. To support all pointing devices is difficult but it is possible to support one specific device if you are willing to write code for that. https://geekhack.org/index.php?topic=69169.msg2193024#msg2193024
Incompatible KeyboardsThe converter doesn't work with:
Some of incompatible keyboards listed here may work with the latest firmware probably, please try and report if you have any.
As of 2020-12 the converter firmware received a few bug fixes on its USB stack which improved its keyboard compatibility greatly.
Use this firmware to get detailed debug outputs on hid_listen if your keyboard doesn't work. And post its outputs here.Compatible KeyboardsIf your keyobard works well with BIOS/EFI you can expect the converter handle it reasonably. But it is still not 100% assured, the covnerter can fail to handle the keyobard with some reasons unfortunately while the converter firmiware has been gradually updated to improve compatiblility.
Report from users would be really appreciated. Please post your result in this thread.IssuesConnectPro KVM switchThe converter doesn't work on its DDM port of ConnectPro KVM switch. Workaround is disabling debug console. (2021-10-05)
https://geekhack.org/index.php?topic=69169.msg3085929#msg3085929https://github.com/tmk/tmk_keyboard/issues/707Fixed(2021-10-24)
UGREEN's usb 2.0 KVM switchThe covnerter doesn't work on Macbook pro after long sleep when connected through the KVM.
No workaround as of 2021-09.
https://github.com/tmk/tmk_keyboard/issues/703Update2025-04 Add 'Flash on Web' feature in Keymap Editor
2024-03 Fix for
Unicomp Mini M #7732023-12 Fix
startup for Poker X2023-12 Add
suspend and remote wakeup support(power saving)
2023-02 Ducky One 2 Mini support
2023-01 Apple Magic keyboard(A1644/A1843) support
2022-10 Update description for Ducky One 2 Mini
2022-10
Fix for HHKB Hybrid2022/05
Fix for Anne Pro22021/10
Update firmware - Fix for ConnectPro UD-12+ KVM
#707 - UHS2:
500ms delay for bus reset for Matrix Vita
- UHS2: Improve plugin detection in busprobe()
2020/12 Fix
STALL error2020/11 Fix
TAP_KEY2020/11 Add
Mechanical Locking Key support2020/11 Fix
TOGGLE error and
HUBPRE bit.
2019/05
Fix startup stuck problem2019/05
Fix Rollover error handling2018/11 Update firmware(Use fixed LUFA stack and update USB_Host_Shield_2.0)
2018/11 Add Filco Majestouch2 87 and ikbc KD87 to compatibility list
2018/07 Update firmware to
fix startup issue. see
this commit.
2018/10 Add design file for enclosure
2018/02 Update "Reported keyboards" section
2017/05 Fix startup code for FC660C
2016/09 New keymap editor(unimap) is available
2016/01 Add Keymap editor
2015/12 Add Firmware size to limitations, and recommendation for genuine host shield
2015/11 Add keymap for JIS and ISO
2015/07 Bug fix for keyboard sending ErrorRollOver report
2015/07 Add Locking key indicator support
2015/06 Updated Limitation and TODO
2015/02 TMK USB to USB converter Rev.A
2014/12 Added Hub support(confirmed with HHKB pro2)