aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/reference_info_json.md94
1 files changed, 51 insertions, 43 deletions
diff --git a/docs/reference_info_json.md b/docs/reference_info_json.md
index 646b6b5cc..b2e6cae28 100644
--- a/docs/reference_info_json.md
+++ b/docs/reference_info_json.md
@@ -9,33 +9,39 @@ You can create `info.json` files at every level under `qmk_firmware/keyboards/<n
9The `info.json` file is a JSON formatted dictionary with the following keys available to be set. You do not have to set all of them, merely the keys that apply to your keyboard. 9The `info.json` file is a JSON formatted dictionary with the following keys available to be set. You do not have to set all of them, merely the keys that apply to your keyboard.
10 10
11* `keyboard_name` 11* `keyboard_name`
12 * A free-form text string describing the keyboard. 12 * A free-form text string describing the keyboard.
13 * Example: `Clueboard 66%` 13 * Example: `Clueboard 66%`
14* `manufacturer`
15 * A free-form text string describing the keyboard's manufacturer.
16 * Example: `Clueboard`
14* `url` 17* `url`
15 * A URL to the keyboard's product page, [QMK.fm/keyboards](https://qmk.fm/keyboards) page, or other page describing information about the keyboard. 18 * A URL to the keyboard's product page, [QMK.fm/keyboards](https://qmk.fm/keyboards) page, or other page describing information about the keyboard.
19 * Example: `https://clueboard.co`
16* `maintainer` 20* `maintainer`
17 * GitHub username of the maintainer, or `qmk` for community maintained boards 21 * GitHub username of the maintainer, or `qmk` for community maintained boards.
22 * Example: `skullydazed`
18* `debounce` 23* `debounce`
19 * How many milliseconds (ms) to wait for debounce to happen. (Default: 5) 24 * The amount of time in milliseconds to wait for debounce to happen.
25 * Default: `5`
20* `diode_direction` 26* `diode_direction`
21 * The direction diodes face. See [`DIRECT_PINS` in the hardware configuration](https://docs.qmk.fm/#/config_options?id=hardware-options) for more details. 27 * The direction diodes face. See [`DIRECT_PINS` in the hardware configuration](https://docs.qmk.fm/#/config_options?id=hardware-options) for more details.
22* `layout_aliases` 28* `layout_aliases`
23 * A dictionary containing layout aliases. The key is the alias and the value is a layout in `layouts` it maps to. 29 * A dictionary containing layout aliases. The key is the alias and the value is a layout in `layouts` it maps to.
24* `layouts` 30* `layouts`
25 * Physical Layout representations. See the [Layout Format](#layout_format) section for more detail. 31 * Physical Layout representations. See the [Layout Format](#layout_format) section for more detail.
26* `matrix_pins` 32* `matrix_pins`
27 * Configure the pins corresponding to columns and rows, or direct pins. See [Matrix Pins](#matrix_pins) for more detail. 33 * Configure the pins corresponding to columns and rows, or direct pins. See the [Matrix Pins](#matrix_pins) section for more detail.
28* `rgblight` 34* `rgblight`
29 * Configure the [RGB Lighting feature](feature_rgblight.md). See the [RGB Lighting](#rgb_lighting) section for more detail. 35 * Configure the [RGB Lighting feature](feature_rgblight.md). See the [RGB Lighting](#rgb_lighting) section for more detail.
30* `usb` 36* `usb`
31 * Configure USB VID, PID, and other parameters. See [USB](#USB) for more detail. 37 * Configure USB VID, PID, and other parameters. See the [USB](#USB) section for more detail.
32 38
33### Layout Format 39### Layout Format
34 40
35Within 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`. 41Within 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`.
36 42
37* `layout` 43* `layout`
38 * A list of Key Dictionaries describing the physical layout. See the next section for more details. 44 * A list of Key Dictionaries describing the physical layout. See the next section for more details.
39 45
40### Key Dictionary Format 46### Key Dictionary Format
41 47
@@ -44,18 +50,20 @@ Each Key Dictionary in a layout describes the physical properties of a key. If y
44All key positions and rotations are specified in relation to the top-left corner of the keyboard, and the top-left corner of each key. 50All key positions and rotations are specified in relation to the top-left corner of the keyboard, and the top-left corner of each key.
45 51
46* `x` 52* `x`
47 * **Required**: The absolute position of the key in the horizontal axis, in Key Units. 53 * **Required**. The absolute position of the key in the horizontal axis, in Key Units.
48* `y` 54* `y`
49 * **Required**: The absolute position of the key in the vertical axis, in Key Units. 55 * **Required**. The absolute position of the key in the vertical axis, in Key Units.
50* `w` 56* `w`
51 * The width of the key, in Key Units. Ignored if `ks` is provided. Default: `1` 57 * The width of the key, in Key Units.
58 * Default: `1`
52* `h` 59* `h`
53 * The height of the key, in Key Units. Ignored if `ks` is provided. Default: `1` 60 * The height of the key, in Key Units.
61 * Default: `1`
54* `label` 62* `label`
55 * What to name this position in the matrix. 63 * What to name this position in the matrix. This should usually correspond to the keycode for the first layer of the default keymap.
56 * This should usually correspond to the keycode for the first layer of the default keymap.
57* `matrix` 64* `matrix`
58 * A 2 item list describing the row and column location for this key. 65 * A two item list describing the row and column location for this key.
66 * Example: `[0, 4]`
59 67
60### Matrix Pins 68### Matrix Pins
61 69
@@ -69,11 +77,11 @@ Example:
69 77
70```json 78```json
71{ 79{
72 "diode_direction": "COL2ROW", 80 "diode_direction": "COL2ROW",
73 "matrix_pins": { 81 "matrix_pins": {
74 "cols": ["F4", "E6", "B1", "D2"], 82 "cols": ["F4", "E6", "B1", "D2"],
75 "rows": ["B0", "D3", "D5", "D4", "D6"] 83 "rows": ["B0", "D3", "D5", "D4", "D6"]
76 } 84 }
77} 85}
78``` 86```
79 87
@@ -144,23 +152,23 @@ Example:
144} 152}
145``` 153```
146 154
147#### RGB Light Animations 155#### RGBLight Animations
148 156
149The following animations can be enabled: 157The following animations can be enabled:
150 158
151| Key | Description | 159|Key |Description |
152|-----|-------------| 160|-----------------|--------------------------------------|
153| `all` | Enable all additional animation modes. | 161|`all` |Enable all additional animation modes.|
154| `alternating` | Enable alternating animation mode. | 162|`alternating` |Enable alternating animation mode. |
155| `breathing` | Enable breathing animation mode. | 163|`breathing` |Enable breathing animation mode. |
156| `christmas` | Enable christmas animation mode. | 164|`christmas` |Enable christmas animation mode. |
157| `knight` | Enable knight animation mode. | 165|`knight` |Enable knight animation mode. |
158| `rainbow_mood` | Enable rainbow mood animation mode. | 166|`rainbow_mood` |Enable rainbow mood animation mode. |
159| `rainbow_swirl` | Enable rainbow swirl animation mode. | 167|`rainbow_swirl` |Enable rainbow swirl animation mode. |
160| `rgb_test` | Enable RGB test animation mode. | 168|`rgb_test` |Enable RGB test animation mode. |
161| `snake` | Enable snake animation mode. | 169|`snake` |Enable snake animation mode. |
162| `static_gradient` | Enable static gradient mode. | 170|`static_gradient`|Enable static gradient mode. |
163| `twinkle` | Enable twinkle animation mode. | 171|`twinkle` |Enable twinkle animation mode. |
164 172
165### USB 173### USB
166 174
@@ -170,10 +178,10 @@ Example:
170 178
171```json 179```json
172{ 180{
173 "usb": { 181 "usb": {
174 "vid": "0xC1ED", 182 "vid": "0xC1ED",
175 "pid": "0x23B0", 183 "pid": "0x23B0",
176 "device_ver": "0x0001" 184 "device_ver": "0x0001"
177 } 185 }
178} 186}
179``` 187```