aboutsummaryrefslogtreecommitdiff
path: root/docs/zh-cn/newbs_building_firmware.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/zh-cn/newbs_building_firmware.md')
-rw-r--r--docs/zh-cn/newbs_building_firmware.md87
1 files changed, 37 insertions, 50 deletions
diff --git a/docs/zh-cn/newbs_building_firmware.md b/docs/zh-cn/newbs_building_firmware.md
index fc43583c2..681c7ba8f 100644
--- a/docs/zh-cn/newbs_building_firmware.md
+++ b/docs/zh-cn/newbs_building_firmware.md
@@ -1,81 +1,68 @@
1# 构建第一个固件 1# 构建第一个固件
2 2
3现在您已经建立了构建环境,就可以开始构建自定义固件了。对于本指南的这一部分,我们将在3个程序之间切换——文件管理器、文本编辑器和终端窗口。请保持所有3个程序打开,直到您完成并对键盘固件满意。 3<!---
4 original document: 0.15.12:docs/newbs_building_firmware.md
5 git diff 0.15.12 HEAD -- docs/newbs_building_firmware.md | cat
6-->
4 7
5如果您在按照指南第一部分的操作之后关闭并重新打开了终端窗口,请不要忘记输入“cd qmk_firmware”,来使您的终端位于正确的目录。 8现在您已经准备好了构建环境,就可以开始构建自定义固件了。在这节指南中,我们将在3个程序中开展工作——文件管理器、文本编辑器和终端。在做出心满意足的固件前,请不要关闭它们。
9## 新建键映射
6 10
7## 导航到您的keymaps文件夹 11也许你会考虑从默认键映射复制一份来开始,如果你遵循编译环境配置指南到了最后,那么使用QMK命令行可以简单地做到:
8 12
9首先导航到键盘的 `keymaps` 文件夹. 13 qmk new-keymap
10 14
11?> 如果MacOSWindows,可以使用以下命令轻keymaps文件夹。 15如果有那样配置,者你有多个键盘要做,可以键盘
12 16
13?> macOS: 17 qmk new-keymap -kb <keyboard_name>
14 18
15 open keyboards/<keyboard_folder>/keymaps 19检查命令行输出,应该类似于:
16 20
17?> Windows: 21 Ψ <github_username> keymap directory created in: /home/me/qmk_firmware/keyboards/clueboard/66/rev3/keymaps/<github_username>
18 22
19 start .\\keyboards\\<keyboard_folder>\\keymaps 23上面就是创建出的新 `keymap.c` 文件的路径。
20 24
21## `default` 布局副本 25## 使用趁手的编辑 `keymap.c`
22 26
23打开`keymaps`文件夹后,您将需要创建`default`文件夹的副本。我们强烈建议您将文件夹命名为与GitHub用户名相同的名称,但您也可以使用任何您想使用的名称,只要它只包含小写字母、数字和下划线字符。 27在编辑器中打开 `keymap.c`,可以看到控制键盘所有功能的关键结构。`keymap.c` 文件头部的一些define和enum定义能让代码容易阅读一些,继续往下会找到这么一行:
24
25要自动执行此过程,您还可以选择运行`new_keymap.sh`脚本。
26
27导航到`qmk_firmware/util` 目录然后输入以下命令:
28
29```
30./new_keymap.sh <keyboard path> <username>
31```
32
33例如,一个名字叫ymzcdg的用户要创建1up60hse的布局,他需要输入
34
35```
36./new_keymap.sh 1upkeyboards/1up60hse ymzcdg
37```
38
39## 在你最钟爱的文本编辑器中打开`keymap.c`
40
41打开你的`keymap.c`. 在这个文件中,您可以找到控制键盘行为的结构。 在你的`keymap.c` 的顶部有一些让布局更易读的define和enum。在靠下的位置你会找到一行和下面这句很像的:
42 28
43 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 29 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
44 30
45从这一行开始便是层列表。这行下面你会看到包括 `LAYOUT` 或 `KEYMAP`这两个词的几行, 从这些行开始就是层。在这一行下面是组成该特定层的键的列表。 31这行是所有层定义的起点,往下能看到有 `LAYOUT` 的行,都是一个层定义的起始,其下方为该层的组成定义。
46 32
47!> 编辑您的keymap文件时,注意不要添加或删除任何逗号。如果这样做,您将阻止您的固件编译,并且您可能不容易找出多余的或缺少的逗号在哪里。 33!> 编辑时请非常留意不要错误增加/删除了逗号分隔符,否则很可能无法编译固件,且很难排查是哪里的逗号不对。
48 34
49## 据您喜好 35## 个人喜好
50 36
51如何完成这一步骤完全取决于您。改变一直困扰着你的问题,或者完全重做所有的事情。如果您不需要全部图层,可以删除图层,或者将图层总数增加到32个。查看以下文档,了解可以在此处定义的内容: 37这一步的目标完全取决于你,既可以去修复一个你不爽的问题,也可以完全重写一个新的。你可以删除不需要的层,或是增加层到32个的上限,QMK功能丰富,可以在左边的导航栏中寻找“使用QMK”一节,浏览完整的功能信息,也可以看看这些比较简单的:
52 38
53* [键码](keycodes.md) 39* [基础键码](zh-cn/keycodes_basic.md)
54* [特性](features.md) 40* [量子键码](zh-cn/quantum_keycodes.md)
55* [问题与解答](faq.md) 41* [Grave/Escape](zh-cn/feature_grave_esc.md)
42* [鼠标键](zh-cn/feature_mouse_keys.md)
56 43
57?> 当你明白布局是怎么工作时,您也要让每次改变尽可能小。一次改变很大在调试时找出问题会十分困难。 44?> 你大概理解了键映射如何工作的话,留心尽量少去做改动,改动越多出了问题越难排查。
58 45
59## 构建你的固件 46## 构建固件 :id=build-your-firmware
60 47
61后,您就件了。为此,请返回终端窗口并build命令: 48键映完修改后,编译固件了。回终端用编命令
62 49
63 make <my_keyboard>:<my_keymap> 50 qmk compile
64 51
65例如,如果您的keymap名为“xyverz”,并且您正在为rev5 planck构建一个keymap,那么您将使用此命令: 52如果没有完整地配置环境,或你有多个目标键盘,可以指定键盘及键映射:
66 53
67 make planck/rev5:xyverz 54 qmk compile -kb <keyboard> -km <keymap>
68 55
69在编译过程中,你将看到屏幕上有很多输出,通知您正在编译哪些文件他应该以与下文类似的输出结束: 56编译完成后,会输出详尽的编译产出文件信息,其末尾应该看起来像这样:
70 57
71``` 58```
72Linking: .build/planck_rev5_xyverz.elf [OK] 59Linking: .build/planck_rev5_default.elf [OK]
73Creating load file for flashing: .build/planck_rev5_xyverz.hex [OK] 60Creating load file for flashing: .build/planck_rev5_default.hex [OK]
74Copying planck_rev5_xyverz.hex to qmk_firmware folder [OK] 61Copying planck_rev5_default.hex to qmk_firmware folder [OK]
75Checking file size of planck_rev5_xyverz.hex [OK] 62Checking file size of planck_rev5_default.hex [OK]
76 * File size is fine - 18392/28672 63 * The firmware size is fine - 27312/28672 (95%, 1360 bytes free)
77``` 64```
78 65
79## 刷新你的固件 66## 刷
80 67
81步 [Flashing Firmware](newbs_flashing.md) 68参阅[写固](zh-cn/newbs_flashing.md)如何将固件写入键