超详细的基础QMK键盘固件制作教程(Windows版) | 您所在的位置:网站首页 › 键盘驱动名称怎么改不了 › 超详细的基础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 变量是json的位置注意与windows不同的是盘符左右 后面跟的是文件的目录,如图所示 2.可以将指定的键盘名和配列名的hex文件构造出来 用法是 qmk compile -kb -km 类似于一就不附图了,但是变量是键盘的名字和配列的名字 二.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); 具体的其他刷机办法,下次有空等我学会了再写。 |
CopyRight 2018-2019 实验室设备网 版权所有 |