Where Is the KMonad Config File?
KMonad loads a .kbd file given on the command line. Keep it in config home or dotfiles and pass the full path at launch.
Last updated
KMonad has no default config path. The .kbd file lives wherever you put it and is named on the command line at launch. Most users keep it in a dotfiles repo or a kmonad folder under config home, since it contains machine specific device paths.
The file must hold exactly one defcfg block naming input and output backends. Linux grabs a device file, Windows uses the low level hook, macOS names the keyboard. Input flags at launch can replace those lines for testing. Keep one file per keyboard when juggling several boards on one machine.
Where KMonad stores this, by platform
/home/<username>/.config/kmonad/config.kbd
Conventional home for the config. Passed as kmonad followed by this path. Device lines inside name your keyboard.
C:\Users\<username>\Documents\kmonad\config.kbd
Same flag driven layout on Windows. Full paths with quotes handle spaces in Documents folders.
/Users/<username>/.config/kmonad/config.kbd
Same arrangement on Mac with iokit input names. Keep one file per keyboard when juggling several boards.
Frequently asked questions
How do I start a KMonad config?
Copy the tutorial kbd from the repo docs and adjust the defcfg input line to your keyboard device. That file is runnable and teaches the syntax as it runs.
Can I override the keyboard without editing?
Pass device and output flags at launch to override the file. The FAQ documents the exact flag forms for swapping keyboards without editing.
Notice an outdated path? Let us know.