如何使用Hasu USB to USB Controller Converter刷写tmk固件交换Caps和Ctrl
2024-09-06 18:48:56
相关链接
购买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
按钮。以使用新固件。
最新文章
- [WCF]DomainServices客户端操作异常处理
- 第 14 章 CSS 颜色与度量单位
- Mac安装OpenCV
- [转]finished with non-zero exit value 2
- redmine一键安装
- Investment_完全背包
- zoj 2588 Burning Bridges【双连通分量求桥输出桥的编号】
- Axure初体验:简单交互、通过按钮切换图片
- poj 3007 Organize Your Train part II(静态字典树哈希)
- xeam Build Definition Extension uninstall 卸载
- Unexpected exception 'Cannot run program ... error=2, No such file or directory' ... adb'
- [开发技巧]·Numpy广播机制的深入理解与应用
- ArcGis Classic COM Add-Ins插件dll的安装与卸载
- MBR分区操作-增加、扩展、删除
- spring事务详解(三)源码详解
- for 和while循环 if else
- WebFrom 小程序【条件查询】
- Spark学习笔记——基于MLlib的机器学习
- 如何快速的给你的项目添加icon图标
- Uva 12889 One-Two-Three
热门文章
- PTA(Advanced Level)1067.Sort with Swap(0, i)
- virtualbox 扩容存储
- [转帖]nginx 禁止ip访问以及禁止post方法的简单方法
- (十二)mybatis 查询缓存
- 【2019NOIP复习计划】
- golang数据类型
- bzoj2152 聪聪可可 (树形dp)
- 【C++】如何提高Cache的命中率,示例
- JDK + Tomcat 安装 + 制作自定义镜像【第 1 篇 JDK】
- Python-memcached的使用用法