Documentation index
Before you look further, you probably want to start with our getting started guide
Basics
- Getting Started
 - Bluetooth HID: Connect keyboard to PC or mobile device using BLE
 - Configuring KMK
 - Porting to KMK: Creating a 
kb.pyfile for a board - Debugging
 - Keycodes: List of all available keycodes
 - Officially supported microcontrollers
 - Support
 
Advanced
- Flashing instructions
 - Handwiring: Resources helpful when handwiring a keyboard circuit
 - Keys: Technical explanation of key handling
 - Scanners: Setting up non-default key reading
 
Modules
- Layers: Adds layer support (Fn key) to allow many more keys to be put on your keyboard
 - ModTap: Adds support for augmented modifier keys to act as one key when tapped, and modifier when held.
 - Mouse keys: Adds mouse keycodes
 - OneShot: Adds support for oneshot/sticky keys.
 - Power: Power saving features. This is mostly useful when on battery power.
 - Split: Keyboards split in two. Seems ergonomic!
 - TapDance: Different key actions depending on how often it is pressed.
 
Peripherals
- ADNS9800: Controlling ADNS9800 optical sensor
 - Encoder: Handling rotary encoders
 - Pimoroni trackball: Handling a small I2C trackball made by Pimoroni
 
Extensions
- International: Adds international keycodes
 - LED: Adds backlight support. This is for monocolor backlight, not RGB
 - LockStatus: Exposes host-side locks like caps or num lock.
 - MediaKeys: Adds support for media keys such as volume
 - RGB: RGB lighting for underglow. Will work on most matrix RGB as will be treated the same as underglow.
 - Status LED: Indicates which layer you are on with an array of single leds.