客制化键盘QMK固件入门-编译环境搭建

2020-04-12 22:16:23 10点赞 63收藏 10评论

客制化键盘,这是一个巨大的坑,形形色色的轴体、外壳、PCB、数据线键帽、灯效、音效甚至掌托,对于热爱DIY的玩家们来说,确实很吸引人,但再看看价格,只能打扰了。

T站上看到了一款主要零部件用3D打印的机械键盘(SICK68),打印外壳甚至键帽,不用PCB而是飞线,非常硬核,关键是价格,这应该算是除捡垃圾以外,最便宜的客制化机械键盘了。SICK68采用了QMK固件,拥有和大几千的客制化键盘相同的核心,作为一只程序汪,想要玩客制化键盘又玩不起,就只能着键盘的固件深入研究一番了。

简介

QMK的官方网站为:https://qmk.fm/。包含了一套高度可定制的工具集:QMK Firmware,QMK Configurator,QMK Toolbox。QMKFirmware是固件的源代码;QMKConfigurator是在线配置键盘功能、生成固件的网络客户端;QMK_Toolbox是下载和调试固件时使用图形界面工具。

通常来说,使用QMK_Configurator就可以生成市面上一些客制化键盘套件的固件了。但对于想要高度定制的同学,特别是给键盘添加便宜的蓝牙模块、oled屏、旋钮等,就需要搭建编译环境,自己修改代码,自己编译,这也是折腾的乐趣所在。

编译QMK固件,首先需要搭建编译环境,按照官网文档一步步操作本应很轻松的。但得益于国内的网络环境,在安装编译环境的过程中会遇到很多坑。

安装msys2客户端

Windows中使用开发环境,去官网下载免费的安装包。

客制化键盘QMK固件入门-编译环境搭建

安装则没有什么特别的,只需要设置一下安装路径,然后一直next就行。

客制化键盘QMK固件入门-编译环境搭建

更新软件库

按照官方文档,安装完成后需要更新MSYS2的软件库,最好先将MSYS2的源设置为清华大学的源。打开安装路径C:msys64etcpacman.d中的配置文件

客制化键盘QMK固件入门-编译环境搭建

修改mirrorlist.msys,在最上面增加一行Server =
https://mirrors.tuna.tsinghua.edu.cn/msys2/msys/$arch;

修改mirrorlist.mingw32,在最上面增加一行Server =
https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/i686。

修改mirrorlist.mingw64,在最上面增加一行Server =
https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/x86_64。

运行安装路径根目录中的mingw64.exe。

客制化键盘QMK固件入门-编译环境搭建

输入命令pacman -Syu更新。

客制化键盘QMK固件入门-编译环境搭建

中途按提示可能需要重启该程序,再次执行该命令,等待更新完成。

客制化键盘QMK固件入门-编译环境搭建

然后安装编译qmk固件需要软件,输入命令pacman -S git
mingw-w64-x86_64-toolchain
mingw-w64-x86_64-python3-pip。

客制化键盘QMK固件入门-编译环境搭建

接着安装python中的qmk库,使用命令python3 -m pip install qmk -i
https://pypi.tuna.tsinghua.edu.cn/simple从清华大学的pip源安装。

客制化键盘QMK固件入门-编译环境搭建

需要的软件安装完了,最后输入命令qmk setup。这一步会去下载qmk的固件源码,没有国内的源可以使用,速度比较慢,在网络不佳时极可能因错误中断,最好找个月黑风高的夜晚,消消地下完它。当然这也是可以加速的,不过内容这里就不赘述。

编译测试

输入命令qmk compile -kb clueboard/66/rev3 -km default,如果能成功编译完成,那么编译环境就算搭建完成了。

客制化键盘QMK固件入门-编译环境搭建

设置VSCode

在VSCode中点击File->Open Floder打开之前下载的QMK固件。

客制化键盘QMK固件入门-编译环境搭建

下载文件,保存到qmk_firmware/.vscode/文件夹中

客制化键盘QMK固件入门-编译环境搭建

修改该文件中WIN32部分的"includePath"的头文件路径为自己电脑内的对应路径,一些没有的路径,比如Visual Studio 2017等,直接删除也不影响编译,因为这里的头文件路径只是提供给插件使用,方便文件解析的。

客制化键盘QMK固件入门-编译环境搭建

修改settings.json,添加以下代码到文件中,

"terminal.integrated.shell.windows": "C:msys64usrbinbash.exe", "terminal.integrated.env.windows": { "MSYSTEM": "MINGW64", "CHERE_INVOKING": "1" }, "terminal.integrated.shellArgs.windows": [ "--login" ], "terminal.integrated.cursorStyle": "line",

将当前工程的终端设置为QMK使用的MSYS2。

客制化键盘QMK固件入门-编译环境搭建

设置完,VSCode会提示安装插件等,都是为了方便浏览代码的,安装完重启即可。然后就可以在vscode里修改代码,编译固件了。

Ctrl+` 打开终端,可以看到进入了MSYS2终端,输入qmk compile -kb clueboard/66/rev3 -km default测试一下编译环境,一切正常。

客制化键盘QMK固件入门-编译环境搭建

展开 收起
10评论

  • 精彩
  • 最新
  • 那么还有后续吗

    校验提示文案

    提交
    应该会有吧 [抽烟]

    校验提示文案

    提交
    收起所有回复
  • 收藏,学习,GMK迟早要学的

    校验提示文案

    提交
  • GMK...说太顺口了...

    校验提示文案

    提交
  • 原来MSYS2可以更改源地址 [喜极而泣] [喜极而泣] 昨天下了一天 [喜极而泣] [喜极而泣]

    校验提示文案

    提交
  • 原来MSYS2还可以更改源,我昨天下了一天 [喜极而泣] [喜极而泣]

    校验提示文案

    提交
  • 对轴体感兴趣的可以去我那边看看,凯华新发布的BOX静音轴体已经再在用了

    校验提示文案

    提交
  • 您好,我想请教一下,出了如下错误,我应该怎么处理呢……
    tmk_core/protocol/lufa.mk:14: lib/lufa/LUFA/makefile: No such file or directory
    make【1】: *** 没有规则可制作目标“lib/lufa/LUFA/makefile”。 停止。
    Make finished with errors
    make: *** 【Makefile:584:clueboard/66/rev3:default】 错误 1

    是在尝试编译时出错的,是缺少文件了吗?还是其他什么原因呢?谢谢

    校验提示文案

    提交
  • 死在修改includePath [哭泣] [哭泣] [哭泣]

    校验提示文案

    提交
  • 花了五天终于搞定了 [冻住]

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
63
扫一下,分享更方便,购买更轻松