相关链接
购买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

步骤

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

最新文章

  1. [WCF]DomainServices客户端操作异常处理
  2. 第 14 章 CSS 颜色与度量单位
  3. Mac安装OpenCV
  4. [转]finished with non-zero exit value 2
  5. redmine一键安装
  6. Investment_完全背包
  7. zoj 2588 Burning Bridges【双连通分量求桥输出桥的编号】
  8. Axure初体验:简单交互、通过按钮切换图片
  9. poj 3007 Organize Your Train part II(静态字典树哈希)
  10. xeam Build Definition Extension uninstall 卸载
  11. Unexpected exception 'Cannot run program ... error=2, No such file or directory' ... adb'
  12. [开发技巧]·Numpy广播机制的深入理解与应用
  13. ArcGis Classic COM Add-Ins插件dll的安装与卸载
  14. MBR分区操作-增加、扩展、删除
  15. spring事务详解(三)源码详解
  16. for 和while循环 if else
  17. WebFrom 小程序【条件查询】
  18. Spark学习笔记——基于MLlib的机器学习
  19. 如何快速的给你的项目添加icon图标
  20. Uva 12889 One-Two-Three

热门文章

  1. PTA(Advanced Level)1067.Sort with Swap(0, i)
  2. virtualbox 扩容存储
  3. [转帖]nginx 禁止ip访问以及禁止post方法的简单方法
  4. (十二)mybatis 查询缓存
  5. 【2019NOIP复习计划】
  6. golang数据类型
  7. bzoj2152 聪聪可可 (树形dp)
  8. 【C++】如何提高Cache的命中率,示例
  9. JDK + Tomcat 安装 + 制作自定义镜像【第 1 篇 JDK】
  10. Python-memcached的使用用法