aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorskullY <skullydazed@gmail.com>2020-02-25 10:58:36 -0800
committerskullydazed <skullydazed@users.noreply.github.com>2020-03-05 16:00:10 -0800
commit45e218ceec1269e5e2751146272637922cd7e9d9 (patch)
tree2dd63b29f8c5a9e3751eeb47a17ef25187525f5d
parent86f6405574d75cdc69c32829cb523aa1538ecd77 (diff)
downloadqmk_firmware-45e218ceec1269e5e2751146272637922cd7e9d9.tar.gz
qmk_firmware-45e218ceec1269e5e2751146272637922cd7e9d9.zip
overhaul the newbs guide
-rw-r--r--docs/_summary.md11
-rw-r--r--docs/configurator_problems.md3
-rw-r--r--docs/configurator_step_by_step.md58
-rw-r--r--docs/configurator_troubleshooting.md22
-rw-r--r--docs/es/newbs_building_firmware_configurator.md2
-rw-r--r--docs/fr-fr/newbs_building_firmware_configurator.md2
-rw-r--r--docs/ja/newbs_building_firmware_configurator.md2
-rw-r--r--docs/newbs.md16
-rw-r--r--docs/newbs_building_firmware.md9
-rw-r--r--docs/newbs_building_firmware_configurator.md104
-rw-r--r--docs/newbs_flashing.md22
-rw-r--r--docs/newbs_getting_started.md34
-rw-r--r--docs/newbs_learn_more_resources.md8
-rw-r--r--docs/newbs_testing_debugging.md6
14 files changed, 146 insertions, 153 deletions
diff --git a/docs/_summary.md b/docs/_summary.md
index 994d58557..d5582e143 100644
--- a/docs/_summary.md
+++ b/docs/_summary.md
@@ -1,4 +1,4 @@
1* Complete Newbs Guide 1* Tutorial
2 * [Introduction](newbs.md) 2 * [Introduction](newbs.md)
3 * [Setup](newbs_getting_started.md) 3 * [Setup](newbs_getting_started.md)
4 * [Building Your First Firmware](newbs_building_firmware.md) 4 * [Building Your First Firmware](newbs_building_firmware.md)
@@ -18,10 +18,13 @@
18 18
19* Configurator 19* Configurator
20 * [Overview](newbs_building_firmware_configurator.md) 20 * [Overview](newbs_building_firmware_configurator.md)
21 * [Keyboard Support](reference_configurator_support.md) 21 * [Step by Step](configurator_step_by_step.md)
22 * [Troubleshooting](configurator_troubleshooting.md)
23 * [Problems and Bugs](configurator_problems.md)
22 * QMK API 24 * QMK API
23 * [Overview](api_overview.md) 25 * [Overview](api_overview.md)
24 * [API Documentation](api_docs.md) 26 * [API Documentation](api_docs.md)
27 * [Keyboard Support](reference_configurator_support.md)
25 28
26* CLI 29* CLI
27 * [Overview](cli.md) 30 * [Overview](cli.md)
@@ -35,8 +38,8 @@
35 * [Keymap Overview](keymap.md) 38 * [Keymap Overview](keymap.md)
36 * [Vagrant Guide](getting_started_vagrant.md) 39 * [Vagrant Guide](getting_started_vagrant.md)
37 * Flashing 40 * Flashing
41 * [Flashing](flashing.md)
38 * [Flashing ATmega32A (ps2avrgb)](flashing_bootloadhid.md) 42 * [Flashing ATmega32A (ps2avrgb)](flashing_bootloadhid.md)
39 * [Flashing Firmware](flashing.md)
40 * Git Best Practices 43 * Git Best Practices
41 * [Introduction](newbs_git_best_practices.md) 44 * [Introduction](newbs_git_best_practices.md)
42 * [Your Fork](newbs_git_using_your_master_branch.md) 45 * [Your Fork](newbs_git_using_your_master_branch.md)
@@ -53,7 +56,6 @@
53 * [Quantum Keycodes](quantum_keycodes.md) 56 * [Quantum Keycodes](quantum_keycodes.md)
54 57
55 * Advanced Keycodes 58 * Advanced Keycodes
56 * [Auto Shift](feature_auto_shift.md)
57 * [Command](feature_command.md) 59 * [Command](feature_command.md)
58 * [Dynamic Macros](feature_dynamic_macros.md) 60 * [Dynamic Macros](feature_dynamic_macros.md)
59 * [Grave Escape](feature_grave_esc.md) 61 * [Grave Escape](feature_grave_esc.md)
@@ -64,6 +66,7 @@
64 * [US ANSI Shifted Keys](keycodes_us_ansi_shifted.md) 66 * [US ANSI Shifted Keys](keycodes_us_ansi_shifted.md)
65 67
66 * Software Features 68 * Software Features
69 * [Auto Shift](feature_auto_shift.md)
67 * [Combos](feature_combo.md) 70 * [Combos](feature_combo.md)
68 * [Debounce API](feature_debounce_type.md) 71 * [Debounce API](feature_debounce_type.md)
69 * [Key Lock](feature_key_lock.md) 72 * [Key Lock](feature_key_lock.md)
diff --git a/docs/configurator_problems.md b/docs/configurator_problems.md
new file mode 100644
index 000000000..5904b70ba
--- /dev/null
+++ b/docs/configurator_problems.md
@@ -0,0 +1,3 @@
1# Problems and Bugs
2
3We are always accepting customer requests and bug reports. Please file them at [qmk_configurator](https://github.com/qmk/qmk_configurator/issues)
diff --git a/docs/configurator_step_by_step.md b/docs/configurator_step_by_step.md
new file mode 100644
index 000000000..98e37a737
--- /dev/null
+++ b/docs/configurator_step_by_step.md
@@ -0,0 +1,58 @@
1# Step by Step
2
3This page describes the steps for building your firmware in QMK Configurator.
4
5## Step 1: Select your keyboard
6
7Click the drop down box and select the keyboard you want to create a keymap for.
8
9?> If your keyboard has several versions, make sure you select the correct one.
10
11I'll say that again because it's important:
12
13!> **MAKE SURE YOU SELECT THE RIGHT VERSION!**
14
15If your keyboard has been advertised to be powered by QMK but is not in the list, chances are a developer hasn't gotten to it yet or we haven't had a chance to merge it in yet. File an issue at [qmk_firmware](https://github.com/qmk/qmk_firmware/issues) requesting to support that particular keyboard, if there is no active [Pull Request](https://github.com/qmk/qmk_firmware/pulls?q=is%3Aopen+is%3Apr+label%3Akeyboard) for it. There are also QMK powered keyboards that are in their manufacturer's own github accounts. Double check for that as well. <!-- FIXME(skullydazed): This feels too wordy and I'm not sure we want to encourage these kinds of issues. Also, should we prompt them to bug the manufacutrer? -->
16
17## Step 2: Select your keyboard layout
18
19Choose the layout that best represents the keymap you want to create. Some keyboards do not have enough layouts or correct layouts defined yet. They will be supported in the future.
20
21!> Sometimes there isn't a layout that supports your exact build. In that case select `LAYOUT_all`.
22
23## Step 3: Name Your Keymap
24
25Call this keymap what you want.
26
27?> If you are running into issues when compiling, it may be worth changing this name, as it may already exist in the QMK Firmware repo.
28
29## Step 4: Define Your Keymap
30
31Keycode Entry is accomplished in one of 3 ways.
32
331. Drag and drop
342. Clicking on an empty spot on the layout and clicking the keycode you desire
353. Clicking on an empty spot on the layout, pressing the physical key on your keyboard.
36
37?> Hover your mouse over a key and a short blurb will tell you what that keycode does. For a more verbose description please see:
38
39* [Basic Keycode Reference](keycodes_basic.md)
40* [Advanced Keycode Reference](feature_advanced_keycodes.md)
41
42!> If your selected layout doesn't match your physical build leave the unused keys blank. If you're not sure which key is in use, for example you have a one backspace key but `LAYOUT_all` has 2 keys, put the same keycode in both locations.
43
44## Step 5: Save Your Keymap for Future Changes
45
46When you're satisfied with your keymap or just want to work on it later, press the `Export Keymap` button. It will save your keymap to your computer. You can then load this .json file in the future by pressing the `Import Keymap` button.
47
48!> **CAUTION:** This is not the same type of .json file used for kbfirmware.com or any other tool. If you try to use this for those tools, or the .json from those tools with QMK Configurator, you will encounter problems.
49
50## Step 6: Compile your firmware file
51
52Press the green `Compile` button.
53
54When the compilation is done, you will be able to press the green `Download Firmware` button.
55
56## Next steps: Flashing Your Keyboard
57
58Please refer to [Flashing Firmware](newbs_flashing.md)
diff --git a/docs/configurator_troubleshooting.md b/docs/configurator_troubleshooting.md
new file mode 100644
index 000000000..0d013af29
--- /dev/null
+++ b/docs/configurator_troubleshooting.md
@@ -0,0 +1,22 @@
1# Configurator Troubleshooting
2
3## My .json file is not working
4
5If the .json file was generated with QMK Configurator, congratulations you have stumbled upon a bug. File an issue at [qmk_configurator](https://github.com/qmk/qmk_configurator/issues)
6
7If not....how did you miss my big bold message at the top saying not to use other .json files?
8
9## There are extra spaces in my layout? What do I do?
10
11If you're referring to having three spots for space bar, the best course of action is to just fill them all with space bar. The same can be done for backspace and shifts
12
13## What is the keycode for.......
14
15Please see:
16
17* [Basic Keycode Reference](keycodes_basic.md)
18* [Advanced Keycode Reference](feature_advanced_keycodes.md)
19
20## It won't compile
21
22Please double check the other layers of your keymap to make sure there are no random keys present.
diff --git a/docs/es/newbs_building_firmware_configurator.md b/docs/es/newbs_building_firmware_configurator.md
index a25734324..9333159c2 100644
--- a/docs/es/newbs_building_firmware_configurator.md
+++ b/docs/es/newbs_building_firmware_configurator.md
@@ -4,7 +4,7 @@ El [Configurador QMK](https://config.qmk.fm) es un entorno gráfico online que g
4 4
5?> **Por favor sigue estos pasos en orden.** 5?> **Por favor sigue estos pasos en orden.**
6 6
7Ve el [Video tutorial](https://youtu.be/tx54jkRC9ZY) 7Ve el [Video tutorial](https://www.youtube.com/watch?v=-imgglzDMdY)
8 8
9El Configurador QMK functiona mejor con Chrome/Firefox. 9El Configurador QMK functiona mejor con Chrome/Firefox.
10 10
diff --git a/docs/fr-fr/newbs_building_firmware_configurator.md b/docs/fr-fr/newbs_building_firmware_configurator.md
index 577e5c80e..d06242f39 100644
--- a/docs/fr-fr/newbs_building_firmware_configurator.md
+++ b/docs/fr-fr/newbs_building_firmware_configurator.md
@@ -4,7 +4,7 @@ Le [Configurateur de QMK](https://config.qmk.fm) est une interface graphique en
4 4
5?> **S'il vous plaît, suivez les étapes suivantes dans l'ordre.** 5?> **S'il vous plaît, suivez les étapes suivantes dans l'ordre.**
6 6
7Regardez le [Tutoriel vidéo](https://youtu.be/tx54jkRC9ZY) 7Regardez le [Tutoriel vidéo](https://youtu.be/tx54jkRC9ZY)https://www.youtube.com/watch?v=-imgglzDMdY)
8 8
9Le configurateur de QMK fonctionne mieux avec Chrome et Firefox. 9Le configurateur de QMK fonctionne mieux avec Chrome et Firefox.
10 10
diff --git a/docs/ja/newbs_building_firmware_configurator.md b/docs/ja/newbs_building_firmware_configurator.md
index 89c37a1e6..e54921e52 100644
--- a/docs/ja/newbs_building_firmware_configurator.md
+++ b/docs/ja/newbs_building_firmware_configurator.md
@@ -10,7 +10,7 @@
10 10
11?> **次の手順を順番に実行してください。** 11?> **次の手順を順番に実行してください。**
12 12
13[Video Tutorial](https://youtu.be/tx54jkRC9ZY) を見てください。 13[Video Tutorial](https://www.youtube.com/watch?v=-imgglzDMdY) を見てください。
14 14
15QMK Configurator は Chrome/Firefox で最適に動作します。 15QMK Configurator は Chrome/Firefox で最適に動作します。
16 16
diff --git a/docs/newbs.md b/docs/newbs.md
index 3efae9992..389e3f472 100644
--- a/docs/newbs.md
+++ b/docs/newbs.md
@@ -1,6 +1,8 @@
1# The Complete Newbs Guide To QMK 1# The Complete Newbs Guide To QMK
2 2
3QMK is a powerful Open Source firmware for your mechanical keyboard. You can use QMK to customize your keyboard in ways both simple and powerful. People of all skill levels, from complete newbie to master programmer, have successfully used QMK to customize their keyboard. This guide will help you do the same, no matter your skill level. 3Your computer keyboard has a processor inside of it, similar to the one inside your computer. This processor runs software that is responsible for detecting button presses and informing the computer when keys are pressed. QMK Firmware fills the role of that software, detecting button presses and passing that information on to the host computer. When you build your custom keymap, you are creating an executable program for your keyboard.
4
5QMK tries to put a lot of power into your hands by making easy things easy, and hard things possible. You don't have to know how to program to create powerful keymaps — you only have to follow a few simple syntax rules.
4 6
5Not sure if your keyboard can run QMK? If it's a mechanical keyboard you built yourself chances are good it can. We support a [large number of hobbyist boards](http://qmk.fm/keyboards/). If your current keyboard can't run QMK there are a lot of choices out there for boards that do. 7Not sure if your keyboard can run QMK? If it's a mechanical keyboard you built yourself chances are good it can. We support a [large number of hobbyist boards](http://qmk.fm/keyboards/). If your current keyboard can't run QMK there are a lot of choices out there for boards that do.
6 8
@@ -10,17 +12,19 @@ This guide is suitable for everyone who wants to build a keyboard firmware using
10 12
11## Overview 13## Overview
12 14
13There are 6 main sections to this guide: 15There are 4 main sections to this guide:
14 16
151. [Getting Started](newbs_getting_started.md) 171. [Setup Your Environment](newbs_getting_started.md)
162. [Building Your First Firmware](newbs_building_firmware.md) 182. [Building Your First Firmware](newbs_building_firmware.md)
173. [Flashing Firmware](newbs_flashing.md) 193. [Flashing Firmware](newbs_flashing.md)
184. [Testing and Debugging](newbs_testing_debugging.md) 204. [Testing and Debugging](newbs_testing_debugging.md)
195. [Best Git Practices](newbs_git_best_practices.md)
206. [Learn More with these Resources](newbs_learn_more_resources.md)
21 21
22This guide is focused on helping someone who has never compiled software before. It makes choices and recommendations based on that viewpoint. There are alternative methods for many of these procedures, and we support most of those alternatives. If you have any doubt about how to accomplish a task you can [ask us for guidance](getting_started_getting_help.md). 22This guide is focused on helping someone who has never compiled software before. It makes choices and recommendations based on that viewpoint. There are alternative methods for many of these procedures, and we support most of those alternatives. If you have any doubt about how to accomplish a task you can [ask us for guidance](getting_started_getting_help.md).
23 23
24## Additional Resources 24## Additional Resources
25 25
26* [Thomas Baart's QMK Basics Blog](https://thomasbaart.nl/category/mechanical-keyboards/firmware/qmk/qmk-basics/) – A user-created blog covering the basics of how to use QMK Firmware, as seen from a new user's perspective. 26Beyond this guide there are several resources you may find helpful while you learn QMK. We've collected them on the [Learning Resources](newbs_learn_more_resources.md) page.
27
28## Open Source
29
30QMK is Open Source Software released under the GNU General Public License.
diff --git a/docs/newbs_building_firmware.md b/docs/newbs_building_firmware.md
index 3b769051d..5c112a1ca 100644
--- a/docs/newbs_building_firmware.md
+++ b/docs/newbs_building_firmware.md
@@ -30,11 +30,12 @@ This line indicates where the list of Layers begins. Below that you'll find line
30 30
31## Customize The Layout To Your Liking 31## Customize The Layout To Your Liking
32 32
33How to complete this step is entirely up to you. Make the one change that's been bugging you, or completely rework everything. You can remove layers if you don't need all of them, or add layers up to a total of 32. Check the following documentation to find out what you can define here: 33How to complete this step is entirely up to you. Make the one change that's been bugging you, or completely rework everything. You can remove layers if you don't need all of them, or add layers up to a total of 32. There are a lot of features in QMK, explore the sidebar to the left under "Using QMK" to see the full list. To get you started here are a few of the easier to use features:
34 34
35* [Keycodes](keycodes.md) 35* [Basic Keycodes](keycodes_basic.md)
36* [Features](features.md) 36* [Quantum Keycodes](quantum_keycodes.md)
37* [FAQ](faq.md) 37* [Grave/Escape](feature_grave_esc.md)
38* [Mouse keys](feature_mouse_keys.md)
38 39
39?> While you get a feel for how keymaps work, keep each change small. Bigger changes make it harder to debug any problems that arise. 40?> While you get a feel for how keymaps work, keep each change small. Bigger changes make it harder to debug any problems that arise.
40 41
diff --git a/docs/newbs_building_firmware_configurator.md b/docs/newbs_building_firmware_configurator.md
index da0108fb4..46e564eb1 100644
--- a/docs/newbs_building_firmware_configurator.md
+++ b/docs/newbs_building_firmware_configurator.md
@@ -1,105 +1,11 @@
1# QMK Configurator 1# QMK Configurator
2 2
3The [QMK Configurator](https://config.qmk.fm) is an online graphical user interface that generates QMK Firmware hex files. 3[![QMK Configurator Screenshot](https://i.imgur.com/anw9cOL.png)](https://config.qmk.fm/)
4
5?> **Please follow these steps in order.**
6
7Watch the [Video Tutorial](https://youtu.be/tx54jkRC9ZY)
8
9The QMK Configurator works best with Chrome/Firefox.
10
11
12!> **Files from other tools such as KLE, or kbfirmware will not be compatible with QMK Configurator. Do not load them, do not import them. QMK Configurator is a DIFFERENT tool.**
13
14## Selecting your keyboard
15
16Click the drop down box and select the keyboard you want to create a keymap for.
17
18?> If your keyboard has several versions, make sure you select the correct one.
19
20I'll say that again because it's important:
21
22!> **MAKE SURE YOU SELECT THE RIGHT VERSION!**
23
24If your keyboard has been advertised to be powered by QMK but is not in the list, chances are a developer hasn't gotten to it yet or we haven't had a chance to merge it in yet. File an issue at [qmk_firmware](https://github.com/qmk/qmk_firmware/issues) requesting to support that particular keyboard, if there is no active [Pull Request](https://github.com/qmk/qmk_firmware/pulls?q=is%3Aopen+is%3Apr+label%3Akeyboard) for it. There are also QMK powered keyboards that are in their manufacturer's own github accounts. Double check for that as well.
25
26## Selecting your keyboard layout
27
28Choose the layout that best represents the keymap you want to create. Some keyboards do not have enough layouts or correct layouts defined yet. They will be supported in the future.
29
30## Keymap Name
31
32Call this keymap what you want.
33
34?> If you are running into issues when compiling, it may be worth changing this name, as it may already exist in the QMK Firmware repo.
35
36## Creating Your Keymap
37
38Keycode Entry is accomplished in 3 ways.
391. Drag and dropping
402. Clicking on an empty spot on the layout and clicking the keycode you desire
413. Clicking on an empty spot on the layout, pressing the physical key on your keyboard.
42
43Hover your mouse over a key and a short blurb will tell you what that keycode does. For a more verbose description please see:
44
45* [Basic Keycode Reference](keycodes_basic.md)
46* [Advanced Keycode Reference](feature_advanced_keycodes.md)
47
48In the event that you can't find a layout that supports your keymap, for example three spots for spacebar, or two spots for backspace, or 2 spots for shift etc etc, Fill them ALL up.
49
50### Example:
51
523 spots for spacebar: Fill them ALL with spacebar
53 4
542 spots for backspace: Fill them BOTH with backspace 5The [QMK Configurator](https://config.qmk.fm) is an online graphical user interface that generates QMK Firmware hex files.
55
562 spots for right shift: Fill them BOTH with right shift
57
581 spot for left shift and 1 spot for iso support: Fill them both with left shift
59
605 spots, but only 4 keys: Guess and check or ask someone who has done it before.
61
62## Saving Your Keymap for Future Edits
63
64When you're satisfied with your keymap or just want to work on it later, press the `Export Keymap` button. It will save your keymap as the name you chose above appended with .json.
65
66You can then load this .json file in the future by pressing the `Import Keymap` button.
67
68!> **CAUTION:** This is not the same type of .json file used for kbfirmware.com or any other tool. If you try to use this for those tools, or the .json from those tools with QMK Configurator, there is a chance your keyboard will **explode**.
69
70## Generating your firmware file
71
72Press the green `Compile` button.
73
74When the compilation is done, you will be able to press the green `Download Firmware` button.
75
76## Flashing Your Keyboard
77
78Please refer to [Flashing Firmware](newbs_flashing.md)
79
80## Troubleshooting
81
82#### My .json file is not working
83
84If the .json file was generated with QMK Configurator, congratulations you have stumbled upon a bug. File an issue at [qmk_configurator](https://github.com/qmk/qmk_configurator/issues)
85
86If not....how did you miss my big bold message at the top saying not to use other .json files?
87
88#### There are extra spaces in my layout? What do I do?
89
90If you're referring to having three spots for space bar, the best course of action is to just fill them all with space bar. The same can be done for backspace and shifts
91
92#### What is the keycode for.......
93
94Please see:
95
96* [Basic Keycode Reference](keycodes_basic.md)
97* [Advanced Keycode Reference](feature_advanced_keycodes.md)
98
99#### It won't compile
100 6
101Please double check the other layers of your keymap to make sure there are no random keys present. 7Watch the [Video Tutorial](https://www.youtube.com/watch?v=-imgglzDMdY). Many people find that is enough information to start programming their own keyboard.
102 8
103## Problems and Bugs 9The QMK Configurator works best with Chrome or Firefox.
104 10
105We are always accepting customer requests and bug reports. Please file them at [qmk_configurator](https://github.com/qmk/qmk_configurator/issues) 11!> **Note: Files from other tools such as KLE, or kbfirmware will not be compatible with QMK Configurator. Do not load them, do not import them. QMK Configurator is a DIFFERENT tool.**
diff --git a/docs/newbs_flashing.md b/docs/newbs_flashing.md
index 3cbeb1c4b..b114a6247 100644
--- a/docs/newbs_flashing.md
+++ b/docs/newbs_flashing.md
@@ -6,7 +6,7 @@ Now that you've built a custom firmware file you'll want to flash your keyboard.
6 6
7The simplest way to flash your keyboard will be with the [QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases). 7The simplest way to flash your keyboard will be with the [QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases).
8 8
9However, the QMK Toolbox is only available for Windows and macOS currently. If you're using Linux (or just wish to flash the firmware from the command line), you'll have to use the [method outlined below](newbs_flashing.md#flash-your-keyboard-from-the-command-line). 9However, the QMK Toolbox is only available for Windows and macOS currently. If you're using Linux (or just wish to flash the firmware from the command line), proceed down to [Flash Your Keyboard From The Command Line](newbs_flashing.md#flash-your-keyboard-from-the-command-line).
10 10
11### Load The File Into QMK Toolbox 11### Load The File Into QMK Toolbox
12 12
@@ -100,26 +100,10 @@ However, this does rely on the bootloader being set by the keyboard. If this in
100 100
101 WARNING: This board's bootloader is not specified or is not supported by the ":flash" target at this time. 101 WARNING: This board's bootloader is not specified or is not supported by the ":flash" target at this time.
102 102
103In this case, you'll have to fall back on specifying the bootloader. 103In this case, you'll have to fall back on specifying the bootloader. See the [Flashing Firmware](flashing.md) Guide for more details.
104
105There are five main bootloaders that are used. Pro Micro and clones use Caterina, Teensys use HalfKay, OLKB's AVR boards use QMK-DFU, other ATmega32U4 boards use DFU, and most ARM boards use ARM DFU.
106
107You can find more information about the bootloaders in the [Flashing Instructions and Bootloader Information](flashing.md) page.
108
109If you know what bootloader that you're using you can specify that in your flash command:
110
111 qmk flash -bl <bootloader>
112
113Run this command to get a list of valid bootloaders:
114
115 qmk flash --bootloaders
116
117### More information
118
119See the Flashing documentation for more information on esoteric flashing situations.
120 104
121## Test It Out! 105## Test It Out!
122 106
123Congrats! Your custom firmware has been programmed to your keyboard! 107Congrats! Your custom firmware has been programmed to your keyboard!
124 108
125Give it a try and make sure everything works the way you want it to. We've written [Testing and Debugging](newbs_testing_debugging.md) to round out this Newbie Guide, so head over there to learn about validating your firmware and how to troubleshoot your custom functionality. 109Give it a try and make sure everything works the way you want it to. We've written [Testing and Debugging](newbs_testing_debugging.md) to round out this guide, so head over there to learn about validating your firmware and how to troubleshoot your custom functionality.
diff --git a/docs/newbs_getting_started.md b/docs/newbs_getting_started.md
index 7ea4c62e2..10ebb03d2 100644
--- a/docs/newbs_getting_started.md
+++ b/docs/newbs_getting_started.md
@@ -1,16 +1,10 @@
1# Getting Started 1# Setting Up Your QMK Environment
2
3Your computer keyboard has a processor inside of it, similar to the one inside your computer. This processor runs software that is responsible for detecting button presses and informing the computer when keys are pressed. QMK fills the role of that software, detecting button presses and passing that information on to the host computer. When you build your custom keymap, you are creating an executable program for your keyboard.
4
5QMK tries to put a lot of power into your hands by making easy things easy, and hard things possible. You don't have to know how to program to create powerful keymaps — you only have to follow a few simple syntax rules.
6
7# Prerequisites
8 2
9Before you can build keymaps, you need to install some software and set up your build environment. This only has to be done once no matter how many keyboards you plan to compile firmware for. 3Before you can build keymaps, you need to install some software and set up your build environment. This only has to be done once no matter how many keyboards you plan to compile firmware for.
10 4
11If you would prefer a more graphical user interface approach, please consider using the online [QMK Configurator](newbs_building_firmware_configurator.md). 5## 1. Download Software
12 6
13## Download Software 7There are a few pieces of software you'll need to get started.
14 8
15### Text Editor 9### Text Editor
16 10
@@ -29,7 +23,13 @@ QMK Toolbox is an optional graphical program for Windows and macOS that allows y
29* For Windows: `qmk_toolbox.exe` (portable) or `qmk_toolbox_install.exe` (installer) 23* For Windows: `qmk_toolbox.exe` (portable) or `qmk_toolbox_install.exe` (installer)
30* For macOS: `QMK.Toolbox.app.zip` (portable) or `QMK.Toolbox.pkg` (installer) 24* For macOS: `QMK.Toolbox.app.zip` (portable) or `QMK.Toolbox.pkg` (installer)
31 25
32## Set Up Your Environment 26### A Unix-like Environment
27
28Linux and macOS come with unix shells you can execute already. You will only need to setup your build environment.
29
30On Windows you will need to install MSYS2 or WSL and use those environments. Instructions for setting up MSYS2 are provided below.
31
32## Prepare Your Build Environment
33 33
34We've tried to make QMK as easy to set up as possible. You only have to prepare your Linux or Unix environment, then let QMK install the rest. 34We've tried to make QMK as easy to set up as possible. You only have to prepare your Linux or Unix environment, then let QMK install the rest.
35 35
@@ -48,7 +48,6 @@ After opening a new MSYS2 MinGW 64-bit terminal run these commands:
48 48
49 pacman -S git python3-pip 49 pacman -S git python3-pip
50 python3 -m pip install qmk 50 python3 -m pip install qmk
51 qmk setup
52 51
53### macOS 52### macOS
54 53
@@ -58,7 +57,6 @@ After Homebrew is installed run these commands:
58 57
59 brew tap qmk/qmk 58 brew tap qmk/qmk
60 brew install qmk 59 brew install qmk
61 qmk setup
62 60
63### Linux 61### Linux
64 62
@@ -68,13 +66,17 @@ You will need to install Git and Python. It's very likely that you already have
68* Fedora / Red Hat / CentOS: `yum install git python3 && python3 -m pip install qmk` 66* Fedora / Red Hat / CentOS: `yum install git python3 && python3 -m pip install qmk`
69* Arch: `pacman -S qmk` 67* Arch: `pacman -S qmk`
70 68
69## 2. Run QMK Setup
70
71After installing QMK you can set it up with this command: 71After installing QMK you can set it up with this command:
72 72
73 qmk setup 73 qmk setup
74 74
75In most situations you will want to answer Yes to all of the prompts.
76
75?> If you already know [how to use GitHub](getting_started_github.md), we recommend that you create your own fork and use `qmk setup <github_username>` to clone your personal fork. If you don't know what that means you can safely ignore this message. 77?> If you already know [how to use GitHub](getting_started_github.md), we recommend that you create your own fork and use `qmk setup <github_username>` to clone your personal fork. If you don't know what that means you can safely ignore this message.
76 78
77## Test Your Build Environment 79## 3. Test Your Build Environment
78 80
79Now that your QMK build environment is set up, you can build a firmware for your keyboard. Start by trying to build the keyboard's default keymap. You should be able to do that with a command in this format: 81Now that your QMK build environment is set up, you can build a firmware for your keyboard. Start by trying to build the keyboard's default keymap. You should be able to do that with a command in this format:
80 82
@@ -94,7 +96,7 @@ Checking file size of clueboard_66_rev3_default.hex
94 * The firmware size is fine - 26356/28672 (2316 bytes free) 96 * The firmware size is fine - 26356/28672 (2316 bytes free)
95``` 97```
96 98
97## Configure Your Build Environment 99## 4. Configure Your Build Environment (Optional)
98 100
99You can configure your build environment to set the defaults and make working with QMK less tedious. Let's do that now! 101You can configure your build environment to set the defaults and make working with QMK less tedious. Let's do that now!
100 102
@@ -106,6 +108,10 @@ You can also set your default keymap name. Most people use their github username
106 108
107 qmk config user.keymap=<github_username> 109 qmk config user.keymap=<github_username>
108 110
111After this you can leave those arguments off and compile your keyboard like this:
112
113 qmk compile
114
109# Creating Your Keymap 115# Creating Your Keymap
110 116
111You are now ready to create your own personal keymap! Move on to [Building Your First Firmware](newbs_building_firmware.md) for that. 117You are now ready to create your own personal keymap! Move on to [Building Your First Firmware](newbs_building_firmware.md) for that.
diff --git a/docs/newbs_learn_more_resources.md b/docs/newbs_learn_more_resources.md
index 9e33acb0d..8f1ddec1e 100644
--- a/docs/newbs_learn_more_resources.md
+++ b/docs/newbs_learn_more_resources.md
@@ -2,11 +2,15 @@
2 2
3These resources are aimed at giving new members in the QMK community more understanding to the information provided in the Newbs docs. 3These resources are aimed at giving new members in the QMK community more understanding to the information provided in the Newbs docs.
4 4
5Command Line resources: 5**QMK resources**:
6
7* [Thomas Baart's QMK Basics Blog](https://thomasbaart.nl/category/mechanical-keyboards/firmware/qmk/qmk-basics/) – A user-created blog covering the basics of how to use QMK Firmware, as seen from a new user's perspective.
8
9**Command Line resources**:
6 10
7* [Good General Tutorial on Command Line](https://www.codecademy.com/learn/learn-the-command-line) 11* [Good General Tutorial on Command Line](https://www.codecademy.com/learn/learn-the-command-line)
8 12
9Git resources: 13**Git resources**:
10 14
11* [Great General Tutorial](https://www.codecademy.com/learn/learn-git) 15* [Great General Tutorial](https://www.codecademy.com/learn/learn-git)
12* [Flight Rules For Git](https://github.com/k88hudson/git-flight-rules) 16* [Flight Rules For Git](https://github.com/k88hudson/git-flight-rules)
diff --git a/docs/newbs_testing_debugging.md b/docs/newbs_testing_debugging.md
index 62982584f..c6c1bd50c 100644
--- a/docs/newbs_testing_debugging.md
+++ b/docs/newbs_testing_debugging.md
@@ -20,6 +20,10 @@ void keyboard_post_init_user(void) {
20} 20}
21``` 21```
22 22
23## Debugging Tools
24
25There are two different tools you can use to debug your keyboard.
26
23### Debugging With QMK Toolbox 27### Debugging With QMK Toolbox
24 28
25For compatible platforms, [QMK Toolbox](https://github.com/qmk/qmk_toolbox) can be used to display debug messages from your keyboard. 29For compatible platforms, [QMK Toolbox](https://github.com/qmk/qmk_toolbox) can be used to display debug messages from your keyboard.
@@ -28,8 +32,6 @@ For compatible platforms, [QMK Toolbox](https://github.com/qmk/qmk_toolbox) can
28 32
29Prefer a terminal based solution? [hid_listen](https://www.pjrc.com/teensy/hid_listen.html), provided by PJRC, can also be used to display debug messages. Prebuilt binaries for Windows,Linux,and MacOS are available. 33Prefer a terminal based solution? [hid_listen](https://www.pjrc.com/teensy/hid_listen.html), provided by PJRC, can also be used to display debug messages. Prebuilt binaries for Windows,Linux,and MacOS are available.
30 34
31<!-- FIXME: Describe the debugging messages here. -->
32
33## Sending Your Own Debug Messages 35## Sending Your Own Debug Messages
34 36
35Sometimes it's useful to print debug messages from within your [custom code](custom_quantum_functions.md). Doing so is pretty simple. Start by including `print.h` at the top of your file: 37Sometimes it's useful to print debug messages from within your [custom code](custom_quantum_functions.md). Doing so is pretty simple. Start by including `print.h` at the top of your file: