diff options
Diffstat (limited to 'docs/zh-cn/newbs_building_firmware.md')
| -rw-r--r-- | docs/zh-cn/newbs_building_firmware.md | 87 |
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 | ?> 如果您MacOS或Windows,可以使用以下命令轻打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 | ``` |
| 72 | Linking: .build/planck_rev5_xyverz.elf [OK] | 59 | Linking: .build/planck_rev5_default.elf [OK] |
| 73 | Creating load file for flashing: .build/planck_rev5_xyverz.hex [OK] | 60 | Creating load file for flashing: .build/planck_rev5_default.hex [OK] |
| 74 | Copying planck_rev5_xyverz.hex to qmk_firmware folder [OK] | 61 | Copying planck_rev5_default.hex to qmk_firmware folder [OK] |
| 75 | Checking file size of planck_rev5_xyverz.hex [OK] | 62 | Checking 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)了如何将固件写入键控。 |
