From efe360464d0df68e5096d7339e2279b4c77685fd Mon Sep 17 00:00:00 2001 From: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Mon, 28 Jan 2019 17:31:33 -0800 Subject: [PATCH] Contribute the MechMerlin QMK Configurator docs (#4986) * first pass at configurator docs * edit existing docs to make reference to QMK Configurator * contribute my own newb guide to QMK officially from https://github.com/mechmerlin/qmk_setup/blob/master/qmk_configurator.md * Update docs/newbs_building_firmware_configurator.md Co-Authored-By: mechmerlin <30334081+mechmerlin@users.noreply.github.com> * Update docs/newbs_building_firmware_configurator.md Big red box! Co-Authored-By: mechmerlin <30334081+mechmerlin@users.noreply.github.com> * Update docs/newbs_building_firmware_configurator.md Big red box Co-Authored-By: mechmerlin <30334081+mechmerlin@users.noreply.github.com> * Update docs/newbs_building_firmware_configurator.md Co-Authored-By: mechmerlin <30334081+mechmerlin@users.noreply.github.com> * Update docs/newbs_building_firmware_configurator.md Co-Authored-By: mechmerlin <30334081+mechmerlin@users.noreply.github.com> * Update docs/newbs_building_firmware_configurator.md Co-Authored-By: mechmerlin <30334081+mechmerlin@users.noreply.github.com> * Update docs/newbs_building_firmware_configurator.md Co-Authored-By: mechmerlin <30334081+mechmerlin@users.noreply.github.com> --- docs/newbs.md | 5 +- docs/newbs_building_firmware_configurator.md | 105 +++++++++++++++++++ docs/newbs_getting_started.md | 5 +- 3 files changed, 112 insertions(+), 3 deletions(-) create mode 100644 docs/newbs_building_firmware_configurator.md diff --git a/docs/newbs.md b/docs/newbs.md index 4f115c3c7..904a52945 100644 --- a/docs/newbs.md +++ b/docs/newbs.md @@ -6,10 +6,11 @@ Not sure if your keyboard can run QMK? If it's a mechanical keyboard you built y ## Overview -There are 6 main sections to this guide: +There are 7 main sections to this guide: * [Getting Started](newbs_getting_started.md) -* [Building Your First Firmware](newbs_building_firmware.md) +* [Building Your First Firmware using the command line](newbs_building_firmware.md) +* [Building Your First Firmware using the online GUI](newbs_building_firmware_configurator.md) * [Flashing Firmware](newbs_flashing.md) * [Testing and Debugging](newbs_testing_debugging.md) * [Git Best Practices](newbs_best_practices.md) diff --git a/docs/newbs_building_firmware_configurator.md b/docs/newbs_building_firmware_configurator.md new file mode 100644 index 000000000..0ad609304 --- /dev/null +++ b/docs/newbs_building_firmware_configurator.md @@ -0,0 +1,105 @@ +# QMK Configurator + +The [QMK Configurator](https://config.qmk.fm) is an online graphical user interface that generates QMK Firmware hex files. + +?> **Please follow these steps in order.** + +Watch the [Video Tutorial](https://youtu.be/7RH-1pAbjvw) + +The QMK Configurator works best with Chrome/Firefox. + + +!> **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. ** + +## Selecting your keyboard + +Click the drop down box and select the keyboard you want to create a keymap for. + +?> If your keyboard has several versions, make sure you select the correct one.** + +I'll say that again because it's important + +!> **MAKE SURE YOU SELECT THE RIGHT VERSION!** + +If 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. + +## Selecting your keyboard layout + +Choose 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. + +## Keymap Name + +Call this keymap what you want. + +?> 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. + +## Creating Your Keymap + +Keycode Entry is accomplished in 3 ways. +1. Drag and dropping +2. Clicking on an empty spot on the layout and clicking the keycode you desire +3. Clicking on an empty spot on the layout, pressing the physical key on your keyboard. + +Hover your mouse over a key and a short blurb will tell you what that keycode does. For a more verbose description please see + +[Basic Keycode Reference](https://docs.qmk.fm/#/keycodes_basic) +[Advanced Keycode Reference](https://docs.qmk.fm/#/feature_advanced_keycodes) + +In 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. + +### Example: + +3 spots for spacebar: Fill them ALL with spacebar + +2 spots for backspace: Fill them BOTH with backspace + +2 spots for right shift: Fill them BOTH with right shift + +1 spot for left shift and 1 spot for iso support: Fill them both with left shift + +5 spots, but only 4 keys: Guess and check or ask someone who has done it before. + +## Saving Your Keymap for Future Edits + +When 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. + +You can then load this .json file in the future by pressing the `Import Keymap` button. + +!> **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**. + +## Generating your firmware file + +Press the green `Compile` button. + +When the compilation is done, you will be able to press the green `Download Firmware` button. + +## Flashing Your Keyboard + +Please refer to [Flashing Firmware](newbs_flashing.md) + +## Troubleshooting + +#### My .json file is not working + +If 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) + +If not....how did you miss my big bold message at the top saying not to use other .json files? + +#### There are extra spaces in my layout? What do I do? + +If 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 + +#### What is the keycode for....... + +Please see + +[Basic Keycode Reference](https://docs.qmk.fm/#/keycodes_basic) +[Advanced Keycode Reference](https://docs.qmk.fm/#/feature_advanced_keycodes) + +#### It won't compile + +Please double check the other layers of your keymap to make sure there are no random keys present. + +## Problems and Bugs + +We 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/newbs_getting_started.md b/docs/newbs_getting_started.md index 276c7fec3..aefa1b738 100644 --- a/docs/newbs_getting_started.md +++ b/docs/newbs_getting_started.md @@ -6,7 +6,10 @@ QMK tries to put a lot of power into your hands by making easy things easy, and # Getting Started -Before 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. +Before 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. + +If you would prefer a more graphical user interface approach, please consider using the online [QMK Configurator](https://config.qmk.fm). Please refer to [Building Your First Firmware using the online GUI](newbs_building_firmware_configurator.md). + ## Download Software