1
0
Fork 0

Vitepress conversion of docs. (#23795)

This commit is contained in:
Nick Brassel 2024-05-30 12:00:41 +10:00 committed by GitHub
parent 395766657f
commit 6ef9717288
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
357 changed files with 3611 additions and 24208 deletions

View file

@ -1,10 +1,10 @@
# `info.json` Reference :id=info-json-reference
# `info.json` Reference {#info-json-reference}
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.
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%.
## General Metadata :id=general-metadata
## General Metadata {#general-metadata}
* `keyboard_name` (Required)
* 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
* A list of tags describing the keyboard.
* Example: `["ortho", "split", "rgb"]`
## Hardware Configuration :id=hardware-configuration
## Hardware Configuration {#hardware-configuration}
* `board`
* 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
* `processor`
* The microcontroller in use on the keyboard. Required if `development_board` is not specified.
## Firmware Configuration :id=firmware-configuration
## Firmware Configuration {#firmware-configuration}
* `build`
* `debounce_type`
@ -93,9 +93,9 @@ You can create `info.json` files at every level under `qmk_firmware/keyboards/<k
* `toggle`
* Default: `5`
## APA102 :id=apa102
## APA102 {#apa102}
Configures the [APA102](apa102_driver.md) driver.
Configures the [APA102](apa102_driver) driver.
* `apa102`
* `clock_pin` (Required)
@ -106,9 +106,9 @@ Configures the [APA102](apa102_driver.md) driver.
* The initial global brightness level (independent of the RGB data), from 0 to 31.
* Default: `31`
## Audio :id=audio
## Audio {#audio}
Configures the [Audio](feature_audio.md) feature.
Configures the [Audio](feature_audio) feature.
* `audio`
* `default`
@ -136,9 +136,9 @@ Configures the [Audio](feature_audio.md) feature.
* Default: `false`
## Backlight :id=backlight
## Backlight {#backlight}
Configures the [Backlight](feature_backlight.md) feature.
Configures the [Backlight](feature_backlight) feature.
* `backlight`
* `as_caps_lock`
@ -177,17 +177,17 @@ Configures the [Backlight](feature_backlight.md) feature.
* `pins`
* A list of GPIO pins connected to the backlight LEDs (`software` and `timer` drivers only).
## Bluetooth :id=bluetooth
## Bluetooth {#bluetooth}
Configures the [Bluetooth](feature_bluetooth.md) feature.
Configures the [Bluetooth](feature_bluetooth) feature.
* `bluetooth`
* `driver`
* The driver to use. Must be one of `custom`, `bluefruit_le`, `rn42`.
## Bootmagic :id=bootmagic
## Bootmagic {#bootmagic}
Configures the [Bootmagic](feature_bootmagic.md) feature.
Configures the [Bootmagic](feature_bootmagic) feature.
* `bootmagic`
* `enabled`
@ -197,9 +197,9 @@ Configures the [Bootmagic](feature_bootmagic.md) feature.
* The matrix position of the key to check during startup. This should generally be set to the (physically) top left key.
* Default: `[0, 0]`
## Caps Word :id=caps-word
## Caps Word {#caps-word}
Configures the [Caps Word](feature_caps_word.md) feature.
Configures the [Caps Word](feature_caps_word) feature.
* `caps_word`
* `both_shifts_turns_on`
@ -218,18 +218,18 @@ Configures the [Caps Word](feature_caps_word.md) feature.
* Invert shift state instead of deactivating Caps Word when Shift is pressed.
* Default: `false`
## Combo :id=combo
## Combo {#combo}
Configures the [Combo](feature_combo.md) feature.
Configures the [Combo](feature_combo) feature.
* `combo`
* `term`
* The amount of time to recognize a combo in milliseconds.
* Default: `50` (50 ms)
## DIP Switches :id=dip-switch
## DIP Switches {#dip-switch}
Configures the [DIP Switches](feature_dip_switch.md) feature.
Configures the [DIP Switches](feature_dip_switch) feature.
* `dip_switch`
* `enabled`
@ -241,9 +241,9 @@ Configures the [DIP Switches](feature_dip_switch.md) feature.
* A list of matrix locations in the key matrix.
* Example: `[ [0,6], [1,6], [2,6] ]`
## EEPROM :id=eeprom
## EEPROM {#eeprom}
Configures the [EEPROM](eeprom_driver.md) driver.
Configures the [EEPROM](eeprom_driver) driver.
* `eeprom`
* `driver`
@ -257,9 +257,9 @@ Configures the [EEPROM](eeprom_driver.md) driver.
* `logical_size`
* Number of bytes “exposed” to the rest of QMK and denotes the size of the usable EEPROM.
## Encoder :id=encoder
## Encoder {#encoder}
Configures the [Encoder](feature_encoders.md) feature.
Configures the [Encoder](feature_encoders) feature.
* `encoder`
* `rotary`
@ -272,9 +272,9 @@ Configures the [Encoder](feature_encoders.md) feature.
* The number of edge transitions on both pins required to register an input.
* Default: `4`
## Indicators :id=indicators
## Indicators {#indicators}
Configures the [LED Indicators](feature_led_indicators.md) feature.
Configures the [LED Indicators](feature_led_indicators) feature.
* `indicators`
* `caps_lock`
@ -291,7 +291,7 @@ Configures the [LED Indicators](feature_led_indicators.md) feature.
* `scroll_lock`
* The GPIO pin connected to the Scroll Lock LED.
## Layouts :id=layouts
## Layouts {#layouts}
The `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`.
@ -344,9 +344,9 @@ The ISO enter key is represented by a 1.25u×2uh key. Renderers which utilize in
* The index of an encoder this key should be linked to
* Example: `{"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}`
## Leader Key :id=leader-key
## Leader Key {#leader-key}
Configures the [Leader Key](feature_leader_key.md) feature.
Configures the [Leader Key](feature_leader_key) feature.
* `leader_key`
* `timing`
@ -359,9 +359,9 @@ Configures the [Leader Key](feature_leader_key.md) feature.
* The amount of time to complete a leader sequence in milliseconds.
* Default: `300` (300 ms)
## LED Matrix :id=led-matrix
## LED Matrix {#led-matrix}
Configures the [LED Matrix](feature_led_matrix.md) feature.
Configures the [LED Matrix](feature_led_matrix) feature.
* `led_matrix`
* `animations`
@ -432,7 +432,7 @@ Configures the [LED Matrix](feature_led_matrix.md) feature.
* The number of brightness adjustment steps.
* Default: `8`
## Matrix :id=matrix
## Matrix {#matrix}
* `debounce`
* The debounce time in milliseconds.
@ -472,9 +472,9 @@ Configures the [LED Matrix](feature_led_matrix.md) feature.
* A list of GPIO pins connected to the matrix rows.
* Example: `["B0", "B1", "B2"]`
## Mouse Keys :id=mouse-keys
## Mouse Keys {#mouse-keys}
Configures the [Mouse Keys](feature_mouse_keys.md) feature.
Configures the [Mouse Keys](feature_mouse_keys) feature.
* `mouse_key`
* `delay`
@ -486,9 +486,9 @@ Configures the [Mouse Keys](feature_mouse_keys.md) feature.
* `time_to_max`
* `wheel_delay`
## One Shot :id=one-shot
## One Shot {#one-shot}
Configures [One Shot keys](one_shot_keys.md).
Configures [One Shot keys](one_shot_keys).
* `oneshot`
* `tap_toggle`
@ -496,9 +496,9 @@ Configures [One Shot keys](one_shot_keys.md).
* `timeout`
* The amount of time before the key is released in milliseconds.
## PS/2 :id=ps2
## PS/2 {#ps2}
Configures the [PS/2](feature_ps2_mouse.md) feature.
Configures the [PS/2](feature_ps2_mouse) feature.
* `ps2`
* `clock_pin`
@ -515,7 +515,7 @@ Configures the [PS/2](feature_ps2_mouse.md) feature.
* Enable the PS/2 mouse handling.
* Default: `false`
## QMK LUFA Bootloader :id=qmk-lufa-bootloader
## QMK LUFA Bootloader {#qmk-lufa-bootloader}
* `qmk_lufa_bootloader`
* `esc_input` (Required)
@ -527,9 +527,9 @@ Configures the [PS/2](feature_ps2_mouse.md) feature.
* `speaker`
* The GPIO pin connected to a speaker to click (can also be used for a second LED).
## RGBLight :id=rgblight
## RGBLight {#rgblight}
Configures the [RGB Lighting](feature_rgblight.md) feature.
Configures the [RGB Lighting](feature_rgblight) feature.
* `rgblight`
* `led_count` (Required)
@ -601,9 +601,9 @@ Configures the [RGB Lighting](feature_rgblight.md) feature.
* When `rgblight.split` is enabled, the number of LEDs on each half.
* Example: `[10, 10]`
## RGB Matrix :id=rgb-matrix
## RGB Matrix {#rgb-matrix}
Configures the [RGB Matrix](feature_rgb_matrix.md) feature.
Configures the [RGB Matrix](feature_rgb_matrix) feature.
* `rgb_matrix`
* `animations`
@ -686,9 +686,9 @@ Configures the [RGB Matrix](feature_rgb_matrix.md) feature.
* The number of brightness adjustment steps.
* Default: `16`
## Secure :id=secure
## Secure {#secure}
Configures the [Secure](feature_secure.md) feature.
Configures the [Secure](feature_secure) feature.
* `secure`
* `enabled`
@ -704,9 +704,9 @@ Configures the [Secure](feature_secure.md) feature.
* Timeout for the user to perform the unlock sequence. Set to `0` to disable.
* Default: `5000` (5 seconds)
## Split Keyboard :id=split-keyboard
## Split Keyboard {#split-keyboard}
Configures the [Split Keyboard](feature_split_keyboard.md) feature.
Configures the [Split Keyboard](feature_split_keyboard) feature.
* `split`
* `bootmagic`
@ -745,7 +745,7 @@ Configures the [Split Keyboard](feature_split_keyboard.md) feature.
* Mirror the activity timestamps to the secondary half.
* Default: `false`
* `detected_os`
* Mirror the [detected OS](feature_os_detection.md) to the secondary half.
* Mirror the [detected OS](feature_os_detection) to the secondary half.
* Default: `false`
* `haptic`
* 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.
* The amount of time to wait for a USB connection in milliseconds.
* Default: `2000` (2 seconds)
## Stenography :id=stenography
## Stenography {#stenography}
Configures the [Stenography](feature_stenography.md) feature.
Configures the [Stenography](feature_stenography) feature.
* `stenography`
* `enabled`
@ -798,7 +798,7 @@ Configures the [Stenography](feature_stenography.md) feature.
* The Steno protocol to use. Must be one of `all`, `geminipr`, `txbolt`.
* Default: `"all"`
## USB :id=usb
## USB {#usb}
* `usb`
* `device_version` (Required)
@ -836,9 +836,9 @@ Configures the [Stenography](feature_stenography.md) feature.
* Force the keyboard to wait for USB enumeration before starting up.
* Default: `false`
## WS2812 :id=ws2812
## WS2812 {#ws2812}
Configures the [WS2812](ws2812_driver.md) driver.
Configures the [WS2812](ws2812_driver) driver.
* `ws2812`
* `driver`