40 KiB
		
	
	
	
	
	
	
	
			
		
		
	
	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, and contains the information QMK Configurator needs to display a representation of your keyboard. Its key/value pairs are ruled by the data/schemas/keyboard.jsonschema file. To learn more about the why and how of the schema file see the Data Driven Configuration 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
keyboard_nameString 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(Ψ). - Example: 
"Clueboard 66%" 
- 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. 
 maintainerString Required- GitHub username of the maintainer, or 
qmkfor community maintained boards. - Example: 
"skullydazed" 
- GitHub username of the maintainer, or 
 manufacturerString Required- A free-form text string describing the keyboard's manufacturer. This will be used as the USB manufacturer string. Can include Unicode characters, escaped to ASCII eg. 
\u03A8(Ψ). - Example: 
"Clueboard" 
- A free-form text string describing the keyboard's manufacturer. This will be used as the USB manufacturer string. Can include Unicode characters, escaped to ASCII eg. 
 urlString Required- A URL to the keyboard's product page, QMK Keyboards page, or other page describing information about the keyboard.
 - Example: 
"https://clueboard.co" 
bootloader_instructionsString- Instructions for putting the keyboard into a mode that allows for firmware flashing.
 - Example: 
"Press the button marked RESET on the back of the PCB" 
tagsArray: String- A list of tags describing the keyboard.
 - Example: 
["ortho", "split", "rgb"] 
Hardware Configuration
boardString- Override the default ChibiOS board name (ARM-based keyboards only).
 - Example: 
"BLACKPILL_STM32_F411" 
bootloaderString- The bootloader in use on the keyboard. Required if 
development_boardis not specified. 
- The bootloader in use on the keyboard. Required if 
 development_boardString- The microcontroller development board, if applicable.
 - Example: 
"promicro" 
pin_compatibleString- The form factor of the development board, if applicable. Must be one of 
elite_c,promicro. 
- The form factor of the development board, if applicable. Must be one of 
 processorString- The microcontroller in use on the keyboard. Required if 
development_boardis not specified. 
- The microcontroller in use on the keyboard. Required if 
 
Firmware Configuration
builddebounce_typeString- The debounce algorithm to use. Must be one of 
asym_eager_defer_pk,custom,sym_defer_g,sym_defer_pk,sym_defer_pr,sym_eager_pk,sym_eager_pr. 
- The debounce algorithm to use. Must be one of 
 firmware_formatString- The format of the final output binary. Must be one of 
bin,hex,uf2. 
- The format of the final output binary. Must be one of 
 ltoBoolean- Enable Link-Time Optimization.
 - Default: 
false 
featuresObject: Boolean- A dictionary of features to enable or disable.
 - Example:
 
{ "rgb_matrix": true, "rgblight": false }qmklockingenabledBoolean- Enable locking switch support.
 - Default: 
false 
resyncBoolean- Keep switch state consistent with keyboard LED state.
 - Default: 
false 
tap_capslock_delayNumber- The delay between keydown and keyup for Caps Lock tap events in milliseconds.
 - Default: 
80(80 ms) 
tap_keycode_delayNumber- The delay between keydown and keyup for tap events in milliseconds.
 - Default: 
0(no delay) 
tappingchordal_holdBoolean- Default: 
false 
- Default: 
 hold_on_other_key_pressBoolean- Default: 
false 
- Default: 
 hold_on_other_key_press_per_keyBoolean- Default: 
false 
- Default: 
 permissive_holdBoolean- Default: 
false 
- Default: 
 permissive_hold_per_keyBoolean- Default: 
false 
- Default: 
 retroBoolean- Default: 
false 
- Default: 
 retro_per_keyBoolean- Default: 
false 
- Default: 
 termNumber- Default: 
200(200 ms) 
- Default: 
 term_per_keyBoolean- Default: 
false 
- Default: 
 toggleNumber- Default: 
5 
- Default: 
 
APA102
Configures the APA102 driver.
apa102clock_pinPin Required- The GPIO pin connected to 
CIon the first LED in the chain. 
- The GPIO pin connected to 
 data_pinPin Required- The GPIO pin connected to 
DIon the first LED in the chain. 
- The GPIO pin connected to 
 default_brightnessNumber- The initial global brightness level (independent of the RGB data), from 0 to 31.
 - Default: 
31 
Audio
Configures the Audio feature.
audiodefaultonBoolean- The default audio enabled state.
 - Default: 
true 
clickyBoolean- The default audio clicky enabled state.
 - Default: 
true 
driverString- The driver to use. Must be one of 
dac_additive,dac_basic,pwm_software,pwm_hardware. 
- The driver to use. Must be one of 
 macro_beepBoolean- Play a short beep for 
\a(ASCIIBEL) characters in Send String macros. - Default: 
false 
- Play a short beep for 
 pinsArray: Pin Required- The GPIO pin(s) connected to the speaker(s).
 
power_controlon_state0|1- The logical GPIO state required to turn the speaker on.
 - Default: 
1(on = high) 
pinPin- The GPIO pin connected to speaker power circuit.
 
voicesBoolean- Use multiple audio voices.
 - Default: 
false 
Backlight
Configures the Backlight feature.
backlightas_caps_lockBoolean- Use the backlight as a Caps Lock indicator.
 - Default: 
false 
breathingBoolean- Whether backlight breathing is enabled.
 - Default: 
false 
breathing_periodNumber- The length of one backlight breathing cycle in seconds.
 - Default: 
6(6 seconds) 
defaultonBoolean- The default backlight enabled state.
 - Default: 
true 
breathingBoolean- The default backlight breathing state.
 - Default: 
false 
brightnessNumber- The default brightness level.
 - Default: 
max_brightness 
driverString- The driver to use. Must be one of 
custom,pwm,software,timer. - Default: 
"pwm" 
- The driver to use. Must be one of 
 levelsNumber- The number of brightness levels (excluding off), from 1 to 31.
 - Default: 
3 
max_brightnessNumber- The maximum PWM value which brightness is scaled to, from 0 to 255.
 - Default: 
255 
on_state0|1- The logical GPIO state required to turn the LEDs on.
 - Default: 
1(on = high) 
pinPin- The GPIO pin connected to the backlight circuit.
 
pinsArray: Pin- A list of GPIO pins connected to the backlight LEDs (
softwareandtimerdrivers only). 
- A list of GPIO pins connected to the backlight LEDs (
 
Wireless/Bluetooth
Configures the Wireless feature.
bluetoothdriverString- The driver to use. Must be one of 
custom,bluefruit_le,rn42. 
- The driver to use. Must be one of 
 
Bootmagic
Configures the Bootmagic feature.
bootmagicenabledBoolean- Enables the Bootmagic feature.
 - Default: 
false 
matrixMatrix- 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
Configures the Caps Word feature.
caps_wordboth_shifts_turns_onBoolean- Activate Caps Word by pressing both Shift keys.
 - Default: 
false 
double_tap_shift_turns_onBoolean- Activate Caps Word by pressing Left Shift twice.
 - Default: 
false 
enabledBoolean- Enables the Caps Word feature.
 - Default: 
false 
idle_timeoutNumber- The amount of time before Caps Word automatically deactivates in milliseconds.
 - Default: 
5000(5 seconds) 
invert_on_shiftBoolean- Invert shift state instead of deactivating Caps Word when Shift is pressed.
 - Default: 
false 
Combo
Configures the Combo feature.
combotermNumber- The amount of time to recognize a combo in milliseconds.
 - Default: 
50(50 ms) 
DIP Switches
Configures the DIP Switches feature.
dip_switchenabledBoolean- Enable the DIP Switches feature.
 - Default: 
false 
pinsArray: Pin- A list of GPIO pins connected to the MCU.
 
matrix_gridArray: Matrix- A list of matrix locations in the key matrix.
 - Example: 
[ [0,6], [1,6], [2,6] ] 
EEPROM
Configures the EEPROM driver.
eepromdriverString- The EEPROM backend to use. Must be one of 
custom,i2c,legacy_stm32_flash,spi,transient,vendor,wear_leveling. - Default: 
"vendor" 
- The EEPROM backend to use. Must be one of 
 wear_levelingdriverString- The driver to use. Must be one of 
embedded_flash,legacy,rp2040_flash,spi_flash,custom. 
- The driver to use. Must be one of 
 backing_sizeNumber- Number of bytes used by the wear-leveling algorithm for its underlying storage, and needs to be a multiple of the logical size.
 
logical_sizeNumber- Number of bytes “exposed” to the rest of QMK and denotes the size of the usable EEPROM.
 
Encoder
Configures the Encoder feature.
encoderrotaryArray: Object- A list of encoder objects.
pin_aPin Required- The GPIO pin connected to the encoder's 
Apin. 
- The GPIO pin connected to the encoder's 
 pin_bPin Required- The GPIO pin connected to the encoder's 
Bpin. 
- The GPIO pin connected to the encoder's 
 resolutionNumber- The number of edge transitions on both pins required to register an input.
 - Default: 
4 
 
- A list of encoder objects.
 
Indicators
Configures the LED Indicators feature.
indicatorscaps_lockPin- The GPIO pin connected to the Caps Lock LED.
 
composePin- The GPIO pin connected to the Compose LED.
 
kanaPin- The GPIO pin connected to the Kana LED.
 
num_lockPin- The GPIO pin connected to the Num Lock LED.
 
on_state0|1- The logical GPIO state required to turn the LEDs on.
 - Default: 
1(on = high) 
scroll_lockPin- The GPIO pin connected to the Scroll Lock LED.
 
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.
Each key dictionary in a layout describes the physical properties of a key. If you are familiar with the Raw Data format for Keyboard Layout Editor, you will find many of the concepts the same. Key names and layout choices are reused wherever possible, but unlike KLE each key is stateless, inheriting no properties from the keys that came before it.
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.
The ISO enter key is represented by a 1.25u×2uh key. Renderers which utilize info.json layout data (such as qmk info -l and the QMK Configurator) should display this key as expected.
community_layoutsArray: String- A list of community layouts supported by the keyboard.
 - Example: 
["60_ansi", "60_iso"] 
layout_aliasesObject: String- A mapping of layout aliases to layout definitions.
 - Example:
 
{ "LAYOUT_ansi": "LAYOUT_60_ansi", "LAYOUT_iso": "LAYOUT_60_iso" }layoutsObject- A dictionary of layouts supported by the keyboard.
 LAYOUT_<layout_name>ObjectlayoutArray: Object- A list of key dictionaries comprising the layout. Each key dictionary contains:
matrixMatrix Required- The matrix position for the key.
 - Example: 
[0, 4](row 0, column 4) 
xKeyUnit Required- The absolute position of the key in the horizontal axis, in key units.
 
yKeyUnit Required- The absolute position of the key in the vertical axis, in key units.
 
hKeyUnit- The height of the key, in key units.
 - Default: 
1(1u) 
handString- The handedness of the key for Chordal Hold, either 
"L"(left hand),"R"(right hand), or"*"(either or exempted handedness). 
- The handedness of the key for Chordal Hold, either 
 labelString- What to name the key. This is not a key assignment as in the keymap, but should usually correspond to the keycode for the first layer of the default keymap.
 - Example: 
"Escape" 
rNumber- The rotation angle in degrees. Currently not implemented.
 
rxNumber- The absolute X position of the rotation axis. Currently not implemented.
 
ryNumber- The absolute Y position of the rotation axis. Currently not implemented.
 
wKeyUnit- The width of the key, in key units.
 - Default: 
1(1u) 
encoderNumber- 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} 
 
- A list of key dictionaries comprising the layout. Each key dictionary contains:
 
Leader Key
Configures the Leader Key feature.
leader_keytimingBoolean- Reset the 
timeouton each keypress. - Default: 
false 
- Reset the 
 strict_processingBoolean- Do not extract the tap keycodes from Layer-Tap and Mod-Tap key events.
 - Default: 
false 
timeoutNumber- The amount of time to complete a leader sequence in milliseconds.
 - Default: 
300(300 ms) 
LED Matrix
Configures the LED Matrix feature.
led_matrixanimationsObject: Boolean- A dictionary of effects to enable or disable. Effects which are absent default to 
false. - Example:
 
{ "alphas_mods": true, "breathing": true, "cycle_left_right": false }- A dictionary of effects to enable or disable. Effects which are absent default to 
 center_pointArray: Number- The centroid (geometric center) of the LEDs. Used for certain effects.
 - Default: 
[112, 32] 
defaultanimationString- The default effect. Must be one of 
led_matrix.animations - Default: 
"solid" 
- The default effect. Must be one of 
 onBoolean- The default enabled state.
 - Default: 
true 
valNumber- The default brightness level.
 - Default: 
max_brightness 
speedNumber- The default animation speed.
 - Default: 
128 
driverString Required- The driver to use. Must be one of 
custom,is31fl3218,is31fl3731,is31fl3733,is31fl3736,is31fl3737,is31fl3741,is31fl3742a,is31fl3743a,is31fl3745,is31fl3746a,snled27351. 
- The driver to use. Must be one of 
 layoutArray: Object Required- List of LED configuration dictionaries. Each dictionary contains:
flagsNumber Required- A bitfield of flags describing the type of LED.
 
xNumber Required- The position of the LED in the horizontal axis, from 0 to 224.
 
yNumber Required- The position of the LED in the vertical axis, from 0 to 64.
 
matrixMatrix- The key matrix position associated with the LED.
 - Example: 
[0, 2] 
- Example: 
{"matrix": [2, 1], "x": 20, "y": 48, "flags": 2} 
 
- List of LED configuration dictionaries. Each dictionary contains:
 led_flush_limitNumber- Limits in milliseconds how frequently an animation will update the LEDs.
 - Default: 
16 
led_process_limitNumber- Limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness).
 - Default: 
(led_count + 4) / 5 
max_brightnessNumber- The maximum value which brightness is scaled to, from 0 to 255.
 - Default: 
255 
react_on_keyupBoolean- Animations react to keyup instead of keydown.
 - Default: 
false 
sleepBoolean- Turn off the LEDs when the host goes to sleep.
 - Default: 
false 
speed_stepsNumber- The value by which to increment the speed.
 - Default: 
16 
split_countArray: Number- For split keyboards, the number of LEDs on each half.
 - Example: 
[16, 16] 
timeoutNumber- The LED activity timeout in milliseconds.
 - Default: 
0(no timeout) 
val_stepsNumber- The value by which to increment the brightness.
 - Default: 
8 
Matrix
debounceNumber- The debounce time in milliseconds.
 - Default: 
5(5 ms) 
diode_directionString- Which way the diodes are "pointing". Unused for 
matrix_pins.direct. Must be one ofCOL2ROW,ROW2COL. 
- Which way the diodes are "pointing". Unused for 
 matrix_pinscolsArray: Pin- A list of GPIO pins connected to the matrix columns.
 - Example: 
["A0", "A1", "A2"] 
customBoolean- Whether to use a custom matrix scanning implementation.
 - Default: 
false 
custom_liteBoolean- Whether to use a "lite" custom matrix scanning implementation.
 - Default: 
false 
directArray: Array: Pin- A 2-dimensional list of GPIO pins connected to each keyswitch, forming the "matrix" rows and columns.
 - Example:
 
[ ["A0", "A1", "A2"], ["B0", "B1", "B2"], ["C0", "C1", "C2"] ]ghostBoolean- Whether the matrix has no anti-ghosting diodes.
 - Default: 
false 
input_pressed_state0|1- The logical GPIO state of the input pins when a key is pressed.
 - Default: 
0(pressed = low) 
io_delayNumber- The amount of time to wait between row/col selection and col/row pin reading, in microseconds.
 - Default: 
30(30 µs) 
rowsArray: Pin- A list of GPIO pins connected to the matrix rows.
 - Example: 
["B0", "B1", "B2"] 
Mouse Keys
Configures the Mouse Keys feature.
mouse_keydelayNumberenabledBoolean- Enables the Mouse Keys feature.
 - Default: 
false 
intervalNumbermax_speedNumbertime_to_maxNumberwheel_delayNumber
One Shot
Configures One Shot keys.
oneshottap_toggleNumber- The number of times to tap the key in order to hold it.
 
timeoutNumber- The amount of time before the key is released in milliseconds.
 
PS/2
Configures the PS/2 feature.
ps2clock_pinPin- The GPIO pin connected to 
CLKon the PS/2 device. 
- The GPIO pin connected to 
 data_pinPin- The GPIO pin connected to 
DATAon the PS/2 device. 
- The GPIO pin connected to 
 driverString- The PS/2 driver to use. Must be one of 
busywait,interrupt,usart,vendor. - Default: 
"busywait" 
- The PS/2 driver to use. Must be one of 
 enabledBoolean- Enable the PS/2 feature.
 - Default: 
false 
mouse_enabledBoolean- Enable the PS/2 mouse handling.
 - Default: 
false 
QMK LUFA Bootloader
qmk_lufa_bootloaderesc_inputPin Required- The GPIO pin connected to the designated "exit bootloader" key's row (if 
COL2ROW). 
- The GPIO pin connected to the designated "exit bootloader" key's row (if 
 esc_outputPin Required- The GPIO pin connected to the designated "exit bootloader" key's column (if 
COL2ROW). 
- The GPIO pin connected to the designated "exit bootloader" key's column (if 
 ledPin- The GPIO pin connected to an LED to flash.
 
speakerPin- The GPIO pin connected to a speaker to click (can also be used for a second LED).
 
RGBLight
Configures the RGB Lighting feature.
rgblightled_countNumber Required- The number of LEDs in the chain.
 
animationsObject: Boolean- A dictionary of effects to enable or disable. Effects which are absent default to 
false. - Example:
 
{ "breathing": true, "rainbow_mood": true, "snake": false }- A dictionary of effects to enable or disable. Effects which are absent default to 
 brightness_stepsNumber- The value by which to increment the brightness.
 - Default: 
17 
defaultanimationString- The default effect. Must be one of 
rgblight.animations - Default: 
"static_light" 
- The default effect. Must be one of 
 onBoolean- The default enabled state.
 - Default: 
true 
hueNumber- The default hue value.
 - Default: 
0 
satNumber- The default saturation value.
 - Default: 
255 
valNumber- The default brightness level.
 - Default: 
max_brightness 
speedNumber- The default animation speed.
 - Default: 
0 
driverString- The driver to use. Must be one of 
apa102,custom,ws2812. - Default: 
"ws2812" 
- The driver to use. Must be one of 
 hue_stepsNumber- The value by which to increment the hue.
 - Default: 
8 
layersblinkBoolean- Enable layer blinking API.
 - Default: 
false 
enabledBoolean- Enable RGB Lighting Layers.
 - Default: 
false 
maxNumber- The maximum layer count, from 1 to 32.
 - Default: 
8 
led_mapArray: Number- Remap LED indices.
 - Example: 
[4, 3, 2, 1, 0] 
max_brightnessNumber- The maximum value which the HSV "V" component is scaled to, from 0 to 255.
 - Default: 
255 
saturation_stepsNumber- The value by which to increment the suturation.
 - Default: 
17 
sleepBoolean- Turn off the LEDs when the host goes to sleep.
 - Default: 
false 
splitBoolean- Enable synchronization between split halves.
 - Default: 
false 
split_countArray: Number- When 
rgblight.splitis enabled, the number of LEDs on each half. - Example: 
[10, 10] 
- When 
 
RGB Matrix
Configures the RGB Matrix feature.
rgb_matrixanimationsObject: Boolean- A dictionary of effects to enable or disable. Effects which are absent default to 
false. - Example:
 
{ "alphas_mods": true, "breathing": true, "cycle_left_right": false }- A dictionary of effects to enable or disable. Effects which are absent default to 
 center_pointArray: Number- The centroid (geometric center) of the LEDs. Used for certain effects.
 - Default: 
[112, 32] 
defaultanimationString- The default effect. Must be one of 
rgb_matrix.animations - Default: 
"solid_color" 
- The default effect. Must be one of 
 onBoolean- The default enabled state.
 - Default: 
true 
hueNumber- The default hue value.
 - Default: 
0 
satNumber- The default saturation value.
 - Default: 
255 
valNumber- The default brightness level.
 - Default: 
max_brightness 
speedNumber- The default animation speed.
 - Default: 
128 
driverString Required- The driver to use. Must be one of 
aw20216s,custom,is31fl3218,is31fl3236,is31fl3729,is31fl3731,is31fl3733,is31fl3736,is31fl3737,is31fl3741,is31fl3742a,is31fl3743a,is31fl3745,is31fl3746a,snled27351,ws2812. 
- The driver to use. Must be one of 
 hue_stepsNumber- The value by which to increment the hue.
 - Default: 
8 
layoutArray: Object Required- List of LED configuration dictionaries. Each dictionary contains:
flagsNumber Required- A bitfield of flags describing the type of LED.
 
xNumber Required- The position of the LED in the horizontal axis, from 0 to 224.
 
yNumber Required- The position of the LED in the vertical axis, from 0 to 64.
 
matrixMatrix- The key matrix position associated with the LED.
 - Example: 
[0, 2] 
- Example: 
{"matrix": [2, 1], "x": 20, "y": 48, "flags": 2} 
 
- List of LED configuration dictionaries. Each dictionary contains:
 led_flush_limitNumber- Limits in milliseconds how frequently an animation will update the LEDs.
 - Default: 
16 
led_process_limitNumber- Limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness).
 - Default: 
(led_count + 4) / 5 
max_brightnessNumber- The maximum value which the HSV "V" component is scaled to, from 0 to 255.
 - Default: 
255 
react_on_keyupBoolean- Animations react to keyup instead of keydown.
 - Default: 
false 
sat_stepsNumber- The value by which to increment the saturation.
 - Default: 
16 
sleepBoolean- Turn off the LEDs when the host goes to sleep.
 - Default: 
false 
speed_stepsNumber- The value by which to increment the speed.
 - Default: 
16 
split_countArray: Number- For split keyboards, the number of LEDs on each half.
 - Example: 
[16, 16] 
timeoutNumber- The LED activity timeout in milliseconds.
 - Default: 
0(no timeout) 
val_stepsNumber- The value by which to increment the brightness.
 - Default: 
16 
Secure
Configures the Secure feature.
secureenabledBoolean- Enable the Secure feature.
 - Default: 
false 
idle_timeoutNumber- Timeout while unlocked before returning to the locked state. Set to 
0to disable. - Default: 
60000(1 minute) 
- Timeout while unlocked before returning to the locked state. Set to 
 unlock_sequenceArray: Matrix- A list of up to five matrix locations comprising the "unlock sequence".
 - Example: 
[[0, 0], [0, 1], [4, 3]] 
unlock_timeoutNumber- Timeout for the user to perform the unlock sequence. Set to 
0to disable. - Default: 
5000(5 seconds) 
- Timeout for the user to perform the unlock sequence. Set to 
 
Split Keyboard
Configures the Split Keyboard feature.
splitbootmagicmatrix- See Bootmagic config.
 
dip_switchrightpins- See DIP Switches config.
 
enabledBoolean- Enable the Split Keyboard feature.
 - Default: 
false 
encoderrightrotary- See Encoder config.
 
handednesspinPin- The GPIO pin connected to determine handedness.
 
matrix_gridArray: Pin- The GPIO pins of the matrix position which determines the handedness.
 - Example: 
["A1", "B5"] 
matrix_pinsright- See Matrix config.
 
serialdriverString- The driver to use. Must be one of 
bitbang,usart,vendor. - Default: 
"bitbang" 
- The driver to use. Must be one of 
 pinPin- The GPIO pin to use for transmit and receive.
 
soft_serial_speedNumber- The protocol speed, from 
0to5(serialtransport protocol only). - Default: 
1 
- The protocol speed, from 
 transportprotocolString- The split transport protocol to use. Must be one of 
custom,i2c,serial. 
- The split transport protocol to use. Must be one of 
 syncactivityBoolean- Mirror the activity timestamps to the secondary half.
 - Default: 
false 
detected_osBoolean- Mirror the detected OS to the secondary half.
 - Default: 
false 
hapticBoolean- Mirror the haptic state and process haptic feedback to the secondary half.
 - Default: 
false 
layer_stateBoolean- Mirror the layer state to the secondary half.
 - Default: 
false 
indicatorsBoolean- Mirror the indicator state to the secondary half.
 - Default: 
false 
matrix_stateBoolean- Mirror the main/primary half's matrix state to the secondary half.
 - Default: 
false 
modifiersBoolean- Mirror the modifier state to the secondary half.
 - Default: 
false 
oledBoolean- Mirror the OLED on/off status to the secondary half.
 - Default: 
false 
st7565Boolean- Mirror the ST7565 on/off status to the secondary half.
 - Default: 
false 
wpmBoolean- Mirror the current WPM value to the secondary half.
 - Default: 
false 
watchdogBoolean- Reboot the secondary half if it loses connection.
 - Default: 
false 
watchdog_timeoutNumber- The amount of time to wait for communication from the primary half in milliseconds.
 
usb_detectenabledBoolean- Detect USB connection when determining split half roles.
 
polling_intervalNumber- The polling frequency in milliseconds.
 - Default: 
10(10 ms) 
timeoutNumber- The amount of time to wait for a USB connection in milliseconds.
 - Default: 
2000(2 seconds) 
Stenography
Configures the Stenography feature.
stenographyenabledBoolean- Enable the Stenography feature.
 - Default: 
false 
protocolString- The Steno protocol to use. Must be one of 
all,geminipr,txbolt. - Default: 
"all" 
- The Steno protocol to use. Must be one of 
 
USB
usbdevice_versionString Required- A BCD version number in the format 
MM.m.r(up to99.9.9). - Example: 
"1.0.0" 
- A BCD version number in the format 
 pidString Required- The USB product ID as a four-digit hexadecimal number.
 - Example: 
"0x23B0" 
vidString Required- The USB vendor ID as a four-digit hexadecimal number.
 - Example: 
"0xC1ED" 
force_nkroBoolean- Force NKRO to be active.
 - Default: 
false 
max_powerNumber- The maximum current draw the host should expect from the device. This does not control the actual current usage.
 - Default: 
500(500 mA) 
no_startup_checkBoolean- Disable USB suspend check after keyboard startup.
 - Default: 
false 
polling_intervalNumber- The frequency at which the host should poll the keyboard for reports.
 - Default: 
1(1 ms/1000 Hz) 
shared_endpointkeyboardBoolean- Send keyboard reports through the "shared" USB endpoint.
 - Default: 
false 
mouseBoolean- Send mouse reports through the "shared" USB endpoint.
 - Default: 
true 
suspend_wakeup_delayNumber- The amount of time to wait after sending a wakeup packet, in milliseconds.
 - Default: 
0(disabled) 
wait_for_enumerationBoolean- Force the keyboard to wait for USB enumeration before starting up.
 - Default: 
false 
WS2812
Configures the WS2812 driver.
ws2812driverString- The driver to use. Must be one of 
bitbang,custom,i2c,pwm,spi,vendor. - Default: 
"bitbang" 
- The driver to use. Must be one of 
 pinPin Required- The GPIO pin connected to 
DIon the first LED in the chain (bitbang,pwm,spiandvendordrivers only). 
- The GPIO pin connected to 
 i2c_addressString- The I²C address of the WS2812 controller (
i2cdriver only). - Default: 
"0xB0" 
- The I²C address of the WS2812 controller (
 i2c_timeoutNumber- The I²C timeout in milliseconds (
i2cdriver only). - Default: 
100(100 ms) 
- The I²C timeout in milliseconds (
 rgbwBoolean- Enable RGBW LEDs.
 - Default: 
false