diff options
Diffstat (limited to 'docs/hardware_keyboard_guidelines.md')
| -rw-r--r-- | docs/hardware_keyboard_guidelines.md | 30 |
1 files changed, 28 insertions, 2 deletions
diff --git a/docs/hardware_keyboard_guidelines.md b/docs/hardware_keyboard_guidelines.md index 7630b44e0..be55356b1 100644 --- a/docs/hardware_keyboard_guidelines.md +++ b/docs/hardware_keyboard_guidelines.md | |||
| @@ -144,10 +144,38 @@ The `rules.mk` file can also be placed in a sub-folder, and its reading order is | |||
| 144 | * `keyboards/top_folder/sub_1/sub_2/sub_3/sub_4/rules.mk` | 144 | * `keyboards/top_folder/sub_1/sub_2/sub_3/sub_4/rules.mk` |
| 145 | * `keyboards/top_folder/keymaps/a_keymap/rules.mk` | 145 | * `keyboards/top_folder/keymaps/a_keymap/rules.mk` |
| 146 | * `users/a_user_folder/rules.mk` | 146 | * `users/a_user_folder/rules.mk` |
| 147 | * `keyboards/top_folder/sub_1/sub_2/sub_3/sub_4/post_rules.mk` | ||
| 148 | * `keyboards/top_folder/sub_1/sub_2/sub_3/post_rules.mk` | ||
| 149 | * `keyboards/top_folder/sub_1/sub_2/post_rules.mk` | ||
| 150 | * `keyboards/top_folder/sub_1/post_rules.mk` | ||
| 151 | * `keyboards/top_folder/post_rules.mk` | ||
| 147 | * `common_features.mk` | 152 | * `common_features.mk` |
| 148 | 153 | ||
| 149 | Many of the settings written in the `rules.mk` file are interpreted by `common_features.mk`, which sets the necessary source files and compiler options. | 154 | Many of the settings written in the `rules.mk` file are interpreted by `common_features.mk`, which sets the necessary source files and compiler options. |
| 150 | 155 | ||
| 156 | The `post_rules.mk` file can interpret `features` of a keyboard-level before `common_features.mk`. For example, when your designed keyboard has the option to implement backlighting or underglow using rgblight.c, writing the following in the `post_rules.mk` makes it easier for the user to configure the `rules.mk`. | ||
| 157 | |||
| 158 | * `keyboards/top_folder/keymaps/a_keymap/rules.mk` | ||
| 159 | ```make | ||
| 160 | # Please set the following according to the selection of the hardware implementation option. | ||
| 161 | RGBLED_OPTION_TYPE = backlight ## none, backlight or underglow | ||
| 162 | ``` | ||
| 163 | * `keyboards/top_folder/post_rules.mk` | ||
| 164 | ```make | ||
| 165 | ifeq ($(filter $(strip $(RGBLED_OPTION_TYPE))x, nonex backlightx underglowx x),) | ||
| 166 | $(error unknown RGBLED_OPTION_TYPE value "$(RGBLED_OPTION_TYPE)") | ||
| 167 | endif | ||
| 168 | |||
| 169 | ifeq ($(strip $(RGBLED_OPTION_TYPE)),backlight) | ||
| 170 | RGBLIGHT_ENABLE = yes | ||
| 171 | OPT_DEFS += -DRGBLED_NUM=30 | ||
| 172 | endif | ||
| 173 | ifeq ($(strip $(RGBLED_OPTION_TYPE)),underglow) | ||
| 174 | RGBLIGHT_ENABLE = yes | ||
| 175 | OPT_DEFS += -DRGBLED_NUM=6 | ||
| 176 | endif | ||
| 177 | ``` | ||
| 178 | |||
| 151 | ?> See `build_keyboard.mk` and `common_features.mk` for more details. | 179 | ?> See `build_keyboard.mk` and `common_features.mk` for more details. |
| 152 | 180 | ||
| 153 | ### `<keyboard_name.c>` | 181 | ### `<keyboard_name.c>` |
| @@ -227,8 +255,6 @@ The year should be the first year the file is created. If work was done to that | |||
| 227 | 255 | ||
| 228 | The core of QMK is licensed under the [GNU General Public License](https://www.gnu.org/licenses/licenses.en.html). If you are shipping binaries for AVR processors you may choose either [GPLv2](https://www.gnu.org/licenses/old-licenses/gpl-2.0.html) or [GPLv3](https://www.gnu.org/licenses/gpl.html). If you are shipping binaries for ARM processors you must choose [GPL Version 3](https://www.gnu.org/licenses/gpl.html) to comply with the [ChibiOS](https://www.chibios.org) GPLv3 license. | 256 | The core of QMK is licensed under the [GNU General Public License](https://www.gnu.org/licenses/licenses.en.html). If you are shipping binaries for AVR processors you may choose either [GPLv2](https://www.gnu.org/licenses/old-licenses/gpl-2.0.html) or [GPLv3](https://www.gnu.org/licenses/gpl.html). If you are shipping binaries for ARM processors you must choose [GPL Version 3](https://www.gnu.org/licenses/gpl.html) to comply with the [ChibiOS](https://www.chibios.org) GPLv3 license. |
| 229 | 257 | ||
| 230 | If your keyboard makes use of the [uGFX](https://ugfx.io) features within QMK you must comply with the [uGFX License](https://ugfx.io/license.html), which requires a separate commercial license before selling a device containing uGFX. | ||
| 231 | |||
| 232 | ## Technical Details | 258 | ## Technical Details |
| 233 | 259 | ||
| 234 | If you're looking for more information on making your keyboard work with QMK, [check out the hardware section](hardware.md)! | 260 | If you're looking for more information on making your keyboard work with QMK, [check out the hardware section](hardware.md)! |
