aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/faq_general.md2
-rw-r--r--docs/getting_started_build_tools.md19
-rw-r--r--docs/getting_started_introduction.md (renamed from docs/getting_started_instroduction.md)12
-rw-r--r--readme.md2
4 files changed, 19 insertions, 16 deletions
diff --git a/docs/faq_general.md b/docs/faq_general.md
index fcc40e0a1..7647b1c2a 100644
--- a/docs/faq_general.md
+++ b/docs/faq_general.md
@@ -10,7 +10,7 @@
10 10
11## What Differences Are There Between QMK and TMK? 11## What Differences Are There Between QMK and TMK?
12 12
13TMK was originally designed and implemented by [Jun Wako](https://github.com/tmk). QMK started as [Jack Humbert's](https://github.com/jackhumbert) fork of TMK for the Planck. After a while Jack's fork had diverged quite a bit from TMK, and in 2015 Jack decided to rename his fork to QMK. 13TMK was originally designed and implemented by [Jun Wako](https://github.com/tmk). QMK started as [Jack Humbert](https://github.com/jackhumbert)'s fork of TMK for the Planck. After a while Jack's fork had diverged quite a bit from TMK, and in 2015 Jack decided to rename his fork to QMK.
14 14
15From a technical standpoint QMK builds upon TMK by adding several new features. Most notably QMK has expanded the number of available keycodes and uses these to implement advanced features like `S()`, `LCTL()`, and `MO()`. You can see a complete list of these keycodes in [Keycodes](keycodes.md). 15From a technical standpoint QMK builds upon TMK by adding several new features. Most notably QMK has expanded the number of available keycodes and uses these to implement advanced features like `S()`, `LCTL()`, and `MO()`. You can see a complete list of these keycodes in [Keycodes](keycodes.md).
16 16
diff --git a/docs/getting_started_build_tools.md b/docs/getting_started_build_tools.md
index 934617d85..88612ff56 100644
--- a/docs/getting_started_build_tools.md
+++ b/docs/getting_started_build_tools.md
@@ -1,6 +1,6 @@
1# Installing Build Tools 1# Installing Build Tools
2 2
3This page describes setting up the build environment for QMK. These instructions cover AVR processors (such as the atmega32u4.) 3This page describes setting up the build environment for QMK. These instructions cover AVR processors (such as the atmega32u4).
4 4
5<!-- FIXME: We should have ARM instructions somewhere. --> 5<!-- FIXME: We should have ARM instructions somewhere. -->
6 6
@@ -44,7 +44,7 @@ By default, this will download compilers for both AVR and ARM. If you don't need
44 44
45 nix-shell --arg arm false 45 nix-shell --arg arm false
46 46
47## Mac 47## macOS
48If you're using [homebrew,](http://brew.sh/) you can use the following commands: 48If you're using [homebrew,](http://brew.sh/) you can use the following commands:
49 49
50 brew tap osx-cross/avr 50 brew tap osx-cross/avr
@@ -58,10 +58,10 @@ This is the recommended method. If you don't have homebrew, [install it!](http:/
58 58
59## Windows with msys2 (recommended) 59## Windows with msys2 (recommended)
60 60
61The best environment to use, for Windows Vista through any later version (tested on 7 and 10,) is [msys2](http://www.msys2.org). 61The best environment to use, for Windows Vista through any later version (tested on 7 and 10), is [msys2](http://www.msys2.org).
62 62
63* Install msys2 by downloading and following the instructions here: http://www.msys2.org 63* Install msys2 by downloading it and following the instructions here: http://www.msys2.org
64* Open the "MSYS2 MingGW 64-bit" shortcut 64* Open the ``MSYS2 MingGW 64-bit`` shortcut
65* Navigate to your qmk checkout. For example, if it's in the root of your c drive: 65* Navigate to your qmk checkout. For example, if it's in the root of your c drive:
66 * `$ cd /c/qmk_firmware` 66 * `$ cd /c/qmk_firmware`
67* Run `util/msys2_install.sh` and follow the prompts 67* Run `util/msys2_install.sh` and follow the prompts
@@ -80,7 +80,7 @@ If you already have cloned the repository on your Windows file system you can ig
80 80
81You will need to clone the repository to your Windows file system using the normal Git for Windows and **not** the WSL Git. So if you haven't installed Git before, [download](https://git-scm.com/download/win) and install it. Then [set it up](https://git-scm.com/book/en/v2/Getting-Started-First-Time-Git-Setup), it's important that you setup the e-mail and user name, especially if you are planning to contribute. 81You will need to clone the repository to your Windows file system using the normal Git for Windows and **not** the WSL Git. So if you haven't installed Git before, [download](https://git-scm.com/download/win) and install it. Then [set it up](https://git-scm.com/book/en/v2/Getting-Started-First-Time-Git-Setup), it's important that you setup the e-mail and user name, especially if you are planning to contribute.
82 82
83Once Git is installed, open the Git bash command and change the directory to where you want to clone QMK, note that you have to use forward slashes, and that your c drive is accessed like this `/c/path/to/where/you/want/to/go`. Then run `git clone --recurse-submodules https://github.com/qmk/qmk_firmware`, this will create a new folder `qmk_firmware` as a subfolder of the current one. 83Once Git is installed, open the Git Bash command and change the directory to where you want to clone QMK; note that you have to use forward slashes, and that your c drive is accessed like this `/c/path/to/where/you/want/to/go`. Then run `git clone --recurse-submodules https://github.com/qmk/qmk_firmware`, this will create a new folder `qmk_firmware` as a subfolder of the current one.
84 84
85### Toolchain setup 85### Toolchain setup
86The Toolchain setup is done through the Windows Subsystem for Linux, and the process is fully automated. If you want to do everything manually, there are no other instructions than the scripts themselves, but you can always open issues and ask for more information. 86The Toolchain setup is done through the Windows Subsystem for Linux, and the process is fully automated. If you want to do everything manually, there are no other instructions than the scripts themselves, but you can always open issues and ask for more information.
@@ -122,8 +122,11 @@ If this is a bit complex for you, Docker might be the turn-key solution you need
122# defaults are ergodox/default 122# defaults are ergodox/default
123 123
124docker run -e keymap=gwen -e keyboard=ergodox_ez --rm -v $('pwd'):/qmk:rw edasque/qmk_firmware 124docker run -e keymap=gwen -e keyboard=ergodox_ez --rm -v $('pwd'):/qmk:rw edasque/qmk_firmware
125```
126
127On Windows Docker seems to have issues with the VOLUME tag in Dockerfile, and `$('pwd')` won't print a Windows compliant path; use full path instead, like this:
125 128
126# On windows docker seems to have issue with VOLUME tag in Dockerfile, and $('pwd') won't print a windows compliant path, use full path instead like this 129```bash
127docker run -e keymap=default -e keyboard=ergobox_ez --rm -v D:/Users/Sacapuces/Documents/Repositories/qmk:/qmk:rw edasque/qmk_firmware 130docker run -e keymap=default -e keyboard=ergobox_ez --rm -v D:/Users/Sacapuces/Documents/Repositories/qmk:/qmk:rw edasque/qmk_firmware
128 131
129``` 132```
@@ -131,4 +134,4 @@ docker run -e keymap=default -e keyboard=ergobox_ez --rm -v D:/Users/Sacapuces/D
131This will compile the targeted keyboard/keymap and leave it in your QMK directory for you to flash. 134This will compile the targeted keyboard/keymap and leave it in your QMK directory for you to flash.
132 135
133## Vagrant 136## Vagrant
134If you have any problems building the firmware, you can try using a tool called Vagrant. It will set up a virtual computer with a known configuration that's ready-to-go for firmware building. OLKB does NOT host the files for this virtual computer. Details on how to set up Vagrant are in the [vagrant guide](vagrant_guide.md). 137If you have any problems building the firmware, you can try using a tool called Vagrant. It will set up a virtual computer with a known configuration that's ready-to-go for firmware building. OLKB does NOT host the files for this virtual computer. Details on how to set up Vagrant are in the [vagrant guide](getting_started_vagrant.md).
diff --git a/docs/getting_started_instroduction.md b/docs/getting_started_introduction.md
index 3cd27504d..3e9a8eb0b 100644
--- a/docs/getting_started_instroduction.md
+++ b/docs/getting_started_introduction.md
@@ -1,22 +1,22 @@
1# Introduction 1# Introduction
2 2
3This page attempts to explain the basic information you need to know to work with the QMK project. It assumes that you are familiar with navigating a UNIX shell, but does not assume you are familiar with C or with compiling using make. 3This page attempts to explain the basic information you need to know to work with the QMK project. It assumes that you are familiar with navigating a Unix shell, but does not assume you are familiar with C or with compiling using make.
4 4
5## Basic QMK structure 5## Basic QMK structure
6 6
7QMK is a fork of @tmk's [tmk_keyboard](https://github.com/tmk/tmk_keyboard) project. The original TMK code, with modifications, can be found in the `tmk` folder. The QMK additions to the project may be found in the `quantum` folder. Keyboard projects may be found in the `handwired` and `keyboard` folders. 7QMK is a fork of [Jun Wako](https://github.com/tmk)'s [tmk_keyboard](https://github.com/tmk/tmk_keyboard) project. The original TMK code, with modifications, can be found in the `tmk` folder. The QMK additions to the project may be found in the `quantum` folder. Keyboard projects may be found in the `handwired` and `keyboard` folders.
8 8
9### Keyboard project structure 9### Keyboard project structure
10 10
11Within the `handwired` and `keyboard` folders is a directory for each keyboard project, for example `qmk_firmware/keyboards/clueboard`. Within you'll find the following structure: 11Within the folder `keyboards` and its subfolder `handwired` is a directory for each keyboard project, for example `qmk_firmware/keyboards/clueboard`. Within it you'll find the following structure:
12 12
13* `keymaps/`: Different keymaps that can be built 13* `keymaps/`: Different keymaps that can be built
14* `rules.mk`: The file that sets the default "make" options. Do not edit this file directly, instead use a keymap specific `Makefile`. 14* `rules.mk`: The file that sets the default "make" options. Do not edit this file directly, instead use a keymap specific `Makefile`
15* `config.h`: The file that sets the default compile time options. Do not edit this file directly, instead use a keymap specific `config.h`. 15* `config.h`: The file that sets the default compile time options. Do not edit this file directly, instead use a keymap specific `config.h`.
16 16
17### Keymap structure 17### Keymap structure
18 18
19In every keymap folder, the following files may be found. Only `keymap.c` is required, if the rest of the files are not found the default options will be chosen. 19In every keymap folder, the following files may be found. Only `keymap.c` is required, and if the rest of the files are not found the default options will be chosen.
20 20
21* `config.h`: the options to configure your keymap 21* `config.h`: the options to configure your keymap
22* `keymap.c`: all of your keymap code, required 22* `keymap.c`: all of your keymap code, required
@@ -30,7 +30,7 @@ There are 2 `config.h` locations:
30* keyboard (`/keyboards/<keyboard>/config.h`) 30* keyboard (`/keyboards/<keyboard>/config.h`)
31* keymap (`/keyboards/<keyboard>/keymaps/<keymap>/config.h`) 31* keymap (`/keyboards/<keyboard>/keymaps/<keymap>/config.h`)
32 32
33If the keymap `config.h` exists that file is included by the build system and the keyboard `config.h` is not included. If you wish to override settings in your keymap's `config.h` you will need to include some glue code: 33If the keymap `config.h` exists, that file is included by the build system and the keyboard `config.h` is not included. If you wish to override settings in your keymap's `config.h` you will need to include some glue code:
34 34
35``` 35```
36#ifndef CONFIG_USER_H 36#ifndef CONFIG_USER_H
diff --git a/readme.md b/readme.md
index 74dd6e8a9..76acab52a 100644
--- a/readme.md
+++ b/readme.md
@@ -29,4 +29,4 @@ QMK is developed and maintained by Jack Humbert of OLKB with contributions from
29 29
30## Documentation 30## Documentation
31 31
32[https://docs.qmk.fm](https://docs.qmk.fm) is hosted on [Gitbook](https://www.gitbook.com/book/qmk/firmware/details) and [Github](/docs/) (they are synced). You can request changes by making a fork and [pull request](https://github.com/qmk/qmk_firmware/pulls), or by clicking the "suggest an edit" link on any page of the Docs. 32[https://docs.qmk.fm](https://docs.qmk.fm) is hosted on [Gitbook](https://www.gitbook.com/book/qmk/firmware/details) and [GitHub](/docs/) (they are synced). You can request changes by making a fork and [pull request](https://github.com/qmk/qmk_firmware/pulls), or by clicking the "suggest an edit" link on any page of the Docs.