diff options
-rw-r--r-- | docs/reference_info_json.md | 94 |
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 | |||
9 | The `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. | 9 | The `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 | ||
35 | 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`. | 41 | 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`. |
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 | |||
44 | All key positions and rotations are specified in relation to the top-left corner of the keyboard, and the top-left corner of each key. | 50 | All 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 | ||
149 | The following animations can be enabled: | 157 | The 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 | ``` |