Skip to content

Commit

Permalink
[Docs] Update reference_info_json.md (qmk#18817)
Browse files Browse the repository at this point in the history
* [Docs] Update reference_info_json.md

- Makes it easier to find keyboard.jsonschema.
- Adds a reference to the Data Driven page.

* Update docs/reference_info_json.md

Co-authored-by: Ryan <[email protected]>

Co-authored-by: Joel Challis <[email protected]>
Co-authored-by: Ryan <[email protected]>
  • Loading branch information
3 people authored and ramonimbao committed Nov 28, 2022
1 parent 05fce03 commit cb18a99
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions docs/reference_info_json.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# `info.json`

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.
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](https://docs.qmk.fm/#/data_driven_config) page.

You can create `info.json` files at every level under `qmk_firmware/keyboards/<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 `manufacturer` and `maintainer`, while `qmk_firmware/keyboards/clueboard/66/info.json` specifies more specific information about Clueboard 66%.

Expand All @@ -22,9 +22,6 @@ The `info.json` file is a JSON formatted dictionary. The first six keys noted he
* Example: `skullydazed`
* `usb`
* Configure USB VID, PID, and device version. See the [USB](#USB) section for more detail.

There are many more optional keys, some of which are described below. Others may be found by examining `data/schemas`.

* `debounce`
* The amount of time in milliseconds to wait for debounce to happen.
* Default: `5`
Expand All @@ -39,6 +36,9 @@ There are many more optional keys, some of which are described below. Others may
* `rgblight`
* Configure the [RGB Lighting feature](feature_rgblight.md). See the [RGB Lighting](#rgb-lighting) section for more detail.


?> For all the available keys and their allowed values refer back to the [`data/schemas/keyboard.jsonschema`](https://github.com/qmk/qmk_firmware/blob/master/data/schemas/keyboard.jsonschema) file.

### Layout Format

Within our `info.json` file the `layouts` portion of the dictionary contains several nested dictionaries. The outer layer consists of QMK layout macros, for example `LAYOUT_ansi` or `LAYOUT_iso`.
Expand Down

0 comments on commit cb18a99

Please sign in to comment.