客制化键盘QMK固件入门-编译环境搭建
客制化键盘,这是一个巨大的坑,形形色色的轴体、外壳、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中使用开发环境,去官网下载免费的安装包。
安装则没有什么特别的,只需要设置一下安装路径,然后一直next就行。
更新软件库
按照官方文档,安装完成后需要更新MSYS2的软件库,最好先将MSYS2的源设置为清华大学的源。打开安装路径C:msys64etcpacman.d中的配置文件
修改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。
输入命令pacman -Syu更新。
中途按提示可能需要重启该程序,再次执行该命令,等待更新完成。
然后安装编译qmk固件需要软件,输入命令pacman -S git
mingw-w64-x86_64-toolchain
mingw-w64-x86_64-python3-pip。
接着安装python中的qmk库,使用命令python3 -m pip install qmk -i
https://pypi.tuna.tsinghua.edu.cn/simple从清华大学的pip源安装。
需要的软件安装完了,最后输入命令qmk setup。这一步会去下载qmk的固件源码,没有国内的源可以使用,速度比较慢,在网络不佳时极可能因错误中断,最好找个月黑风高的夜晚,消消地下完它。当然这也是可以加速的,不过内容这里就不赘述。
编译测试
输入命令qmk compile -kb clueboard/66/rev3 -km default,如果能成功编译完成,那么编译环境就算搭建完成了。
设置VSCode
在VSCode中点击File->Open Floder打开之前下载的QMK固件。
下载文件,保存到qmk_firmware/.vscode/文件夹中
修改该文件中WIN32部分的"includePath"的头文件路径为自己电脑内的对应路径,一些没有的路径,比如Visual Studio 2017等,直接删除也不影响编译,因为这里的头文件路径只是提供给插件使用,方便文件解析的。
修改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。
设置完,VSCode会提示安装插件等,都是为了方便浏览代码的,安装完重启即可。然后就可以在vscode里修改代码,编译固件了。
Ctrl+` 打开终端,可以看到进入了MSYS2终端,输入qmk compile -kb clueboard/66/rev3 -km default测试一下编译环境,一切正常。
呵呵杨呵呵
校验提示文案
叁拾而立
校验提示文案
叁拾而立
校验提示文案
sukhoi_air
校验提示文案
sukhoi_air
校验提示文案
个子高尿的远
校验提示文案
DeanCreeper
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
是在尝试编译时出错的,是缺少文件了吗?还是其他什么原因呢?谢谢
校验提示文案
值友4433478450
校验提示文案
小mico
校验提示文案
小mico
校验提示文案
值友4433478450
校验提示文案
DeanCreeper
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
是在尝试编译时出错的,是缺少文件了吗?还是其他什么原因呢?谢谢
校验提示文案
个子高尿的远
校验提示文案
呵呵杨呵呵
校验提示文案
sukhoi_air
校验提示文案
sukhoi_air
校验提示文案
叁拾而立
校验提示文案
叁拾而立
校验提示文案