2018-05-06 19:27:47 +00:00
# QMK Features
QMK has a staggering number of features for building your keyboard. It can take some time to understand all of them and determine which one will achieve your goal.
2018-05-08 04:02:24 +00:00
* [Advanced Keycodes ](Advanced_Keycodes.md ) - Change layers, type shifted keys, and more. Go beyond typing simple characters.
2018-05-06 19:27:47 +00:00
* [Audio ](Audio.md ) - Connect a speaker to your keyboard for audio feedback, midi support, and music mode.
2018-05-08 04:02:24 +00:00
* [Auto Shift ](Auto_Shift.md ) - Tap for the normal key, hold slightly longer for its shifted state.
2018-05-06 19:27:47 +00:00
* [Backlight ](Backlight.md ) - LED lighting support for your keyboard.
* [Bootmagic ](Bootmagic.md ) - Adjust the behavior of your keyboard using hotkeys.
* [Dynamic Macros ](Dynamic_Macros.md ) - Record and playback macros from the keyboard itself.
* [Key Lock ](Key_Lock.md ) - Lock a key in the "down" state.
* [Layouts ](Layouts.md ) - Use one keymap with any keyboard that supports your layout.
* [Leader Key ](Leader_Key.md ) - Tap the leader key followed by a sequence to trigger custom behavior.
* [Macros ](Macros.md ) - Send multiple key presses when pressing only one physical key.
* [Mouse keys ](Mouse_Keys.md ) - Control your mouse pointer from your keyboard.
* [Pointing Device ](Pointing_Device.md ) - Framework for connecting your custom pointing device to your keyboard.
* [PS2 Mouse ](PS_2_Mouse.md ) - Driver for connecting a PS/2 mouse directly to your keyboard.
* [RGB Light ](RGB_Lighting.md ) - RGB lighting for your keyboard.
* [Space Cadet Shift ](Space_Cadet_Shift.md ) - Use your left/right shift keys to type parenthesis and brackets.
* [Space Cadet Shift Enter ](Space_Cadet_Shift_Enter.md ) - Combined Shift/Enter keys
* [Stenography ](Stenography.md ) - Put your keyboard into Plover mode for stenography use.
* [Tap Dance ](Tap_Dance.md ) - Make a single key do as many things as you want.
* [Terminal ](Terminal.md ) - CLI interface to the internals of your keyboard.
* [Thermal Printer ](Thermal_Printer.md ) - Connect a thermal printer to your keyboard to be able to toggle on a printed log of everything you type.
* [Unicode ](Unicode.md ) - Unicode input support.
* [Userspace ](Userspace.md ) - Share code between different keymaps and keyboards.