aboutsummaryrefslogtreecommitdiff
path: root/docs/feature_userspace.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/feature_userspace.md')
-rw-r--r--docs/feature_userspace.md20
1 files changed, 14 insertions, 6 deletions
diff --git a/docs/feature_userspace.md b/docs/feature_userspace.md
index 454481cb2..c8fa406cb 100644
--- a/docs/feature_userspace.md
+++ b/docs/feature_userspace.md
@@ -25,19 +25,19 @@ For example,
25 25
26Will include the `/users/jack/` folder in the path, along with `/users/jack/rules.mk`. 26Will include the `/users/jack/` folder in the path, along with `/users/jack/rules.mk`.
27 27
28Additionally, `config.h` here will be processed like the same file in your keymap folder. This is handled separately from the `<name>.h` file. 28Additionally, `config.h` here will be processed like the same file in your keymap folder. This is handled separately from the `<name>.h` file.
29 29
30The reason for this, is that `<name>.h` won't be added in time to add settings (such as `#define TAPPING_TERM 100`), and including the `<name.h>` file in any `config.h` files will result in compile issues. 30The reason for this, is that `<name>.h` won't be added in time to add settings (such as `#define TAPPING_TERM 100`), and including the `<name.h>` file in any `config.h` files will result in compile issues.
31
32So you should use the `config.h` for QMK settings, and the `<name>.h` file for user or keymap specific settings.
31 33
32So you should use the `config.h` for QMK settings, and the `<name>.h` file for user or keymap specific settings.
33
34## Readme 34## Readme
35 35
36Please include authorship (your name, github username, email), and optionally [a license that's GPL compatible](https://www.gnu.org/licenses/license-list.html#GPLCompatibleLicenses). 36Please include authorship (your name, github username, email), and optionally [a license that's GPL compatible](https://www.gnu.org/licenses/license-list.html#GPLCompatibleLicenses).
37 37
38## `Config.h` 38## `Config.h`
39 39
40If you do add a `config,h` file, you want to make sure that it only gets processed once. So you may want to start off with something like this: 40If you do add a `config,h` file, you want to make sure that it only gets processed once. So you may want to start off with something like this:
41 41
42```c 42```c
43#ifndef USERSPACE_CONFIG_H 43#ifndef USERSPACE_CONFIG_H
@@ -48,7 +48,7 @@ If you do add a `config,h` file, you want to make sure that it only gets process
48#endif // !USERSPACE_CONFIG_H 48#endif // !USERSPACE_CONFIG_H
49``` 49```
50 50
51You can use any option hre that you could use in your keymap's `config.h` file. You can find a list of vales [here](config_options.md). 51You can use any option hre that you could use in your keymap's `config.h` file. You can find a list of vales [here](config_options.md).
52 52
53## Example 53## Example
54 54
@@ -115,3 +115,11 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
115This will add a new `KC_MAKE` keycode that can be used in any of your keymaps. And this keycode will output `make <keyboard>:<keymap">`, making frequent compiling easier. And this will work with any keyboard and any keymap as it will output the current boards info, so that you don't have to type this out every time. 115This will add a new `KC_MAKE` keycode that can be used in any of your keymaps. And this keycode will output `make <keyboard>:<keymap">`, making frequent compiling easier. And this will work with any keyboard and any keymap as it will output the current boards info, so that you don't have to type this out every time.
116 116
117Additionally, this should flash the newly compiled firmware automatically, using the correct utility, based on the bootloader settings (or default to just generating the HEX file). However, it should be noted that this may not work on all systems. AVRDUDE doesn't work on WSL, namely (and will dump the HEX in the ".build" folder instead). 117Additionally, this should flash the newly compiled firmware automatically, using the correct utility, based on the bootloader settings (or default to just generating the HEX file). However, it should be noted that this may not work on all systems. AVRDUDE doesn't work on WSL, namely (and will dump the HEX in the ".build" folder instead).
118
119## Override default userspace
120
121By default the userspace used will be the same as the keymap name. In some situations this isn't desirable. For instance, if you use the [layout](feature_layouts.md) feature you can't use the same name for different keymaps (e.g. ANSI and ISO). You can name your layouts `mylayout-ansi` and `mylayout-iso` and add the following line to your layout's `rules.mk`:
122
123```
124USER_NAME := mylayout
125``` \ No newline at end of file