Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Welcome to the tmk_keyboard wiki!
You can buy here to support this project.
- HHKB Alt Controllers
- Converters(USB-USB, PS/2, ADB, NeXT, M0110, IBM4704, SUN, X68K...)
- Alps64 PCB(60% keyboard for Alps SKCM/SKCL)
- FC660C Alt Controller
- FC980C Alt Controller
TMK Keymap Editor
Keymap editor is available for TMK products. You can edit keymap and download firmware with web browser, you don't have to build firmware from source code.
Read this first.
Build on Windows
Don't use WinAVR with TMK anymore unless you know what you are doing and can help yourself. Instead use one of methods below.
- Build firmware on VirtualBox (recommended)
- Bash On Ubuntu On Windows10
- Atmel AVR toolchain + Cygwin/MinGW
Build on Mac
brew tap osx-cross/avr brew install avr-gcc brew install dfu-programmer
To flash firmware there are several tools you can use with keyboard or converter.
- Atmel FLIP
Atmel FLIP for Windows
How to use FLIP
- Boot your device into programming mode or bootloader. Usually you can start bootloader with pressing program button or specific key combo, consult with document of your device.
- On menu bar click Device -> Select, then choose your chip name. (In most cases ATmega32U2 or ATmega32U4)
- On menu bar click Settings -> Communication -> USB, then click Open button on USB Port Connection dialog. At this point you'll have to plug into USB and start bootloader.
- On menu bar click File -> Load HEX File, then select your firmware hex file on File Selector dialog.
- On Operations Flow panel click Run button to load the firmware binary to the chip. Note that you should keep Erase, Blank Check, Program and Verify check boxes selected.
- Re-plug USB cord or click Start Application button to restart your controller. Done.
See also FLIP instructions if needed.
First, try to remove current driver and re-install from Device Manager. See Driver-install-on-Windows#troubleshooting.
- FLIP: AtLibUsbDfu.dll not found
- Could not open USB device
dfu-programmer for Windows, Mac and Linux
Boot your device into programming mode or bootloader before flashing. Usually you can start bootloader with pressing program button or specific key combo, consult with document of your device.
To flash firmware run three commands in terminal(cmd.exe for Windows/Terminal.app for Mac).
dfu-programmer <controller> erase --force dfu-programmer <controller> flash <your_firmware.hex> dfu-programmer <controller> reset
--forceif you use 0.6.x version.
<controller>part will be atmega32u4(for HHKB/FC660C/FC980C Alt Controllers and USB-USB Conveter) or atmega32u2(for other Converters and Alps64).
<your_firmware.hex>part should be file path to firmware hex file. You can copy file path by draging the firmware file from Finder or Explorer into terminal window like this.
This probably works for TMK also. https://github.com/qmk/qmk_toolbox
You can download from: https://github.com/qmk/qmk_toolbox/releases
You can get debug info with this tool. https://www.pjrc.com/teensy/hid_listen.html
Magic commands for debug
Magic keybind is
LShift + RShift by default.
Magic + HHelp
Migic + VVersion and build options
Magic + DGeneral debug print
Magic + KKeyboard report
Magic + XMatrix state