如何使用Hasu USB to USB Controller Converter刷写tmk固件交换Caps和Ctrl
相关链接
购买Hasu USB to USB Controller Converter:https://www.1upkeyboards.com/shop/controllers/usb-to-usb-converter/
TMK按键编辑器:http://www.tmk-kbd.com/tmk_keyboard/editor/unimap/?usb_usb
TMK固件:https://github.com/tmk/tmk_keyboard/tree/master/converter/usb_usb
刷写方法:https://github.com/tmk/tmk_keyboard/wiki#flash-firmware
论坛中的介绍:https://geekhack.org/index.php?topic=69169.0
步骤
- 推荐使用在线生成工具,跳转到第7步。如果希望自己编译请继续。下载固件源码,准备编译。
自己编译的固件可以修改编译的参数,从而使用键盘上的绝大多数按键。具体参见https://github.com/tmk/tmk_core/blob/master/doc/keymap.md
笔者没有研究具体交换按键的方法,但测试了在Ubuntu下的依赖关系,确保可以编译通过。 - 这里使用Ubuntu 16.04.3 LTS
- 安装依赖
sudo apt install gcc-avr dfu-programmer gcc-arm-non-eabi avr-libc
- 克隆源码
git clone https://github.com/tmk/tmk_keyboard.git; cd tmk_keyboard
- 克隆Git submodule
git submodule init; git submodule update
- 编译源码
cd converter/usb_usb; make -f Makefile.unimap
。跳转到第8步。 - 访问TMK按键编辑器修改自己需要的按键序列,并下载固件
- 你就会得到一个
.hex
的文件,这个就是固件准备刷入。 - 下载刷写工具
https://www.microchip.com/developmenttools/ProductDetails/flip
不清楚为什么没有Mac版的,也只能识别为键盘驱动,无法挂载到虚拟机。推荐使用Windows系统进行刷写。 - 打开刷写工具flip,点击
Device - Select
选择你芯片上的型号,我这里是ATmega32U4
- 选择
Settings - Communication - USB
,再点击控制器上的按钮。如果这里提示AtLibUsbDfu.dll
找不到,请查看https://imgur.com/a/bnwzy - 选择
File - Load HEX File
,并选择刚才的.hex
文件。 - 勾选
Erase
Blank Check
Program
Verify
并点击Run
按钮。 - 重新插拔USB设备,或点击
Start Application
按钮。以使用新固件。