Configuration
The keyboard.toml
file
The keyboard file controls the capabileties of your keyboard.
There are two places where this file can be placed.
keyboards/my_keyboard.toml
:
for keyboards published in the repositoryuser/keyboard.toml
:
Your own independent configuration
If you compile with an predefined configuration keyboards/..
, but also provide a user
configuration,
their contents will be merged.
You can also use this to adjust official configurations to your taste.
Keyboard
These are the general device informations used for usb or bluetooth.
toml
# keyboard.toml
# keyboard device definition
[keyboard]
# your product id
# can be left at 0 for non commercial products
product_id = 0x0000
# your vendor id
# can be left at 0 for non commercial products
vendor_id = 0x0000
# The keyboards name
name = "My Keyboard"
# the keyboards manufacturer
manufacturer = "orbit Inc."
# What mcu/chip the keyboard is using
chip = "stm32f303cb"
INFO
A list of chips can be found here.
Settings
toml
# keyboard.toml
# keyboard settings
[settings]
# language specific keycodes
keycodes = "german"
# key debounce time frame in ms
debounce_time = 10
# default time for the hold behavior to activate in ms
hold_time = 180
# default time in between taps in ms
tapping_term = 220
Behaviors
This controls wich behaviors are enabled for your keyboard.
toml
# keyboard.toml
# which behaviors are active
[behaviors]
press = true
hold = true
Actions
This controls wich actions are enabled for your keyboard.
toml
# keyboard.toml
# which actions are active
[actions]
layers = true
mouse = true
Flavors
This controls wich flavors are enabled for your keyboard.
toml
# keyboard.toml
# which actions are active
[flavors]
space_cadet = true
Matrix
toml
# keyboard.toml
# if the keyboard uses a matrix
# NOTE: cant be defined together with [multiplexers]
[matrix]
# default false
analogue_read = true
row_count = 3
col_count = 12
row_pins = ["PA0", "PA1", "PA2"]
col_pins = ["PA3", "PA4", "PA5", "PA6", "PA8", "PA9", "PA10", "PA15", "PB0", "PB1", "PB2", "PB10"]
layout = [
[0,9], [0,1], [0,3], [0,4], [1,0], [1,1], [1,2], [1,5], [2,0], [2,1], [2,2], [2,4],
[0,8], [0,2], [0,5], [1,9], [1,8], [1,3], [1,4], [2,9], [2,8], [2,3], [0,6],
[0,7], [0,0], [1,5], [1,4], [1,3], [1,0], [2,6], [2,5], [2,3], [2,0], [0,3],
[0,2], [0,1], [0,1], [1,2], [1,1], [2,4], [2,2], [2,1],
]
Multiplexers
toml
# keyboard.toml
# if the keyboard uses multiplexers
# NOTE: cant be defined together with [matrix]
[multiplexers]
# default false
analogue_read = true
count = 3
channels = 16
sel_pins = ["PB3", "PB4", "PB6", "PB5"]
com_pins = ["PA13", "PA10", "PA9"]
layout = [
[0,9], [0,1], [0,3], [0,4], [1,0], [1,1], [1,2], [1,5], [2,0], [2,1], [2,2], [2,4],
[0,8], [0,2], [0,5], [1,9], [1,8], [1,3], [1,4], [2,9], [2,8], [2,3], [0,6],
[0,7], [0,0], [1,5], [1,4], [1,3], [1,0], [2,6], [2,5], [2,3], [2,0], [0,3],
[0,2], [0,1], [0,1], [1,2], [1,1], [2,4], [2,2], [2,1],
]
Lighting
toml
# keyboard.toml
[lighting]
driver = "wsqwe456"
per_key_rgb = "PA7"
underglow = ["PA8"]
Serial Wire Debug
toml
# keyboard.toml
# serial wire debug pin configuration
[swd]
swo = "PB2"
swclk = "PA14"
swdio = "PA15"