summaryrefslogtreecommitdiff
path: root/docs/reference_info_json.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/reference_info_json.md')
-rw-r--r--docs/reference_info_json.md108
1 files changed, 54 insertions, 54 deletions
diff --git a/docs/reference_info_json.md b/docs/reference_info_json.md
index 8a2ded95f7..25d2e9d1d8 100644
--- a/docs/reference_info_json.md
+++ b/docs/reference_info_json.md
@@ -1,10 +1,10 @@
1# `info.json` Reference :id=info-json-reference 1# `info.json` Reference {#info-json-reference}
2 2
3The 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. 3The 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.
4 4
5You 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%. 5You 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%.
6 6
7## General Metadata :id=general-metadata 7## General Metadata {#general-metadata}
8 8
9* `keyboard_name` (Required) 9* `keyboard_name` (Required)
10 * A free-form text string describing the keyboard. This will be used as the USB product string. Can include Unicode characters, escaped to ASCII eg. `\u03A8` (Ψ). 10 * A free-form text string describing the keyboard. This will be used as the USB product string. Can include Unicode characters, escaped to ASCII eg. `\u03A8` (Ψ).
@@ -25,7 +25,7 @@ You can create `info.json` files at every level under `qmk_firmware/keyboards/<k
25 * A list of tags describing the keyboard. 25 * A list of tags describing the keyboard.
26 * Example: `["ortho", "split", "rgb"]` 26 * Example: `["ortho", "split", "rgb"]`
27 27
28## Hardware Configuration :id=hardware-configuration 28## Hardware Configuration {#hardware-configuration}
29 29
30* `board` 30* `board`
31 * Override the default ChibiOS board name (ARM-based keyboards only). 31 * Override the default ChibiOS board name (ARM-based keyboards only).
@@ -40,7 +40,7 @@ You can create `info.json` files at every level under `qmk_firmware/keyboards/<k
40* `processor` 40* `processor`
41 * The microcontroller in use on the keyboard. Required if `development_board` is not specified. 41 * The microcontroller in use on the keyboard. Required if `development_board` is not specified.
42 42
43## Firmware Configuration :id=firmware-configuration 43## Firmware Configuration {#firmware-configuration}
44 44
45* `build` 45* `build`
46 * `debounce_type` 46 * `debounce_type`
@@ -93,9 +93,9 @@ You can create `info.json` files at every level under `qmk_firmware/keyboards/<k
93 * `toggle` 93 * `toggle`
94 * Default: `5` 94 * Default: `5`
95 95
96## APA102 :id=apa102 96## APA102 {#apa102}
97 97
98Configures the [APA102](apa102_driver.md) driver. 98Configures the [APA102](apa102_driver) driver.
99 99
100* `apa102` 100* `apa102`
101 * `clock_pin` (Required) 101 * `clock_pin` (Required)
@@ -106,9 +106,9 @@ Configures the [APA102](apa102_driver.md) driver.
106 * The initial global brightness level (independent of the RGB data), from 0 to 31. 106 * The initial global brightness level (independent of the RGB data), from 0 to 31.
107 * Default: `31` 107 * Default: `31`
108 108
109## Audio :id=audio 109## Audio {#audio}
110 110
111Configures the [Audio](feature_audio.md) feature. 111Configures the [Audio](feature_audio) feature.
112 112
113* `audio` 113* `audio`
114 * `default` 114 * `default`
@@ -136,9 +136,9 @@ Configures the [Audio](feature_audio.md) feature.
136 * Default: `false` 136 * Default: `false`
137 137
138 138
139## Backlight :id=backlight 139## Backlight {#backlight}
140 140
141Configures the [Backlight](feature_backlight.md) feature. 141Configures the [Backlight](feature_backlight) feature.
142 142
143* `backlight` 143* `backlight`
144 * `as_caps_lock` 144 * `as_caps_lock`
@@ -177,17 +177,17 @@ Configures the [Backlight](feature_backlight.md) feature.
177 * `pins` 177 * `pins`
178 * A list of GPIO pins connected to the backlight LEDs (`software` and `timer` drivers only). 178 * A list of GPIO pins connected to the backlight LEDs (`software` and `timer` drivers only).
179 179
180## Bluetooth :id=bluetooth 180## Bluetooth {#bluetooth}
181 181
182Configures the [Bluetooth](feature_bluetooth.md) feature. 182Configures the [Bluetooth](feature_bluetooth) feature.
183 183
184* `bluetooth` 184* `bluetooth`
185 * `driver` 185 * `driver`
186 * The driver to use. Must be one of `custom`, `bluefruit_le`, `rn42`. 186 * The driver to use. Must be one of `custom`, `bluefruit_le`, `rn42`.
187 187
188## Bootmagic :id=bootmagic 188## Bootmagic {#bootmagic}
189 189
190Configures the [Bootmagic](feature_bootmagic.md) feature. 190Configures the [Bootmagic](feature_bootmagic) feature.
191 191
192* `bootmagic` 192* `bootmagic`
193 * `enabled` 193 * `enabled`
@@ -197,9 +197,9 @@ Configures the [Bootmagic](feature_bootmagic.md) feature.
197 * The matrix position of the key to check during startup. This should generally be set to the (physically) top left key. 197 * The matrix position of the key to check during startup. This should generally be set to the (physically) top left key.
198 * Default: `[0, 0]` 198 * Default: `[0, 0]`
199 199
200## Caps Word :id=caps-word 200## Caps Word {#caps-word}
201 201
202Configures the [Caps Word](feature_caps_word.md) feature. 202Configures the [Caps Word](feature_caps_word) feature.
203 203
204* `caps_word` 204* `caps_word`
205 * `both_shifts_turns_on` 205 * `both_shifts_turns_on`
@@ -218,18 +218,18 @@ Configures the [Caps Word](feature_caps_word.md) feature.
218 * Invert shift state instead of deactivating Caps Word when Shift is pressed. 218 * Invert shift state instead of deactivating Caps Word when Shift is pressed.
219 * Default: `false` 219 * Default: `false`
220 220
221## Combo :id=combo 221## Combo {#combo}
222 222
223Configures the [Combo](feature_combo.md) feature. 223Configures the [Combo](feature_combo) feature.
224 224
225* `combo` 225* `combo`
226 * `term` 226 * `term`
227 * The amount of time to recognize a combo in milliseconds. 227 * The amount of time to recognize a combo in milliseconds.
228 * Default: `50` (50 ms) 228 * Default: `50` (50 ms)
229 229
230## DIP Switches :id=dip-switch 230## DIP Switches {#dip-switch}
231 231
232Configures the [DIP Switches](feature_dip_switch.md) feature. 232Configures the [DIP Switches](feature_dip_switch) feature.
233 233
234* `dip_switch` 234* `dip_switch`
235 * `enabled` 235 * `enabled`
@@ -241,9 +241,9 @@ Configures the [DIP Switches](feature_dip_switch.md) feature.
241 * A list of matrix locations in the key matrix. 241 * A list of matrix locations in the key matrix.
242 * Example: `[ [0,6], [1,6], [2,6] ]` 242 * Example: `[ [0,6], [1,6], [2,6] ]`
243 243
244## EEPROM :id=eeprom 244## EEPROM {#eeprom}
245 245
246Configures the [EEPROM](eeprom_driver.md) driver. 246Configures the [EEPROM](eeprom_driver) driver.
247 247
248* `eeprom` 248* `eeprom`
249 * `driver` 249 * `driver`
@@ -257,9 +257,9 @@ Configures the [EEPROM](eeprom_driver.md) driver.
257 * `logical_size` 257 * `logical_size`
258 * Number of bytes “exposed” to the rest of QMK and denotes the size of the usable EEPROM. 258 * Number of bytes “exposed” to the rest of QMK and denotes the size of the usable EEPROM.
259 259
260## Encoder :id=encoder 260## Encoder {#encoder}
261 261
262Configures the [Encoder](feature_encoders.md) feature. 262Configures the [Encoder](feature_encoders) feature.
263 263
264* `encoder` 264* `encoder`
265 * `rotary` 265 * `rotary`
@@ -272,9 +272,9 @@ Configures the [Encoder](feature_encoders.md) feature.
272 * The number of edge transitions on both pins required to register an input. 272 * The number of edge transitions on both pins required to register an input.
273 * Default: `4` 273 * Default: `4`
274 274
275## Indicators :id=indicators 275## Indicators {#indicators}
276 276
277Configures the [LED Indicators](feature_led_indicators.md) feature. 277Configures the [LED Indicators](feature_led_indicators) feature.
278 278
279* `indicators` 279* `indicators`
280 * `caps_lock` 280 * `caps_lock`
@@ -291,7 +291,7 @@ Configures the [LED Indicators](feature_led_indicators.md) feature.
291 * `scroll_lock` 291 * `scroll_lock`
292 * The GPIO pin connected to the Scroll Lock LED. 292 * The GPIO pin connected to the Scroll Lock LED.
293 293
294## Layouts :id=layouts 294## Layouts {#layouts}
295 295
296The `layouts` portion of the dictionary contains several nested dictionaries. The outer layer consists of QMK layout names, for example `LAYOUT_60_ansi` or `LAYOUT_60_iso`. 296The `layouts` portion of the dictionary contains several nested dictionaries. The outer layer consists of QMK layout names, for example `LAYOUT_60_ansi` or `LAYOUT_60_iso`.
297 297
@@ -344,9 +344,9 @@ The ISO enter key is represented by a 1.25u×2uh key. Renderers which utilize in
344 * The index of an encoder this key should be linked to 344 * The index of an encoder this key should be linked to
345 * Example: `{"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}` 345 * Example: `{"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}`
346 346
347## Leader Key :id=leader-key 347## Leader Key {#leader-key}
348 348
349Configures the [Leader Key](feature_leader_key.md) feature. 349Configures the [Leader Key](feature_leader_key) feature.
350 350
351* `leader_key` 351* `leader_key`
352 * `timing` 352 * `timing`
@@ -359,9 +359,9 @@ Configures the [Leader Key](feature_leader_key.md) feature.
359 * The amount of time to complete a leader sequence in milliseconds. 359 * The amount of time to complete a leader sequence in milliseconds.
360 * Default: `300` (300 ms) 360 * Default: `300` (300 ms)
361 361
362## LED Matrix :id=led-matrix 362## LED Matrix {#led-matrix}
363 363
364Configures the [LED Matrix](feature_led_matrix.md) feature. 364Configures the [LED Matrix](feature_led_matrix) feature.
365 365
366* `led_matrix` 366* `led_matrix`
367 * `animations` 367 * `animations`
@@ -432,7 +432,7 @@ Configures the [LED Matrix](feature_led_matrix.md) feature.
432 * The number of brightness adjustment steps. 432 * The number of brightness adjustment steps.
433 * Default: `8` 433 * Default: `8`
434 434
435## Matrix :id=matrix 435## Matrix {#matrix}
436 436
437* `debounce` 437* `debounce`
438 * The debounce time in milliseconds. 438 * The debounce time in milliseconds.
@@ -472,9 +472,9 @@ Configures the [LED Matrix](feature_led_matrix.md) feature.
472 * A list of GPIO pins connected to the matrix rows. 472 * A list of GPIO pins connected to the matrix rows.
473 * Example: `["B0", "B1", "B2"]` 473 * Example: `["B0", "B1", "B2"]`
474 474
475## Mouse Keys :id=mouse-keys 475## Mouse Keys {#mouse-keys}
476 476
477Configures the [Mouse Keys](feature_mouse_keys.md) feature. 477Configures the [Mouse Keys](feature_mouse_keys) feature.
478 478
479* `mouse_key` 479* `mouse_key`
480 * `delay` 480 * `delay`
@@ -486,9 +486,9 @@ Configures the [Mouse Keys](feature_mouse_keys.md) feature.
486 * `time_to_max` 486 * `time_to_max`
487 * `wheel_delay` 487 * `wheel_delay`
488 488
489## One Shot :id=one-shot 489## One Shot {#one-shot}
490 490
491Configures [One Shot keys](one_shot_keys.md). 491Configures [One Shot keys](one_shot_keys).
492 492
493* `oneshot` 493* `oneshot`
494 * `tap_toggle` 494 * `tap_toggle`
@@ -496,9 +496,9 @@ Configures [One Shot keys](one_shot_keys.md).
496 * `timeout` 496 * `timeout`
497 * The amount of time before the key is released in milliseconds. 497 * The amount of time before the key is released in milliseconds.
498 498
499## PS/2 :id=ps2 499## PS/2 {#ps2}
500 500
501Configures the [PS/2](feature_ps2_mouse.md) feature. 501Configures the [PS/2](feature_ps2_mouse) feature.
502 502
503* `ps2` 503* `ps2`
504 * `clock_pin` 504 * `clock_pin`
@@ -515,7 +515,7 @@ Configures the [PS/2](feature_ps2_mouse.md) feature.
515 * Enable the PS/2 mouse handling. 515 * Enable the PS/2 mouse handling.
516 * Default: `false` 516 * Default: `false`
517 517
518## QMK LUFA Bootloader :id=qmk-lufa-bootloader 518## QMK LUFA Bootloader {#qmk-lufa-bootloader}
519 519
520* `qmk_lufa_bootloader` 520* `qmk_lufa_bootloader`
521 * `esc_input` (Required) 521 * `esc_input` (Required)
@@ -527,9 +527,9 @@ Configures the [PS/2](feature_ps2_mouse.md) feature.
527 * `speaker` 527 * `speaker`
528 * The GPIO pin connected to a speaker to click (can also be used for a second LED). 528 * The GPIO pin connected to a speaker to click (can also be used for a second LED).
529 529
530## RGBLight :id=rgblight 530## RGBLight {#rgblight}
531 531
532Configures the [RGB Lighting](feature_rgblight.md) feature. 532Configures the [RGB Lighting](feature_rgblight) feature.
533 533
534* `rgblight` 534* `rgblight`
535 * `led_count` (Required) 535 * `led_count` (Required)
@@ -601,9 +601,9 @@ Configures the [RGB Lighting](feature_rgblight.md) feature.
601 * When `rgblight.split` is enabled, the number of LEDs on each half. 601 * When `rgblight.split` is enabled, the number of LEDs on each half.
602 * Example: `[10, 10]` 602 * Example: `[10, 10]`
603 603
604## RGB Matrix :id=rgb-matrix 604## RGB Matrix {#rgb-matrix}
605 605
606Configures the [RGB Matrix](feature_rgb_matrix.md) feature. 606Configures the [RGB Matrix](feature_rgb_matrix) feature.
607 607
608* `rgb_matrix` 608* `rgb_matrix`
609 * `animations` 609 * `animations`
@@ -686,9 +686,9 @@ Configures the [RGB Matrix](feature_rgb_matrix.md) feature.
686 * The number of brightness adjustment steps. 686 * The number of brightness adjustment steps.
687 * Default: `16` 687 * Default: `16`
688 688
689## Secure :id=secure 689## Secure {#secure}
690 690
691Configures the [Secure](feature_secure.md) feature. 691Configures the [Secure](feature_secure) feature.
692 692
693* `secure` 693* `secure`
694 * `enabled` 694 * `enabled`
@@ -704,9 +704,9 @@ Configures the [Secure](feature_secure.md) feature.
704 * Timeout for the user to perform the unlock sequence. Set to `0` to disable. 704 * Timeout for the user to perform the unlock sequence. Set to `0` to disable.
705 * Default: `5000` (5 seconds) 705 * Default: `5000` (5 seconds)
706 706
707## Split Keyboard :id=split-keyboard 707## Split Keyboard {#split-keyboard}
708 708
709Configures the [Split Keyboard](feature_split_keyboard.md) feature. 709Configures the [Split Keyboard](feature_split_keyboard) feature.
710 710
711* `split` 711* `split`
712 * `bootmagic` 712 * `bootmagic`
@@ -745,7 +745,7 @@ Configures the [Split Keyboard](feature_split_keyboard.md) feature.
745 * Mirror the activity timestamps to the secondary half. 745 * Mirror the activity timestamps to the secondary half.
746 * Default: `false` 746 * Default: `false`
747 * `detected_os` 747 * `detected_os`
748 * Mirror the [detected OS](feature_os_detection.md) to the secondary half. 748 * Mirror the [detected OS](feature_os_detection) to the secondary half.
749 * Default: `false` 749 * Default: `false`
750 * `haptic` 750 * `haptic`
751 * Mirror the haptic state and process haptic feedback to the secondary half. 751 * Mirror the haptic state and process haptic feedback to the secondary half.
@@ -786,9 +786,9 @@ Configures the [Split Keyboard](feature_split_keyboard.md) feature.
786 * The amount of time to wait for a USB connection in milliseconds. 786 * The amount of time to wait for a USB connection in milliseconds.
787 * Default: `2000` (2 seconds) 787 * Default: `2000` (2 seconds)
788 788
789## Stenography :id=stenography 789## Stenography {#stenography}
790 790
791Configures the [Stenography](feature_stenography.md) feature. 791Configures the [Stenography](feature_stenography) feature.
792 792
793* `stenography` 793* `stenography`
794 * `enabled` 794 * `enabled`
@@ -798,7 +798,7 @@ Configures the [Stenography](feature_stenography.md) feature.
798 * The Steno protocol to use. Must be one of `all`, `geminipr`, `txbolt`. 798 * The Steno protocol to use. Must be one of `all`, `geminipr`, `txbolt`.
799 * Default: `"all"` 799 * Default: `"all"`
800 800
801## USB :id=usb 801## USB {#usb}
802 802
803* `usb` 803* `usb`
804 * `device_version` (Required) 804 * `device_version` (Required)
@@ -836,9 +836,9 @@ Configures the [Stenography](feature_stenography.md) feature.
836 * Force the keyboard to wait for USB enumeration before starting up. 836 * Force the keyboard to wait for USB enumeration before starting up.
837 * Default: `false` 837 * Default: `false`
838 838
839## WS2812 :id=ws2812 839## WS2812 {#ws2812}
840 840
841Configures the [WS2812](ws2812_driver.md) driver. 841Configures the [WS2812](ws2812_driver) driver.
842 842
843* `ws2812` 843* `ws2812`
844 * `driver` 844 * `driver`