RMK provides an easy and accessible way to set up the keyboard with a toml config file, even without Rust code!
A toml file named keyboard.toml is used as the configuration file of RMK. The following is the spec of toml if you're unfamiliar with toml:
RMK provides a proc-macro to load the keyboard.toml at your projects root: #[rmk_keyboard], add it to your main.rs like:
And, that's it! The #[rmk_keyboard] macro would load your keyboard.toml config and create everything that's needed for creating a RMK keyboard instance.
If you don't want any other customizations beyond the keyboard.toml, #[rmk_keyboard] macro will just work. For the examples, please check the example/use_config folder.
The config file contains almost EVERYTHING to customize a keyboard. For the full reference of keyboard.toml, please refer to this doc. Also, we have pre-defined default configurations for chips, at rmk-config/src/default_config folder. We're going to add default configurations for more chips, contributions are welcome!
The following are the available tables and related documentaion available in keyboard.toml:
keyboard.toml