超详细的基础QMK键盘固件制作教程(Windows版) - 哔哩哔哩

本文提供了两难度的制作QMK固件的办法,

ps.这里只提供固件制作的方法,实在写不动了,看看反响再考虑要不要再继续写。

(你们要相信我,鸽鸽什么时候欺骗过你们,咕咕咕~)

1.基础版:直接通过网站制作固件,2.高级版:自己编译QMK固件(怎么编译看下篇文章)

ps.通过基础网站可以满足大部分人的对于键位、功能和层级的需要,但是无法制作一些

特殊的配件比如蓝牙啥的,并且自己编译的可玩性还有成就感要高的多。

————————————————————————————————————————

下面进入基础版的教程(这里制作固件不需要软件,烧入固件需要):

首先为了制作键盘固件我们需要自己设计键盘的键位等,我这里提供两种方案

1.通过QMK官方的在线配置器QMK Configurator同时完成设计键位和下载固件的操作;

2.通过键盘布局编辑器keyboard layout edito和键盘固件生成器kbfirmware组合制作固件;

ps.这里谈一谈这两种方法的优缺点:第一种办法操作简单,但是只有比较大众的键盘才

会在列表里面出现键盘的配列只可以按照官方给定的几种中选择,有时候不一定可以满足

需求;第二种相较繁琐,但是可以自己设计键盘以及键盘配列;但是两种方法都不能实现

QMK固件所包含的特殊功能键以及类似扩展oled屏幕这类高级操作。

一.QMK Configurator 网站:https://config.qmk.fm/#/10bleoledhub/LAYOUT

首先我们在键盘中选择你要制作固件的pcb名称,我这里就选GH60,

然后在layout中选择键盘布局,在这里要注意一下ansi和iso,all表示二者都支持,

顺便别忘了在keymap name那栏取个名,用英文。

然后就是自己设计键位的部分:

具体按键功能可以参考QMK官方提供的总览:https://docs.qmk.fm/#/keycodes

这里具体讲解一下gmk的功能键和层级,抛开基本键码(ANSI和IOS),

控制键(包括跟Fn有关的层转换以及重置键盘的键):

  • 层转换里面Mo(/具体层级)是按下时立即开启,而To(/具体层级)是按下后到那个层;
  • 注意最好给键盘留下一个控制的reset键,以便于烧入固件;
  • M(num)是控制组合键,事先做好组合键并标号,可以将按键设置成M+数字用来输出组合键

键盘设置键(控制背光、RGB和按键转换)

  • 可以控制光源亮度,流光速度;
  • 设置按键转换键,按下后可以完成类似将SHIFT变成CTRL的操作。

其他(包括App,媒体,鼠标键)

  • 可以控制电脑的睡眠与唤醒,单键实现复制或粘贴,甚至打开我的电脑的操作
  • 控制媒体播放、音量
  • 用按键实现鼠标侧键的功能

总的来说QMK可玩性高,方便用户个性化,稍加探索你就可以制作一把适合自己的键盘,

当然自己编译的固件,还可以在这基础上增加更多的功能。

然后我们回到之前那张图

如果设计一半没有做完可以选择左下角的框框,下载成json文件,下次再上传这个文件就可以继续。如果做完了,选择右上角的compile,等他把土豆做好(你点过以后就知道我在说什么了),然后你会发现右下角两个图标此时变成绿色的了,你只需要点击右边那个firmware就可以获得你所需要的hex文件了。(fullsourse是将是高级版中需要的包含所有键盘数据的文件)

二.姑且叫做组合生成法:

keyboard layout editor 网站:http://www.keyboard-layout-editor.com/

kbfirmware 网站:https://kbfirmware.com/

首先我们先来到keyboard layout editor来制作键盘的布局,具体使用方法比较简单,不进行赘述了,具体每个键的功能可以先不进行设计,后续另一个网站上再进行设计。

ps.但要要确保你的pcb支持你所设计的配列,注意每个键的大小(1x还是1.25x分清楚)

然后我们点击如同所示的Raw data,复制下方栏中的全部内容,就可以到下一个网站了。

来到下一个网站kbfirmware,我们将内容粘贴到如图所示的框框中

然后点击import,进去编辑页面,

  • 在wiring界面有着布线图,如果你没有什么特殊需要,这里并不需要更改,
  • pins是设置开发板的针脚,大佬自己拿开发板做键盘
  • keymap是设置键位,具体的跟QMK Configurator一样。
  • macros是组合键,也可以算是宏吧,不过qmk里面其实是有专门录制宏的功能的,这个大家有兴趣可以查一查官网的功能表,具体玩法大家自己研究研究一下就明白了。
  • quantum,他第一行就写了不懂得不要乱改,就算是小孩子也不要去动哦。
  • setting里面给你的键位在layout取个名字,如果在这里你没有设计完成,你可以点击save configuration跟QMK Configurator保存一个json文件,下次在网站首页直接点upload上传这个json文件就可以继续设计了。
  • 如果设计完成了在compile下载hex文件,就完成了制作固件。

关于烧入固件的在文章结尾,对于不需要高级版教程的朋友直接跳过到结尾就可以了!

好吧结尾也没写,写不动了,下次写!!下次一定!!

————————————————————————————————————————

高级版

先介绍一下高级版:

  • 在构建环境的时候,由于QMK这个东西真的很垃圾(说的心里话),在新版本安装的时候会遇到缺少文件的尴尬问题,然后还会有一些其他的问题,这也就劝退了很多玩家,然后国内的教程中我找到的很多确实都没有解决办法,只能在国外论坛上找答案,所以最终我会把我遇到的问题以及解决方案在这里跟大家介绍。前期的准备工作只要为QMK准备Linux或者Unix的环境,为此你需要掌握一下简单的命令行知识。官方建议Windows的用户使用MSYS2;
  • 你需要下载QMK关于键盘的Full source资源,你可以选择对现有的键盘通过c语言进行修改,也可以完完全全自己创建一把新键盘,在这里你需要一个c语言的编译器IDE;
  • 最后你需要使用msys2将你所制作的键盘文件加上必要文件合并成可烧录一个hex文件。

综上高级版所需要的软件有:

1.MSYA2用于将包含代码的文件制作成hex文件(可烧入单片机的文件);

在MSYA2中你需要安装Git和QMK CLI用于安装编译QMK固件

下载地址:https://www.msys2.org/

2.任意C语言编译器(VS、Dev-C++之类的都可以甚至记事本都ok),仅用于修改代码;

我这里使用VS2015。

首先我们先去MSYA2官网下载软件https://www.msys2.org/

安装完成后我们打开软件所在路径,我的是C:\msys64

ps.注意不是安装完成后让你打开的那个窗口,那个不一样

如果是国内用户在这之前最好换一下源,为了提高下载速度

我的包含源的文件的路径是C:\msys64\etc\pacman.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 (表示升级整个系统)按下回车

这里要注意的是过程会重启软件,重启的地方还是在安装目录的根目录然后你需要再输入一遍 pacman -Syu 让他继续更新,还会让你输入Y/N此时输入Y就可以了,

同时安装完成后也进行一遍重启。下图是全部更新完后的显示

然后使用命令 pacman --needed --noconfirm --disable-download-timeout -S git mingw-w64-x86_64-toolchain mingw-w64-x86_64-python3-pip(这是一行)

来安装git、python,如下图(记得输入Y):

然后使用命令 python3 -m pip install qmk 安装qmk

最后使用命令 qmk setup 设置qmk,

但是但是!你会发现他会报错!没错他就是会报错!!

但是不要着急,先一路Y过去先让他装好。(这里时间可能比较长慢慢等)

因为他缺少了文件,所以必须要把他搞好,我试过一个一个把他装好,其他都可以很容易的装好,但是源里面那个dfu-programmer版本是0.6.1的,装好以后报错说版本有问题,

后来去官网下了个0.7.2的但是文件是tar.gz结尾的,之前没有装过,地址也给你们:https://sourceforge.net/projects/dfu-programmer/files/dfu-programmer/0.7.2/

上网查研究了半天怎么装这个东西,最后是装好了,但是太麻烦了。

后来在qmk的2月分更新历史里找到了答案如图:

总的来说就是要多一步 make git-submodule 的操作

然后这里就有几个问题了,

1.因为没有装make 所以第一步要先进行 pacman -S make 这个命令

2.安装好make 后如果你执行make git-submodule命令会发现他会报错,因为你不是在qmk_firmware的路径下,这里开头所说的基本的命令行知识就有用了,你需要学会至少(ls,cd具体怎么操作的可以上网了解),如果你处于刚打开程序的状况,你只需输入

cd qmk_firmware 到达其目录下再输入make git-submodule ,就可以了。

等待它执行完,这里不要着急qmk setup,如果直接设置,它还是会报错,需要你再进行一次重启。执行完毕如果跟下图一样就代表成功了。

总结一下(接python3 install qmk)

1.pacman -S make

2.cd qmk_firmware

3.make git-submodule

4.重启

5.qmk setup

至此QMK编译环境就制作完成了

这里粗略介绍一下QMK CLI的常用功能(主要就是用第一个):

一. qmk compile 将几类文件转换成hex文件

1.可以将从https://config.qmk.fm网站上下载的json文件直接转换成hex类型

用法是 qmk compile <configuratorExport.json>

变量是json的位置注意与windows不同的是盘符左右

后面跟的是文件的目录,如图所示

2.可以将指定的键盘名和配列名的hex文件构造出来

用法是 qmk compile -kb <keyboard_name> -km <keymap_name>

类似于一就不附图了,但是变量是键盘的名字和配列的名字

二.qmk info

这个命令功能很强大,它可以把键盘的配列在命令行里面画出来非常有趣,具体怎么用还是参见官网吧

官网地址关于QMK CLI的用法:https://docs.qmk.fm/#/cli_commands

接下来我们就要自己编辑键盘的源文件

我们之前安装的过程中有下载qmk自带的源文件

我们打开MSYS64的这个目录:

我的是C:\msys64\home\spbgz(最后这个spbgz是我的用户名)

里面包含着一个qmk_firmware文件夹打开它里面的keyboard文件夹,里面就是自带的键盘源文件,找到你需要的型号。

我这里就以gh60_satan为例

过编译器修改其中数值就可以设置各种功能,包括最基础的配列、层级以及更高级的oled屏幕,扬声器等等。

固件烧录软件:

操作其实很简单,选择所要烧入的hex文件,烧入就可以了,关键是让键盘进入刷机模式。

QMK工具箱(qmk_toolbox.exe精简版或qmk_toolbox_install.exe安装版)用于烧录固件

下载地址:https://github.com/qmk/qmk_toolbox/releases/tag/0.0.19

(一般来说打开这个会询问你是否安装qmk的驱动,如果没有提示或者不小心按了no,这

里可以下载qmk驱动:https://github.com/qmk/qmk_driver_installer/releases);

具体的其他刷机办法,下次有空等我学会了再写。


原网址: 访问
创建于: 2021-03-08 17:36:30
目录: default
标签: 无

请先后发表评论
  • 最新评论
  • 总共0条评论