mirror of
https://github.com/qmk/qmk_firmware.git
synced 2025-07-27 11:31:13 +00:00
Merge branch 'qmk:master' into master
This commit is contained in:
commit
3a050518ce
@ -17,12 +17,12 @@ qmk compile [-c] <configuratorExport.json>
|
|||||||
**Usage for Keymaps**:
|
**Usage for Keymaps**:
|
||||||
|
|
||||||
```
|
```
|
||||||
qmk compile [-c] [-e <var>=<value>] [-j <num_jobs>] [--compiledb] -kb <keyboard_name> -km <keymap_name>
|
qmk compile [-c] [-e <var>=<value>] [-j <num_jobs>] [--compiledb] -kb <keyboard> -km <keymap>
|
||||||
```
|
```
|
||||||
|
|
||||||
**Usage in Keyboard Directory**:
|
**Usage in Keyboard Directory**:
|
||||||
|
|
||||||
Must be in keyboard directory with a default keymap, or in keymap directory for keyboard, or supply one with `--keymap <keymap_name>`
|
Must be in keyboard directory with a default keymap, or in keymap directory for keyboard, or supply one with `--keymap <keymap>`
|
||||||
```
|
```
|
||||||
qmk compile
|
qmk compile
|
||||||
```
|
```
|
||||||
@ -30,7 +30,7 @@ qmk compile
|
|||||||
**Usage for building all keyboards that support a specific keymap**:
|
**Usage for building all keyboards that support a specific keymap**:
|
||||||
|
|
||||||
```
|
```
|
||||||
qmk compile -kb all -km <keymap_name>
|
qmk compile -kb all -km <keymap>
|
||||||
```
|
```
|
||||||
|
|
||||||
**Example**:
|
**Example**:
|
||||||
@ -62,7 +62,7 @@ $ qmk compile
|
|||||||
|
|
||||||
Must be under `qmk_firmware/layouts/`, and in a keymap folder.
|
Must be under `qmk_firmware/layouts/`, and in a keymap folder.
|
||||||
```
|
```
|
||||||
qmk compile -kb <keyboard_name>
|
qmk compile -kb <keyboard>
|
||||||
```
|
```
|
||||||
|
|
||||||
**Example**:
|
**Example**:
|
||||||
@ -77,11 +77,11 @@ $ qmk compile -kb dz60
|
|||||||
|
|
||||||
It is possible to speed up compilation by adding the `-j`/`--parallel` flag.
|
It is possible to speed up compilation by adding the `-j`/`--parallel` flag.
|
||||||
```
|
```
|
||||||
qmk compile -j <num_jobs> -kb <keyboard_name>
|
qmk compile -j <num_jobs> -kb <keyboard>
|
||||||
```
|
```
|
||||||
The `num_jobs` argument determines the maximum number of jobs that can be used. Setting it to zero will enable parallel compilation without limiting the maximum number of jobs.
|
The `num_jobs` argument determines the maximum number of jobs that can be used. Setting it to zero will enable parallel compilation without limiting the maximum number of jobs.
|
||||||
```
|
```
|
||||||
qmk compile -j 0 -kb <keyboard_name>
|
qmk compile -j 0 -kb <keyboard>
|
||||||
```
|
```
|
||||||
|
|
||||||
**Compilation Database**:
|
**Compilation Database**:
|
||||||
@ -120,7 +120,7 @@ qmk flash [-bl <bootloader>] [-c] [-e <var>=<value>] [-j <num_jobs>] <configurat
|
|||||||
**Usage for Keymaps**:
|
**Usage for Keymaps**:
|
||||||
|
|
||||||
```
|
```
|
||||||
qmk flash -kb <keyboard_name> -km <keymap_name> [-bl <bootloader>] [-c] [-e <var>=<value>] [-j <num_jobs>]
|
qmk flash -kb <keyboard> -km <keymap_name> [-bl <bootloader>] [-c] [-e <var>=<value>] [-j <num_jobs>]
|
||||||
```
|
```
|
||||||
|
|
||||||
**Usage for pre-compiled firmwares**:
|
**Usage for pre-compiled firmwares**:
|
||||||
|
@ -44,7 +44,7 @@ Depending on the ChibiOS board configuration, you may need to [enable and config
|
|||||||
|
|
||||||
## LED Mapping {#led-mapping}
|
## LED Mapping {#led-mapping}
|
||||||
|
|
||||||
In order to use this driver, each output must be mapped to an LED index, by adding the following to your `<keyboardname>.c`:
|
In order to use this driver, each output must be mapped to an LED index, by adding the following to your `<keyboard>.c`:
|
||||||
|
|
||||||
```c
|
```c
|
||||||
const aw20216s_led_t PROGMEM g_aw20216s_leds[AW20216S_LED_COUNT] = {
|
const aw20216s_led_t PROGMEM g_aw20216s_leds[AW20216S_LED_COUNT] = {
|
||||||
|
@ -37,7 +37,7 @@ Depending on the ChibiOS board configuration, you may need to [enable and config
|
|||||||
|
|
||||||
## LED Mapping {#led-mapping}
|
## LED Mapping {#led-mapping}
|
||||||
|
|
||||||
In order to use this driver, each output must be mapped to an LED index, by adding the following to your `<keyboardname>.c`:
|
In order to use this driver, each output must be mapped to an LED index, by adding the following to your `<keyboard>.c`:
|
||||||
|
|
||||||
```c
|
```c
|
||||||
const is31fl3218_led_t PROGMEM g_is31fl3218_leds[IS31FL3218_LED_COUNT] = {
|
const is31fl3218_led_t PROGMEM g_is31fl3218_leds[IS31FL3218_LED_COUNT] = {
|
||||||
|
@ -50,7 +50,7 @@ Depending on the ChibiOS board configuration, you may need to [enable and config
|
|||||||
|
|
||||||
## LED Mapping {#led-mapping}
|
## LED Mapping {#led-mapping}
|
||||||
|
|
||||||
In order to use this driver, each output must be mapped to an LED index, by adding the following to your `<keyboardname>.c`:
|
In order to use this driver, each output must be mapped to an LED index, by adding the following to your `<keyboard>.c`:
|
||||||
|
|
||||||
```c
|
```c
|
||||||
const is31fl3236_led_t PROGMEM g_is31fl3236_leds[IS31FL3236_LED_COUNT] = {
|
const is31fl3236_led_t PROGMEM g_is31fl3236_leds[IS31FL3236_LED_COUNT] = {
|
||||||
|
@ -120,7 +120,7 @@ Depending on the ChibiOS board configuration, you may need to [enable and config
|
|||||||
|
|
||||||
## LED Mapping {#led-mapping}
|
## LED Mapping {#led-mapping}
|
||||||
|
|
||||||
In order to use this driver, each output must be mapped to an LED index, by adding the following to your `<keyboardname>.c`:
|
In order to use this driver, each output must be mapped to an LED index, by adding the following to your `<keyboard>.c`:
|
||||||
|
|
||||||
```c
|
```c
|
||||||
const is31fl3729_led_t PROGMEM g_is31fl3729_leds[IS31FL3729_LED_COUNT] = {
|
const is31fl3729_led_t PROGMEM g_is31fl3729_leds[IS31FL3729_LED_COUNT] = {
|
||||||
|
@ -61,7 +61,7 @@ Depending on the ChibiOS board configuration, you may need to [enable and config
|
|||||||
|
|
||||||
## LED Mapping {#led-mapping}
|
## LED Mapping {#led-mapping}
|
||||||
|
|
||||||
In order to use this driver, each output must be mapped to an LED index, by adding the following to your `<keyboardname>.c`:
|
In order to use this driver, each output must be mapped to an LED index, by adding the following to your `<keyboard>.c`:
|
||||||
|
|
||||||
```c
|
```c
|
||||||
const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = {
|
const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = {
|
||||||
|
@ -145,7 +145,7 @@ Depending on the ChibiOS board configuration, you may need to [enable and config
|
|||||||
|
|
||||||
## LED Mapping {#led-mapping}
|
## LED Mapping {#led-mapping}
|
||||||
|
|
||||||
In order to use this driver, each output must be mapped to an LED index, by adding the following to your `<keyboardname>.c`:
|
In order to use this driver, each output must be mapped to an LED index, by adding the following to your `<keyboard>.c`:
|
||||||
|
|
||||||
```c
|
```c
|
||||||
const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = {
|
const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = {
|
||||||
|
@ -129,7 +129,7 @@ Depending on the ChibiOS board configuration, you may need to [enable and config
|
|||||||
|
|
||||||
## LED Mapping {#led-mapping}
|
## LED Mapping {#led-mapping}
|
||||||
|
|
||||||
In order to use this driver, each output must be mapped to an LED index, by adding the following to your `<keyboardname>.c`:
|
In order to use this driver, each output must be mapped to an LED index, by adding the following to your `<keyboard>.c`:
|
||||||
|
|
||||||
```c
|
```c
|
||||||
const is31fl3736_led_t PROGMEM g_is31fl3736_leds[IS31FL3736_LED_COUNT] = {
|
const is31fl3736_led_t PROGMEM g_is31fl3736_leds[IS31FL3736_LED_COUNT] = {
|
||||||
|
@ -117,7 +117,7 @@ Depending on the ChibiOS board configuration, you may need to [enable and config
|
|||||||
|
|
||||||
## LED Mapping {#led-mapping}
|
## LED Mapping {#led-mapping}
|
||||||
|
|
||||||
In order to use this driver, each output must be mapped to an LED index, by adding the following to your `<keyboardname>.c`:
|
In order to use this driver, each output must be mapped to an LED index, by adding the following to your `<keyboard>.c`:
|
||||||
|
|
||||||
```c
|
```c
|
||||||
const is31fl3737_led_t PROGMEM g_is31fl3737_leds[IS31FL3737_LED_COUNT] = {
|
const is31fl3737_led_t PROGMEM g_is31fl3737_leds[IS31FL3737_LED_COUNT] = {
|
||||||
|
@ -117,7 +117,7 @@ Depending on the ChibiOS board configuration, you may need to [enable and config
|
|||||||
|
|
||||||
## LED Mapping {#led-mapping}
|
## LED Mapping {#led-mapping}
|
||||||
|
|
||||||
In order to use this driver, each output must be mapped to an LED index, by adding the following to your `<keyboardname>.c`:
|
In order to use this driver, each output must be mapped to an LED index, by adding the following to your `<keyboard>.c`:
|
||||||
|
|
||||||
```c
|
```c
|
||||||
const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = {
|
const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = {
|
||||||
|
@ -117,7 +117,7 @@ Depending on the ChibiOS board configuration, you may need to [enable and config
|
|||||||
|
|
||||||
## LED Mapping {#led-mapping}
|
## LED Mapping {#led-mapping}
|
||||||
|
|
||||||
In order to use this driver, each output must be mapped to an LED index, by adding the following to your `<keyboardname>.c`:
|
In order to use this driver, each output must be mapped to an LED index, by adding the following to your `<keyboard>.c`:
|
||||||
|
|
||||||
```c
|
```c
|
||||||
const is31fl3742a_led_t PROGMEM g_is31fl3742a_leds[IS31FL3742A_LED_COUNT] = {
|
const is31fl3742a_led_t PROGMEM g_is31fl3742a_leds[IS31FL3742A_LED_COUNT] = {
|
||||||
|
@ -127,7 +127,7 @@ Depending on the ChibiOS board configuration, you may need to [enable and config
|
|||||||
|
|
||||||
## LED Mapping {#led-mapping}
|
## LED Mapping {#led-mapping}
|
||||||
|
|
||||||
In order to use this driver, each output must be mapped to an LED index, by adding the following to your `<keyboardname>.c`:
|
In order to use this driver, each output must be mapped to an LED index, by adding the following to your `<keyboard>.c`:
|
||||||
|
|
||||||
```c
|
```c
|
||||||
const is31fl3743a_led_t PROGMEM g_is31fl3743a_leds[IS31FL3743A_LED_COUNT] = {
|
const is31fl3743a_led_t PROGMEM g_is31fl3743a_leds[IS31FL3743A_LED_COUNT] = {
|
||||||
|
@ -127,7 +127,7 @@ Depending on the ChibiOS board configuration, you may need to [enable and config
|
|||||||
|
|
||||||
## LED Mapping {#led-mapping}
|
## LED Mapping {#led-mapping}
|
||||||
|
|
||||||
In order to use this driver, each output must be mapped to an LED index, by adding the following to your `<keyboardname>.c`:
|
In order to use this driver, each output must be mapped to an LED index, by adding the following to your `<keyboard>.c`:
|
||||||
|
|
||||||
```c
|
```c
|
||||||
const is31fl3745_led_t PROGMEM g_is31fl3745_leds[IS31FL3745_LED_COUNT] = {
|
const is31fl3745_led_t PROGMEM g_is31fl3745_leds[IS31FL3745_LED_COUNT] = {
|
||||||
|
@ -132,7 +132,7 @@ Depending on the ChibiOS board configuration, you may need to [enable and config
|
|||||||
|
|
||||||
## LED Mapping {#led-mapping}
|
## LED Mapping {#led-mapping}
|
||||||
|
|
||||||
In order to use this driver, each output must be mapped to an LED index, by adding the following to your `<keyboardname>.c`:
|
In order to use this driver, each output must be mapped to an LED index, by adding the following to your `<keyboard>.c`:
|
||||||
|
|
||||||
```c
|
```c
|
||||||
const is31fl3746a_led_t PROGMEM g_is31fl3746a_leds[IS31FL3746A_LED_COUNT] = {
|
const is31fl3746a_led_t PROGMEM g_is31fl3746a_leds[IS31FL3746A_LED_COUNT] = {
|
||||||
|
@ -52,7 +52,7 @@ Depending on the ChibiOS board configuration, you may need to [enable and config
|
|||||||
|
|
||||||
## LED Mapping {#led-mapping}
|
## LED Mapping {#led-mapping}
|
||||||
|
|
||||||
In order to use this driver, each output must be mapped to an LED index, by adding the following to your `<keyboardname>.c`:
|
In order to use this driver, each output must be mapped to an LED index, by adding the following to your `<keyboard>.c`:
|
||||||
|
|
||||||
```c
|
```c
|
||||||
const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
|
const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
|
||||||
|
@ -19,8 +19,8 @@ Within the folder `keyboards`, its subfolder `handwired` and its vendor and manu
|
|||||||
* `config.h`: The file that sets the default compile time options. Do not edit this file directly, instead use a keymap specific `config.h`.
|
* `config.h`: The file that sets the default compile time options. Do not edit this file directly, instead use a keymap specific `config.h`.
|
||||||
* `info.json`: The file used for setting layout for QMK Configurator. See [Configurator Support](reference_configurator_support) for more information.
|
* `info.json`: The file used for setting layout for QMK Configurator. See [Configurator Support](reference_configurator_support) for more information.
|
||||||
* `readme.md`: A brief overview of the keyboard.
|
* `readme.md`: A brief overview of the keyboard.
|
||||||
* `<keyboardName>.h`: This file is where the keyboard layout is defined against the keyboard's switch matrix.
|
* `<keyboard>.h`: This file is where the keyboard layout is defined against the keyboard's switch matrix.
|
||||||
* `<keyboardName>.c`: This file is where you can find custom code for the keyboard.
|
* `<keyboard>.c`: This file is where you can find custom code for the keyboard.
|
||||||
|
|
||||||
For more information on project structure, see [QMK Keyboard Guidelines](hardware_keyboard_guidelines).
|
For more information on project structure, see [QMK Keyboard Guidelines](hardware_keyboard_guidelines).
|
||||||
|
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
# More Detailed `make` Instructions
|
# More Detailed `make` Instructions
|
||||||
|
|
||||||
The full syntax of the `make` command is `<keyboard_folder>:<keymap>:<target>`, where:
|
The full syntax of the `make` command is `<keyboard>:<keymap>:<target>`, where:
|
||||||
|
|
||||||
* `<keyboard_folder>` is the path of the keyboard, for example `planck`
|
* `<keyboard>` is the path of the keyboard, for example `planck`
|
||||||
* Use `all` to compile all keyboards
|
* Use `all` to compile all keyboards
|
||||||
* Specify the path to compile a revision, for example `planck/rev4` or `planck/rev3`
|
* Specify the path to compile a revision, for example `planck/rev4` or `planck/rev3`
|
||||||
* If the keyboard doesn't have any folders, it can be left out
|
* If the keyboard doesn't have any folders, it can be left out
|
||||||
|
@ -71,8 +71,8 @@ Your keyboard should be located in `qmk_firmware/keyboards/` and the folder name
|
|||||||
* `keyboard.json` (or `info.json`)
|
* `keyboard.json` (or `info.json`)
|
||||||
* `config.h`
|
* `config.h`
|
||||||
* `rules.mk`
|
* `rules.mk`
|
||||||
* `<keyboard_name>.c`
|
* `<keyboard>.c`
|
||||||
* `<keyboard_name>.h`
|
* `<keyboard>.h`
|
||||||
|
|
||||||
### `readme.md`
|
### `readme.md`
|
||||||
|
|
||||||
@ -203,7 +203,7 @@ The `post_rules.mk` file can interpret `features` of a keyboard-level before `co
|
|||||||
See `build_keyboard.mk` and `common_features.mk` for more details.
|
See `build_keyboard.mk` and `common_features.mk` for more details.
|
||||||
:::
|
:::
|
||||||
|
|
||||||
### `<keyboard_name.c>`
|
### `<keyboard>.c`
|
||||||
|
|
||||||
This file should contain C code required for the functionality of your keyboard, for example hardware initialisation code, OLED display code, and so on. This file should only contain code necessary for the keyboard to work, and *not* things that should be left to the end user to configure in their keymap. This file is automatically included in compilation if it exists. This is not a required file.
|
This file should contain C code required for the functionality of your keyboard, for example hardware initialisation code, OLED display code, and so on. This file should only contain code necessary for the keyboard to work, and *not* things that should be left to the end user to configure in their keymap. This file is automatically included in compilation if it exists. This is not a required file.
|
||||||
|
|
||||||
@ -214,9 +214,9 @@ The following functions are typically defined in this file:
|
|||||||
* `bool process_record_kb(uint16_t keycode, keyrecord_t *record)`
|
* `bool process_record_kb(uint16_t keycode, keyrecord_t *record)`
|
||||||
* `bool led_update_kb(led_t led_state)`
|
* `bool led_update_kb(led_t led_state)`
|
||||||
|
|
||||||
### `<keyboard_name.h>`
|
### `<keyboard>.h`
|
||||||
|
|
||||||
This file can contain function prototypes for custom functions and other header file code utilised by `<keyboard_name>.c`. The `<keyboard_name>.c` file should include this file. This is not a required file.
|
This file can contain function prototypes for custom functions and other header file code utilised by `<keyboard>.c`. The `<keyboard>.c` file should include this file. This is not a required file.
|
||||||
|
|
||||||
## Image/Hardware Files
|
## Image/Hardware Files
|
||||||
|
|
||||||
|
@ -33,7 +33,7 @@ qmk new-keymap
|
|||||||
If you did not configure your environment, or you have multiple keyboards, you can specify a keyboard name:
|
If you did not configure your environment, or you have multiple keyboards, you can specify a keyboard name:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
qmk new-keymap -kb <keyboard_name>
|
qmk new-keymap -kb <keyboard>
|
||||||
```
|
```
|
||||||
|
|
||||||
Look at the output from that command, you should see something like this:
|
Look at the output from that command, you should see something like this:
|
||||||
|
@ -60,7 +60,7 @@ open .
|
|||||||
The firmware file always follows this naming format:
|
The firmware file always follows this naming format:
|
||||||
|
|
||||||
```
|
```
|
||||||
<keyboard_name>_<keymap_name>.{bin,hex}
|
<keyboard>_<keymap>.{bin,hex}
|
||||||
```
|
```
|
||||||
|
|
||||||
For example, the `planck/rev5` with a `default` keymap will have this filename:
|
For example, the `planck/rev5` with a `default` keymap will have this filename:
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
The information contained in `info.json` is combined with the `config.h` and `rules.mk` files, dynamically generating the necessary configuration for your keyboard at compile time. It is also used by the [QMK API](https://github.com/qmk/qmk_api), and contains the information [QMK Configurator](https://config.qmk.fm/) needs to display a representation of your keyboard. Its key/value pairs are ruled by the [`data/schemas/keyboard.jsonschema`](https://github.com/qmk/qmk_firmware/blob/master/data/schemas/keyboard.jsonschema) file. To learn more about the why and how of the schema file see the [Data Driven Configuration](data_driven_config) page.
|
The information contained in `info.json` is combined with the `config.h` and `rules.mk` files, dynamically generating the necessary configuration for your keyboard at compile time. It is also used by the [QMK API](https://github.com/qmk/qmk_api), and contains the information [QMK Configurator](https://config.qmk.fm/) needs to display a representation of your keyboard. Its key/value pairs are ruled by the [`data/schemas/keyboard.jsonschema`](https://github.com/qmk/qmk_firmware/blob/master/data/schemas/keyboard.jsonschema) file. To learn more about the why and how of the schema file see the [Data Driven Configuration](data_driven_config) page.
|
||||||
|
|
||||||
You can create `info.json` files at every level under `qmk_firmware/keyboards/<keyboard_name>`. These files are combined, with more specific files overriding keys in less specific files. This means you do not need to duplicate your metadata information. For example, `qmk_firmware/keyboards/clueboard/info.json` specifies information common to all Clueboard products, such as `manufacturer` and `maintainer`, while `qmk_firmware/keyboards/clueboard/66/info.json` contains more specific information about Clueboard 66%.
|
You can create `info.json` files at every level under `qmk_firmware/keyboards/<keyboard>`. These files are combined, with more specific files overriding keys in less specific files. This means you do not need to duplicate your metadata information. For example, `qmk_firmware/keyboards/clueboard/info.json` specifies information common to all Clueboard products, such as `manufacturer` and `maintainer`, while `qmk_firmware/keyboards/clueboard/66/info.json` contains more specific information about Clueboard 66%.
|
||||||
|
|
||||||
## General Metadata {#general-metadata}
|
## General Metadata {#general-metadata}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user